Pull to refresh

Comments 12

Самое странное: такой прекрасный чип, а кроме игрушек/розеток/датчиков на нём ничего дельного на рынке не присутствует... Первый вариант 8266 был безбожно глючный, счас вроде как исправились, но нет - кроме любителей альДурины пользовать этот чип желающих очереди особо не наблюдаются.

Вполне возможно, что всё из-за достаточно лёгкой перешиваемости модуля и отсутствия локов. Я вот точно не помню - а есть ли там хотя бы шифрование прошивки и хранение ключа в самом чипе. Если нет - вот и ответ, номер 1. Любой повторит схему и скопирует прошивку.

Проблема номер 2 - китайский разработчик МК. Соответственно в основном это будут сами китайцы разрабатывать на этих МК.

Жручесть данных МК, ещё. Хотя официально встречал ответ на форумах, что следующие МК будут уже на чём-то другом. Возможно или арм, или риск-в. Вот тогда, думается, может появиться интерес (особенно если риск-в)

В esp32 есть и Secure Boot, и шифрование прошивки, в esp8266 — нет

Вот как. Неплохо. Я ещё не добрался до 32, т.к. хватало мощности 8266. Но вот esp32-s2/3 хочу испробовать, т.к. хардварный usb.

А ещё очень похоже, что espressif подзабили на софтовую поддержку esp8266. По-идее в планах смержить его SDK с esp-idf, но сейчас он находится в каком-то лимбо с отдельным SDK, и неактуальными доками, но API похожим на esp-idf. Лучше к 8266 не лезть ИМХО

От использования esp8266 меня отталкивает их кривые фреймворки.
Ситуация: Ставим VSCode и муравья (PlatformIO). Выбираем платформу espressif8266, плату esp07 (их есть у меня - пылились на полочке одно время, купленые рублей по 80 пару лет назад), и начинаем играть с фреймворками.
> arduino - вроди бы собирается, но нет никаких подсказок в коде. Отлично. Serial и serial - разные вещи. Прекрасно. Попадается SERIAL. Хорошо, что редко. Запуск без WiFi вроди бы возможен, но непонятно как.
> Rath-HAL - присутствует, но не поддерживает данный чип. Почему тогда присутствует?
> esp8266-rtos-sdk - Отлично! Будем писать под RTOS! Спойлер: Нет. Пустой проект не собирается, т.к. не хватает каких-то исходников. Каких - не подсказывает.
> esp-idf? Фигушки. Он есть у производителя чипов, но просто так подсунуть его к VSCode не выходит. Шикарно.
> esp8266-nonos-sdk - Последний вариант из того, что компилится и работает. Пустой проект занимает 36% RAM и 61% ROM. Прекрасно. :\

Немногим ранее баловался с ESP32 в той же IDE.
Хочешь WiFi? Подключи вот эти файлы, сделай вот так. Обработка будет вот через эти функции.
Не хочешь WiFi? Не вопрос. При компиляции они не будут добавлены в эту прошивку.
Хочешь логи в консоль? Вот тебе функция, которая это делает. Она похожа на sprintf, только нужно указать какой тип сообщения отправляешь - лог, событие, ошибка и тому подобное. Вот примеры.
У тебя есть экран? Легко. Настрой шину, настрой пины, пиши как в память. DMA тебе в помощь.

Два контроллера разных поколений, а такая разница в кодовой базе.

Фреймворк 8266 IMHO, не просто кривой, он категорически непонятный. А вот в том, что касается Esp32, ситуация чуть лучше. Но, увы, не поддерживается ассемблер (китайцы сами не в теме, как это всё работает) А если очень хочется, то см. Xtensa Instruction Set Architecture. Архитектура 1997 года. Чуть не старше Дурины.

Короче, ситуация, действительно унылая. Но всё-таки... работает. И для сегмента DIY, более чем.

У меня в Eclipse проект компилируется но когда я нажимаю на Run получаю сообщение -

Exception occurred executing command line. Cannot run program "C:\cygwin64\bin\python" (in directory "D:\Workspace_Eclipse\agro_sense"): CreateProcess error=193, %1 is not a valid Win32 application

Почему то при Run он ищет путь в C:\cygwin64\bin\python и как изменить настройки я не нашёл.

Попробуйте Help->ESP-IDF Tool Manager->Install Tools. И укажите путь до Python явно. Должно сработать

Хм... мне кажется, что причина в том, что Вы поставили cygwin python.

https://github.com/ToraNova/esp32s2-usb2pppos/blob/master/setup.jpeg?raw=true

ESP32 ESP-IDF - это Eclipse + ESP IDF (Eclipse IDF for Esp-32).

Работает без глюков.

Ставьте эту связку. ESP32 dev board содержит не RGB Led, а Led ленту из 1-го RGB led, используйте пример led_strip из ESP-IDF.

S2-S3 - это USB поддержка, OTG и другие схемы питания.
Но! Есть пользователями и вовсе все забытые оба варианта USB TinyUSB т.к. первыми были кастом чипы и Arduino USB HID и др. устройства, реализовавшие это.

Также в разработке ESP32 (S2-S3) надо различать ESP-IDF Eclipse/VStudio (выбирается версия, под которую идёт компиляция S1,S2, S3, А также выделяется версия SDK - ESP-IDF имеет версию 4.2 - 4.3, приблизительно соответствует S2- S3.
) и Arduino, не совместимы программами:

Оригинальное - Eclipse ESP-IDF (VStudio):
https://github.com/ToraNova/esp32s2-usb2pppos оригинальный TinyUSB (https://docs.tinyusb.org/en/latest/ )
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/peripherals/usb_device.html

Признаки Arduino в коде:
esp32-hal.h - Arduino
arduino.h - Arduino

#if CONFIG_IDF_TARGET_ESP32S2
#if CONFIG_TINYUSB_ENABLED
common/tusb_common.h
tusb.h
soc/rtc_cntl_reg.h
soc/usb_struct.h
soc/usb_reg.h
soc/usb_wrap_reg.h
soc/usb_wrap_struct.h
esp32s2/rom/usb/usb_persist.h
esp32s2/rom/usb/usb_dc.h
esp32s2/rom/usb/chip_usb_dw_wrapper.h
hidusb.h Arduino :)
https://gist.github.com/brgaulin/2dec28baf5e9e11dfd7ef8354adf103d
https://github.com/chegewara/EspTinyUSB/blob/master/examples/device/hid/keyboard/keyboard.ino

Больше, к сожалению, для Arduino.

Можете подсказать, как то можно можно для IDF (Eclipse) добавить препроцессорное объявление, чтобы его видел весь проект?

Sign up to leave a comment.

Articles