Загрузка прошивки в устройство
Конечно самый простой способ это приобрести устройство с уже установленной прошивкой, проверенное и с гарантией - Вы можете это сделать в Нашем интернет-магазине store.1msmart.com.
... Но в каждом из Нас живет дух энтузиаста или просто желание что-то сделать дешевле своими руками.
На сегодняшний день все устройства в системе 1М работают на процессорах компании Espressif серии ESP82 (ESP8266 и ESP8285).
Эти процессоры построены на базе одного ядра, но имеют ряд принципиальных отличий, которые ограничивают использование прошивок.
Все прошивки можно загружать в любое из устройств на базе этих процессоров, основным ограничением является используются ли в прошивке порты GPIO9 и GPIO10 - данные порты доступны только в ESP8285.
Следующим на что обращаем внимание это флеш-память, где хранятся программа и данные для работы устройства.
ESP8266 не имеет встроенной флеш-памяти, она подключена по интерфейсу SPI в виде отдельной микросхемы (размер памяти варьируется от 1 Мбайта (8 Мбит) до 4 Мбайт (32 Мбита)) и это есть основным плюсом в выборе типа процессора или модуля.
ESP8285 имеет встроенную флеш-память, в основном на рынке присутствуют устройства с объемом 1 Мбайт, но производитель выпускает также процессоры и объемом 2 Мбайта.
Процесс загрузки прошивки представляет из себя подключение процессора через интерфейс последовательного порта к компьютеру и с помощью специальной программы выполнение операций записи, чтения и стирания данных флеш-памяти.
Разберем подробнее...
Для подключения к компьютеру необходимо специальное устройство USB-to-TTL. Существуют различные варианты этих устройств, но главный критерий это уровни сигналов на RX/TX должны быть около 3.3 В. Мы используем данное устройство на базе CH340G, у него удобно можно изменить уровень сигналов с помощью перемычки, а также раздельно выведено питание 3.3В и 5В.
- Устройство отключено от внешнего питания (220В, 24В, 12В, 5В...).
- USB-to-TTL подключен к ПК и настроен (установлены необходимые драйвера по необходимости). В системе у Вас появился последовательный порт COM (номер может быть любой, зависит от свободных в системе).
- На USB-to-TTL установлен уровень 3.3в и проверен с помощью мультиметра.
- Соединение логических портов выполняется по кроссовой схеме: RX(ПК) - TX(ESP), TX(ПК) - RX(ESP).
- Подключаем Gnd, RX, TX, Питание 3.3В используется для старта процессора.
- Особенностью прошивки процессоров ESP82 является определенное состояние некоторых его портов при подаче питания, мы не будем рассматривать все состояния (в готовых устройствах они все соблюдены) нас интересует только перевод процессора в режим доступа к флеш-памяти. Процессор переходит в режим доступа к флеш-памяти, если при подаче питания на порту GPIO0 подан низкий уровень или если просто он замкнут на землю (Gnd). ... Соединем GPIO0 (IO0) с Gnd (в некоторых устройствах с этим портом связана кнопка - Sonoff Basic, Sonoff POW ... - поэтому достаточно перед подачей питания зажать ее). Сохранять данное соединение в дальнейшем не нужно, оно необходимо только на старте - обычно 2-3 сек, но можно и не отключать пока Вы работаете с прошивкой.
- Подаем питание на ESP82 - обязательно ТОЛЬКО 3.3В. Можно в случае необходимости прошивать и с уровнями и питанием 5В, но есть риск выхода из строя процессора, поэтому не рекомендуем.
Для загрузки прошивок в устройства на базе ESP82 рекомендуем использовать программу от производителя Flash Download Tools.
При запуске программы сначала выбираем тип процессора.
После запускается основное приложение.
Отличие в настройке для ESP8266 и ESP8285 заключается в том, что для ESP8285 доступна только настройка объема флеш-памяти.
Обязательно!!!
- SpiAutoSet - не отмечен
- DoNotChgBin - не отмечен
- LOCK SETTINGS - не отмечен
ESP8266
В зависимости от типа флеш-памяти необходимо установить 2 параметра:
- SPI MODE
- FLASH SIZE
ESP8285
Никаких дополнительных настроек не нужно
Для ESP8266 важно правильно выбрать данные параметры (SPI MODE, FLASH SIZE).
SPI MODE влияет на вид доступа к флеш-памяти процессором, если он выбран неверно, то после загрузки прошивки она не будет работать.
FLASH SIZE влияет на корректность определения размера флеш-памяти самой прошивкой, неверный размер может привести к сбоям и некорректной работе прошивки и устройства.
В основном используются 2 типа DIO и DOUT, чтобы не разбираться какой тип использовать можно прошить в одном и проверить работу - устройство работает, прошивка обновляется, статистика открывается.
DOUT необходимо устанавливать для флеш-памяти типа PN25F08B.
Скорость связи (BAUD) можно устанавливать в максимум 921600, для уменьшения времени загрузки прошивки или стирания.
Выбираем файл прошивки <прошивка>.bin (кнопка с 3 точками), в поле после знака @ вводим 0x0000 (или просто 0) - адрес с которого будет записана прошивка.
В списке загружаемая прошивка отмечается галочкой и строка подсвечивается зеленым если файл доступен.
Обратите внимание на отсутствие кириллических символов в пути.
Процесс загрузки прошивки состоит из двух этапов:
- стирание памяти (кнопка ERASE)
- загрузка прошивки (кнопка START)
В начале каждого этапа необходимо перевести процессор в режим доступа к флеш-памяти.