четверг, 2 января 2020 г.

Два способа сохранить оригинальную прошивку на примере Sonoff basic


      Перед прошивкой любого устройства Sonoff сторонней прошивкой необходимо обязательно сохранить оригинальную.  Это связано с тем, что оригинальна прошивка привязана к уникальному ID устройства и позже, если Вы захотите вернуть родную прошивку, то просто залить другую с такого же устройства не получится.



Подключение Sonoff Basic к компьютеру

      Плата Sonoff Basic имеет разъем для перепрошивки. Его надо только распаять (припаять гребенку):




       Для соединения Sonoff с адаптером используется выводы Rx, Tx, GND и 3.3В. Причем Rx адаптера соединяется с Tx платы Sonoff, а Tx адаптера – соответственно с Rx платы Sonoff. 
Sonoff RX -> TX UART
Sonoff TX -> RX UART
Sonoff VCC -> 3.3V UART
Sonoff GND -> GND UART

       Также для прошивки Sonoff Basic необходимо при включении зажать кнопку (в этой модели она подключена на вход GPIO0). В других устройствах на ESP8266 нужно будет найти вывод GPIO0 и на время прошивки подключить его к «земле» (минусовому выводу питания).


Как узнать номер порта, к которому подключен Sonoff

1) В строке поиска вводим «Диспетчер устройств» и запускаем его:

2) В разделе «Порты (COM и LPT)» смотрим номер порта (в данном случае COM4)



Сохранение прошивки (1й способ)

       На ПК должен быть установлен esptool. Подключаем USB адаптер с подключенным Sonoff basic (кнопка должна быть зажата) к ПК. 
1)       Для начала проверим соединение и заодно опросим состояние платы. Для этого запускаем на компьютере командную строку и вводим следующее:
d:
cd D:\Soft\Python\Scripts
esptool.py.exe --port COM4 chip_id

      Если соединение произошло успешно, то увидим следующее:

 2)    Далее переподключаем (отключаем от ПК и подключаем снова) Sonoff Basic. Не забываем зажимать при подключении кнопку на Sonoff.
 3)    Далее в командной строке вводим:
esptool.py --port COM4 read_flash 0x00000 0x100000 backup_flash.bin
где COM4 - номер COM-порта (из диспетчера устройств)
0x00000 0x100000 - адрес и размер считываемой прошивки. В данном случае будет считан 1Мб (1024кб). Чтоб считать 2Мб – 0x200000, 4Мб – 0x400000 и т.д.
backup_flash.bin – имя файла, в который будет считана прошивка.
     После запуска команды будет запущен процесс сохранения прошивки:

4)    Если видите следующее сообщение – то процесс выполнен успешно:

Если же Вы получите сообщение A fatal error occurred: Corrupt data, expected 0x1000 bytes but received 0xXXX bytes, то необходимо заменить USB адаптер на другой. Проблема исчезнет.

5)     Прошивка сохранена. Найти ее можно в текущей папке (…\Python\Scripts).
При желании файл прошивки можно переименовать:





Сохранение прошивки (2й способ)

 1)    Скачиваем программу ReadFlash_ESP82XX.
Распаковываем в любое место на диске. Путь к папке не должен содержать кириллицы. После распаковки будет 2 файла:
esp_tool.exe и readflash_esp82XX.bat

2) Открываем файл readflash_esp82XX.bat для редактирования (правой кнопкой мышки щелкаем на файле и выбираем «Изменить».

3) Меняем номер порта на тот, к которому подключен Ваш USB адаптер с платой Sonoff Basic:

4) Сохраняем изменения в файле:

5) Запускаем файл readflash_esp82XX.bat. Появляется сообщение Connecting . connection established. После считывания прошивки окно закроется.

Готовая прошивка появится в папке Readflash_esp82XX:

6) Переименуем файл с прошивкой:




      Данные способы сохранения прошивок подходят для всех устройств, собранных на микроконтроллерах серии esp82XX. Разница только в объеме памяти (512кб – 4мб) и расположении выводов Rx, Tx, GPIO0, GND, 3.3в.

      О том как прошивать подобные платы будет рассказано в следующих статьях.

Комментариев нет:

Отправить комментарий