Конструктор прошивки ESP32 Beta (updated: 23 Jun 2017, 15:38:22)

Описание Beta версии конструктора прошивки для  ESP32

На данный момент идет импорт опций из конструктора прошивки ESP8266.

Некоторые уже импортированные опции могут  не работать. Доступные опции можно увидеть на вкладке конструктора

Не проверенные опции:

SHT1x

ADC KEY

TSL2561

LM75

GPIO PCF8574

INA219

DS1621

TFT

RCswitch передатчик

WakeOnLan

Просьба сообщить через обратную связь работают ли  у Вас указанные выше опции.

Опции, имеющие проблемы или недоделки:

1wire ds18b20 (есть ошибки чтения)

DHT22/11( возможны ошибки чтения)

MQTT может работать не стабильно

Встроенные ADC пока не доступны в термостате

VirtualWire (не работает).

IR передатчик (пока только NEC и RAW - не проверено)

IR приемник (пока принимает только NEC)

RCswitch приёмник (не  стабильно работает)

Прошивка модуля

Прошивка осуществляется через Flash_download_tools

Необходимо собрать прошивку в конструкторе ESP32 и скачать все 3 файла на свой компьютер.

Далее указать согласно адресам путь к файлам.

Необходимо указать режим работы flash памяти DIO. В режиме QIO модули не работают, bootloader собран в режиме DIO.

Для загрузки прошивки необходимо GPIO 0 подтянуть к GND и нажать reset.

Готовые платы с USB-UART имеют на плате кнопку boot для включения режима прошивки(нужно зажать кнопку и запустить прошивку), а так же их не требуется перезапускать через reset. 

Запуск модуля.

Новый модуль должен автоматически запустить точку доступа вида ESPxxxx для режима Safe mode.

Safe mode так же можно запустить замыканием GPIO 18 и 19 и перезапуском модуля.

После подключения к точке доступа необходимо зайти через браузер по адресу 192.168.4.1 и настроить там параметры доступа к своему роутеру.

Обновление по OTA

Прошивка поддерживает OTA. При обновлении будет загружена прошивка по умолчанию.

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

Переразметка flash памяти

Переразметка позволяет увеличить максимальный размер секции OTA с 1024 кб до 1348 кб.

Запускается командой http://[ip адрес]/patchpartions , Необходимо чтобы была загружена OTA partion 1 , обновитесь по ОТА, чтобы была нужная секция.

Режим PRO

На данный момент прошивка работает без ограничений в PRO режиме до 1.07.17. Активация режима происходит при наличии интернета.

После внедрения режима PRO активные тестеры получат бесплатно ключи для продолжения тестов.

Отличие ESP32 от ESP8266.

1. Имеет на борту больше доступного ОЗУ примерно в 5 раз.

2. Возможно подключение по Ethernet.

3. Имеется на борту Bluetooth.

4. Больше доступных GPIO. 40 штук. (реально доступно где-то 26)

5. Доступно 8 АЦП .

6. Аппаратный ШИМ до 8 каналов !

7. Подключение до 10 сенсорных кнопок без дополнительного железа.

8. Процессор имеет 2 ядра частотой до 240мгц.

9. ESP32 имеет сверхнизкий режим потребления энергии , при котором может выполнятся какой либо код (пишется на ASM).

10. Разнообразные варианты пробуждения из спящего режима, в том числе из сверхнизкого потребления энергии или по состоянию GPIO.

Отладочная информация на UART порте

Через UART0 на скорости 115200 выводится отладочная информация модуля. Здесь видно все ошибки. При проблемах работы прошивки просьба сообщать эту информацию разработчику.


Распиновка выводов чипа ESP32

Тут не отображены GPIO 6-11 , использующиеся под SPI Flash память.

GPIO  20, 24, 28, 29 ,30, 31  не выведены на модулях и нигде не фигурируют в документации(?) 37 и 38 так же часто не доступны на модулях.

ADC2_CHx не доступны в SDK на данный момент. С учетом отсутствия GPIO 37 и 38 доступны всего 6 ADC.

GPIO 34 -39 доступны только на вход, на выход сконфигурировать вывод невозможно. Назначить выводы для I2C так же не получится.

GPIO15 и 14 не работают на выход - причины пока не выяснены.

Вывод модуля Имя Pin Описание
1 GND Земля
2 EN Разрешить работу чипа
3 SVP SENSOR_VP, GPIO36, ADC1_CH0, RTC_GPIO0
4 SVN SENSOR_VN, GPIO39, ADC1_CH3, RTC_GPIO3
5 IO34 GPIO34, ADC1_CH6, RTC_GPIO4
6 IO35 GPIO35, ADC1_CH7, RTC_GPIO5
7 IO32 GPIO32, 32K_XP (кварц 32,768 кГц), ADC1_CH4, TOUCH9, RTC_GPIO9
8 IO33 GPIO33, 32K_XN (кварц 32,768 кГц), ADC1_CH5, TOUCH8, RTC_GPIO8
9 IO25 GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6
10 IO26 GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7
11 IO27 GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17
12 IO14 GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK
13 IO12 GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ
14 IO13 GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, U0CTS
15 IO15 GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0, U0RTS
16 GND Земля
17 IO2 GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP
18 Io0 GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1
19 IO4 GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD
20 IO16 GPIO16, HS1_DATA4
21 3V3 3.3V
22 IO17 GPIO17, HS1_DATA5
23 IO5 GPIO5, VSPICS0, HS1_DATA6
24 IO18 GPIO18, VSPICLK, HS1_DATA7
25 IO23 GPIO23
26 IO19 GPIO19, VSPIQ, HS2_DATA2
27 IO22 GPIO22, VSPIWP, HS2_CLK
28 U0RX U0RXD, GPIO3, CLK_OUT2, HS2_DATA0
29 U0TX U0TXD, GPIO1, CLK_OUT3, HS2_DATA1
30 IO21 GPIO21, VSPIHD, HS2_CMD
31 GND Земля