Съдържание:

Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: 3 стъпки (със снимки)
Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: 3 стъпки (със снимки)

Видео: Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: 3 стъпки (със снимки)

Видео: Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch: 3 стъпки (със снимки)
Видео: Как залить последнюю прошивку #MicroPython в #ESP8266 c помощью Thonny IDE? 2023 11 21 2024, Ноември
Anonim
Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch
Как да мигате фърмуера на MicroPython на базиран на ESP8266 Sonoff Smart Switch

Какво е Sonoff?

Sonoff е линия устройства за Smart Home, разработена от ITEAD. Едно от най -гъвкавите и евтини устройства от тази линия са Sonoff Basic и Sonoff Dual. Това са превключватели с Wi-Fi, базирани на страхотен чип, ESP8266. Докато инфраструктурата на Sonoff може да работи доста добре за основните потребители, други може да искат да проникнат в този хардуер и да стартират свой собствен код върху него. Хардуерът на Sonoff Smart Switches е невероятен, като се има предвид ниската му цена:

  • ESP8266 с 1MB флаш
  • 220V AC интегриран захранващ адаптер
  • 10A реле (или две в Sonoff Dual)
  • Вграден светодиод (или два в Sonoff Dual)
  • Вграден бутон

Ако искате да поемете пълен контрол над този хардуер, използвайки любимия си език за програмиране, този урок е за вас.

Стъпка 1: Хакване на хардуера

Хакване на хардуера
Хакване на хардуера
Хакване на хардуера
Хакване на хардуера
Хакване на хардуера
Хакване на хардуера

ESP8266 се програмира през серийния порт. И Sonoff Basic, и Sonoff Dual го имат на PCD.

Може да се наложи да запоите заглавка на щифт на печатната платка, за да свържете лесно USB-UART адаптер.

Стъпка 2: Подготовка за хакване на софтуера

Подготовка за хакване на софтуера
Подготовка за хакване на софтуера

Обичам Python, затова ще използвам фърмуера на MicroPython. Можете също да използвате всеки поддържан SDK. Нека да преминем към мигането на MicroPython вместо собствения фърмуер на Sonoff:

Инсталирайте пакета esptool python, който улеснява мигането на ESP8266:

pip install esptool

Изтеглете най -новия стабилен фърмуер на MicroPython от страницата за изтегляне на MicroPython. Свържете USB-UART адаптер към платката. За безопасност се препоръчва захранването на платката от адаптера вместо от 220V AC контакта. Обърнете внимание, че можете да използвате само 3.3V, ако свържете чипа ESP8266 към 5V източник на захранване, той ще умре.

Стартирайте ESP8266 в режим Flash. Можете да го направите, като издърпате щифта GPIO0, докато захранвате устройството:

  • На Sonoff Basic GPIO0 е просто бутонът. Свържете USB-UART адаптера към компютъра, докато държите бутона и сте в режим Flash.
  • На Sonoff Dual нещата са малко по -трудни. Трябва да късо съедините две подложки на печатната платка, докато захранвате платката. Необходимите подложки са показани на снимката по -горе. Използвайте пинсети или запоявайте малка жица между тях.

Когато ESP8266 е в режим Flash, светодиодът на платката не трябва да мига.

Уверете се, че имате достъп до серийния порт, отворен от 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 () # Проверка за успешна връзка # Промяна на име/парола на AP на 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.

Препоръчано: