Ako flashovať firmvér MicroPython na inteligentnom prepínači Sonoff na báze ESP8266: 3 kroky (s obrázkami)
Ako flashovať firmvér MicroPython na inteligentnom prepínači Sonoff na báze ESP8266: 3 kroky (s obrázkami)
Anonim
Ako flashovať firmvér MicroPython na inteligentnom prepínači Sonoff na báze ESP8266
Ako flashovať firmvér MicroPython na inteligentnom prepínači Sonoff na báze ESP8266

Čo je Sonoff?

Sonoff je rad zariadení pre Smart Home vyvinutý spoločnosťou ITEAD. Jedným z najflexibilnejších a najlacnejších zariadení z tejto rady sú Sonoff Basic a Sonoff Dual. Jedná sa o prepínače s podporou Wi-Fi založené na skvelom čipe ESP8266. Aj keď infraštruktúra Sonoff môže fungovať celkom dobre pre základných používateľov, iní môžu chcieť nabourať tento hardvér a spustiť na ňom vlastný kód. Hardvér inteligentných prepínačov Sonoff je úžasný, vzhľadom na jeho nízku cenu:

  • ESP8266 s 1 MB flash
  • Integrovaný napájací adaptér 220 V AC
  • 10A relé (alebo dve v Sonoff Dual)
  • Integrovaná LED dióda (alebo dve v Sonoff Dual)
  • Palubné tlačidlo

Ak chcete prevziať plnú kontrolu nad týmto hardvérom pomocou svojho obľúbeného programovacieho jazyka, tento návod je pre vás.

Krok 1: Hackovanie hardvéru

Hackovanie hardvéru
Hackovanie hardvéru
Hackovanie hardvéru
Hackovanie hardvéru
Hackovanie hardvéru
Hackovanie hardvéru

ESP8266 je programovaný cez sériový port. Sonoff Basic aj Sonoff Dual to majú na PCD.

Na ľahké pripojenie adaptéra USB-UART bude možno potrebné spájkovať kolíkový konektor na doske plošných spojov.

Krok 2: Príprava na napadnutie softvéru

Príprava na hacknutie softvéru
Príprava na hacknutie softvéru

Milujem Python, preto použijem firmvér MicroPython. Môžete tiež použiť akúkoľvek podporovanú súpravu SDK. Pokračujme v blikaní programu MicroPython namiesto patentovaného firmvéru Sonoff:

Nainštalujte balík esptool python, ktorý uľahčuje blikanie ESP8266:

pip install esptool

Stiahnite si najnovší stabilný firmvér MicroPython zo stránky na stiahnutie MicroPython. Pripojte adaptér USB-UART k doske. Z dôvodu bezpečnosti sa odporúča napájať dosku z adaptéra namiesto zásuvky 220 V AC. Všimnite si toho, že môžete používať iba 3,3 V, ak pripojíte čip ESP8266 k 5 V zdroju energie, zomrie.

Spustite ESP8266 v režime blesku. Môžete to urobiť potiahnutím kolíka GPIO0 nadol pri zapnutí zariadenia:

  • Na Sonoff Basic je GPIO0 jednoducho tlačidlo. Pripojte adaptér USB-UART k počítaču a súčasne podržte tlačidlo a ste v režime blesku.
  • Na Sonoff Dual sú veci o niečo ťažšie. Pri napájaní dosky musíte skratovať dve podložky na doske plošných spojov. Potrebné podložky sú uvedené na obrázku vyššie. Použite pinzetu alebo medzi nimi spájkujte malý drôt.

Keď je ESP8266 v režime blesku, dióda LED na doske by nemala blikať.

Zaistite, aby ste mali prístup k sériovému portu otvorenému pomocou adaptéra USB-UART. V systéme Linux je to pravdepodobne / dev / ttyUSB0, v systéme Mac by ste mali vo výstupe príkazu ls / dev / cu.* Alebo ls / dev / tty.* Hľadať niečo ako „usbserial“alebo „usbmodem“. V systéme Windows by to malo byť COM3 alebo vyššie. V prípade potreby nainštalujte ovládače adaptéra USB-UART.

Vymažte blesk pomocou esptoolu. V prípade potreby vymeňte /dev /ttyUSB0 za svoj port:

esptool.py --port /dev /ttyUSB0 erase_flash

Na prístup k sériovému portu bude možno potrebné spustiť esptool.py ako superužívateľa.

Krok 3: Bliká

Bliká
Bliká

Ak bolo vymazanie úspešné, vypnite napájanie dosky, znova spustite ESP8266 v režime blesku a aktualizujte firmvér:

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

Ak blikanie prebehlo úspešne, odpojte napájanie dosky, znova ju pripojte bez stlačenia tlačidla a otvorte sériový port v termináli. V systémoch Linux a Mac môžete použiť obrazovku /dev /ttyUSB0 115200 (v prípade potreby nahraďte /dev /ttyUSB0 za svoj port), v systéme Windows môžete použiť PuTTY (predvolená prenosová rýchlosť je 115200). Keď sa pripojíte, stlačte kláves Enter a ak uvidíte tri uhlové zátvorky shellu Python, všetko funguje!

>> >>> pomoc () Vitajte v MicroPythone! Online dokumenty nájdete na stránke https://docs.micropython.org/en/latest/esp8266/. Ak chcete zahrnúť diagnostické informácie do hlásení chýb, spustite príkaz „import port_diag“. Základná konfigurácia WiFi: import siete sta_if = network. WLAN (network. STA_IF); sta_if.active (True) sta_if.scan () # Vyhľadať dostupné prístupové body sta_if.connect ("", "") # Pripojiť sa k AP sta_if.isconnected () # Skontrolovať úspešné pripojenie # Zmeniť meno/heslo prístupového bodu ESP8266: ap_if = network. WLAN (network. AP_IF) ap_if.config (essid = "", authmode = network. AUTH_WPA_WPA2_PSK, heslo = "") Riadiace príkazy: CTRL-A-na prázdny riadok zadajte surový režim REPL CTRL- B-na prázdny riadok, zadajte normálny režim REPLAT CTRL-C-prerušte spustený program CTRL-D-na prázdny riadok, vykonajte mäkký reset dosky CTRL-E-na prázdny riadok, zadajte príkaz režim Ak potrebujete ďalšiu pomoc s konkrétnym objektom, zadajte príkaz help (obj) >>>

V nasledujúcom návode popíšeme, ako interagovať s platformou Cloud4RPi prostredníctvom protokolu MQTT.

Odporúča: