Taula de continguts:

Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: 3 passos (amb imatges)
Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: 3 passos (amb imatges)

Vídeo: Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: 3 passos (amb imatges)

Vídeo: Com fer flash el microprogramari MicroPython en un commutador intel·ligent basat en Sonoff ESP8266: 3 passos (amb imatges)
Vídeo: УРОК ПО MICROPYTHON | ЗАПУСКАЕМ ВЕБ СЕРВЕР НА ESP8266 #micropython #python #esp8266 2024, Desembre
Anonim
Com fer flash el microprogramari MicroPython en un commutador intel·ligent Sonoff basat en ESP8266
Com fer flash el microprogramari MicroPython en un commutador intel·ligent Sonoff basat en ESP8266

Què és Sonoff?

Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia són Sonoff Basic i Sonoff Dual. Es tracta de commutadors habilitats per a Wi-Fi basats en un gran xip, ESP8266. Tot i que la infraestructura de Sonoff pot funcionar força bé per als usuaris bàsics, és possible que altres vulguin piratejar aquest maquinari i executar-hi el seu propi codi. El maquinari dels interruptors intel·ligents de Sonoff és increïble, tenint en compte el seu baix preu:

  • ESP8266 amb flash de 1 MB
  • Adaptador de corrent integrat de 220 V CA.
  • Relé 10A (o dos a Sonoff Dual)
  • LED incorporat (o dos a Sonoff Dual)
  • Botó a bord

Si voleu controlar totalment aquest maquinari mitjançant el llenguatge de programació preferit, aquest tutorial és per a vosaltres.

Pas 1: piratejar el maquinari

Hacking del maquinari
Hacking del maquinari
Hacking del maquinari
Hacking del maquinari
Hacking del maquinari
Hacking del maquinari

ESP8266 es programa a través del port sèrie. Tant Sonoff Basic com Sonoff Dual el tenen al PCD.

És possible que hàgiu de soldar una capçalera de pin al PCB per connectar fàcilment un adaptador USB-UART.

Pas 2: Preparació per piratejar el programari

Preparació per piratejar el programari
Preparació per piratejar el programari

M’encanta Python, així que faré servir el microprogramari MicroPython. També podeu utilitzar qualsevol SDK compatible. Anem a parpellejar MicroPython en lloc del firmware propietari de Sonoff:

Instal·leu el paquet python esptool que facilita el flaixat de l’ESP8266:

pip instal·lar esptool

Descarregueu el darrer firmware estable de MicroPython des de la pàgina de descàrregues de MicroPython. Connecteu un adaptador USB-UART a la placa. Per seguretat, es recomana alimentar la placa des de l’adaptador en lloc de la presa de corrent altern de 220 V. Tingueu en compte que només podeu utilitzar 3,3 V, si connecteu el xip ESP8266 a una font d'alimentació de 5 V, morirà.

Arrencar ESP8266 al mode Flash. Podeu fer-ho tirant cap avall el pin GPIO0 mentre enceneu el dispositiu:

  • A Sonoff Basic, el GPIO0 és simplement el botó. Connecteu l'adaptador USB-UART al vostre PC mentre manteniu premut el botó i esteu en mode Flash.
  • A Sonoff Dual, les coses són una mica més difícils. Necessiteu un curtcircuit de dos coixinets a la placa mentre alimenteu la placa. Els coixinets necessaris es mostren a la imatge superior. Utilitzeu pinces o soldeu un petit filferro entre elles.

Quan l’ESP8266 està en mode Flash, el LED de la placa no hauria de parpellejar.

Assegureu-vos que podeu accedir al port sèrie obert per l’adaptador USB-UART. A Linux probablement sigui / dev / ttyUSB0, al Mac hauríeu de cercar alguna cosa com "usbserial" o "usbmodem" a la sortida de l'ordre ls / dev / cu. * O ls / dev / tty. *, A Windows hauria de ser COM3 o superior. Instal·leu els controladors de l'adaptador USB-UART si cal.

Esborreu el flaix amb l’esptool. Substituïu el fitxer / dev / ttyUSB0 del port si és necessari:

esptool.py --port / dev / ttyUSB0 erase_flash

És possible que hàgiu d'executar esptool.py com a superusuari per accedir al port sèrie.

Pas 3: intermitent

Parpellejant
Parpellejant

Si l’esborrat ha tingut èxit, talleu la potència de la placa, arreneu l’ESP8266 en mode Flash i torneu a encendre el firmware:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash --flash_size = detectar 0 esp8266-20170823-v1.9.2.bin

Si el parpelleig ha funcionat correctament, talleu l’alimentació de la placa, torneu-la a connectar sense prémer el botó i obriu el port sèrie d’un terminal. A Linux i Mac podeu utilitzar screen / dev / ttyUSB0 115200 (substituïu el / dev / ttyUSB0 per al vostre port si és necessari), al Windows podeu utilitzar PuTTY (la velocitat de transmissió per defecte és 115200). Un cop us connecteu, premeu Retorn i, si veieu tres claudàtors angulars de l'intèrpret d'ordres Python, tot funcionarà.

>> >>> help () Benvingut a MicroPython! Per obtenir documents en línia, visiteu https://docs.micropython.org/en/latest/esp8266/. Per obtenir informació de diagnòstic en els informes d'errors, executeu 'import port_diag'. Configuració bàsica de WiFi: importació de la xarxa sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Busqueu punts d'accés disponibles sta_if.connect ("", "") # Connecteu-vos a un AP sta_if.isconnected () # Comproveu si hi ha connexió correcta # Canvieu el nom / contrasenya de l'AP d'ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, password = "") Ordres de control: CTRL-A: en una línia en blanc, introduïu el mode REPL en brut CTRL- B - en una línia en blanc, introduïu el mode REPL normal CTRL-C - interrompeu un programa en execució CTRL-D - en una línia en blanc, feu un restabliment suau del tauler CTRL-E - en una línia en blanc, introduïu enganxa mode Per obtenir ajuda addicional sobre un objecte específic, escriviu help (obj) >>>

A la següent instrucció, descriurem com interactuar amb la plataforma Cloud4RPi mitjançant un protocol MQTT.

Recomanat: