Оглавление:

Как прошить микропрограмму MicroPython на интеллектуальном коммутаторе Sonoff на базе ESP8266: 3 шага (с изображениями)
Как прошить микропрограмму MicroPython на интеллектуальном коммутаторе Sonoff на базе ESP8266: 3 шага (с изображениями)

Видео: Как прошить микропрограмму MicroPython на интеллектуальном коммутаторе Sonoff на базе ESP8266: 3 шага (с изображениями)

Видео: Как прошить микропрограмму MicroPython на интеллектуальном коммутаторе Sonoff на базе ESP8266: 3 шага (с изображениями)
Видео: УРОК ПО MICROPYTHON | ЗАПУСКАЕМ ВЕБ СЕРВЕР НА ESP8266 #micropython #python #esp8266 2024, Ноябрь
Anonim
Как установить прошивку MicroPython на смарт-коммутатор Sonoff на базе ESP8266
Как установить прошивку MicroPython на смарт-коммутатор Sonoff на базе ESP8266

Что такое Сонофф?

Sonoff - это линейка устройств для Умного дома, разработанная ITEAD. Одними из самых гибких и недорогих устройств из этой линейки являются Sonoff Basic и Sonoff Dual. Это переключатели с поддержкой Wi-Fi, основанные на отличном чипе ESP8266. Хотя инфраструктура Sonoff может работать достаточно хорошо для обычных пользователей, другие могут захотеть взломать это оборудование и запустить на нем свой собственный код. Аппаратное обеспечение Sonoff Smart Switches просто потрясающее, учитывая его невысокую цену:

  • ESP8266 с флэш-памятью 1 МБ
  • Встроенный адаптер питания 220 В переменного тока
  • Реле 10А (или два в Sonoff Dual)
  • Встроенный светодиод (или два в Sonoff Dual)
  • Встроенная кнопка

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

Шаг 1. Взлом оборудования

Взлом оборудования
Взлом оборудования
Взлом оборудования
Взлом оборудования
Взлом оборудования
Взлом оборудования

ESP8266 программируется через последовательный порт. И Sonoff Basic, и Sonoff Dual имеют его на PCD.

Возможно, вам придется припаять контактный разъем на печатной плате, чтобы легко подключить адаптер USB-UART.

Шаг 2: Подготовка к взлому программного обеспечения

Подготовка к взлому программного обеспечения
Подготовка к взлому программного обеспечения

Мне нравится Python, поэтому я собираюсь использовать прошивку MicroPython. Вы также можете использовать любой поддерживаемый SDK. Приступим к прошивке MicroPython вместо проприетарной прошивки Sonoff:

Установите пакет python esptool, который упрощает перепрошивку ESP8266:

pip install esptool

Загрузите последнюю стабильную прошивку MicroPython со страницы загрузок MicroPython. Подключите к плате переходник USB-UART. В целях безопасности рекомендуется питать плату от адаптера, а не от розетки 220В переменного тока. Обратите внимание, что вы можете использовать только 3,3 В, если вы подключите чип ESP8266 к источнику питания 5 В, он умрет.

Загрузите ESP8266 в режим Flash. Вы можете сделать это, потянув вниз контакт GPIO0 при включении устройства:

  • На Sonoff Basic GPIO0 - это просто кнопка. Подключите адаптер USB-UART к компьютеру, удерживая кнопку, и вы находитесь в режиме Flash.
  • На Sonoff Dual дела обстоят немного сложнее. Вам нужно замкнуть две контактные площадки на печатной плате во время подачи питания на плату. Необходимые прокладки показаны на картинке выше. Воспользуйтесь пинцетом или припаяйте между ними небольшую проволоку.

Когда ESP8266 находится в режиме вспышки, светодиод платы не должен мигать.

Убедитесь, что у вас есть доступ к последовательному порту, открытому адаптером USB-UART. В Linux это, вероятно, / dev / ttyUSB0, на Mac вы должны искать что-то вроде «usbserial» или «usbmodem» в выводе команды ls / dev / cu. * Или ls / dev / tty. *, В Windows это должно быть COM3 или выше. При необходимости установите драйверы адаптера USB-UART.

Сотрите вспышку с помощью esptool. При необходимости замените / dev / ttyUSB0 на свой порт:

esptool.py --port / dev / ttyUSB0 erase_flash

Возможно, вам потребуется запустить esptool.py от имени суперпользователя для доступа к последовательному порту.

Шаг 3: мигает

Мигает
Мигает

Если стирание прошло успешно, отключите питание платы, снова загрузите ESP8266 в режиме Flash и прошейте прошивку:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = обнаруживать 0 esp8266-20170823-v1.9.2.bin

Если перепрошивка прошла успешно, отключите питание платы, подключите ее снова, не нажимая кнопку, и откройте последовательный порт в терминале. В Linux и Mac вы можете использовать screen / dev / ttyUSB0 115200 (при необходимости замените / dev / ttyUSB0 на свой порт), в Windows вы можете использовать PuTTY (скорость передачи по умолчанию - 115200 бод). После подключения нажмите Enter, и если вы увидите три угловые скобки оболочки Python, значит, все работает!

>> >>> help () Добро пожаловать в MicroPython! Для получения интерактивной документации посетите https://docs.micropython.org/en/latest/esp8266/. Для включения диагностической информации в отчеты об ошибках выполните import port_diag. Базовая конфигурация WiFi: импортировать сеть sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Сканировать доступные точки доступа sta_if.connect ("", "") # Подключиться к AP sta_if.isconnected () # Проверить успешное подключение # Изменить имя / пароль точки доступа ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Команды управления: CTRL-A - в пустой строке ввести режим прямого REPL CTRL- B - на пустой строке войти в обычный режим REPL CTRL-C - прервать запущенную программу CTRL-D - на пустой строке сделать мягкий сброс платы CTRL-E - на пустой строке ввести вставить mode Для получения дополнительной справки по конкретному объекту введите help (obj) >>>

В следующем руководстве мы опишем, как взаимодействовать с платформой Cloud4RPi через протокол MQTT.

Рекомендуемые: