MicroPython: Programowanie ESP32 i ESP8266 przez WiFi. WebREPL

Źródło: https://youtu.be/10Y89xaVkqw
oraz OwocowaAda: Access WebREPL

Wgrywamy flash do ESP8266 i ESP32

  • Otwieramy TERMINAL (MacOS)
  • Jeśli nie mamy zainstalowanego esptool instalujemy:
    • sudo easy_install esptool
  • Podłączamy płytkę kablem do portu USB
  • Sprawdzamy na jakim porcie się zameldowała:
    • ls /dev/cu.*
    • u mnie dla ESP8266 wyświetlił się adres: /dev/cu.usbserial-2231140
      U was na pewno będzie inny
  • Skoro mamy dostęp możemy na płytce wymazać istniejący flash:
    • esptool.py --port /dev/cu.usbserial-2231140 erase_flash
      pamiętamy o zmianie portu
  • Następnie ładujemy flash z obowiązującą dla płytki wersją Micropython: https://micropython.org/download/esp8266/
    Żeby nie wpisywać kilometrowego adresu zmieniamy katalog na ten w którym przechowujemy flash. U mnie:
    • cd /Users/minimj/Documents/Arduino/VSC_MicroPython/_ADDS/flash
  • Teraz możemy załadować nowy flash. U mnie dla ESP8266:
    • esptool.py --port /dev/cu.usbserial-2231140 --baud 460800 write_flash --flash_size=detect 0 esp8266-20220618-v1.19.1.bin
  • Dla ESP32 dodatkowe informacje tu:

Instalowanie WebREPL dla ESP8266

  • Otwieramy panel WiFi w komputerze i znajdujemy sieć naszego ESP8266. U mnie wygląda tak:
    • MicroPython-f809c3
    • Logujemy się do sieci. Hasło to: micropythoN
  • Pobieramy folder WebREPL z github-a:
    • git clone https://github.com/micropython/webrepl.git
  • Wchodzimy do katalogu webrepl (cd webrepl)i uruchamiamy plik webrepl.html
    • open webrepl.html
  • W przeglądarce otworzy się zakładka z oknem:
  • Jeśli nie ma adresu należy wpisać: ws://192.168.4.1:8266/
  • Teraz po wciśnięciu przycisku Connect powinniśmy się połączyć z urządzeniem. Jeśli się nie udaje należy wrócić do TERMINAL-a i wpisać komendę:
    • screen /dev/cu.usbserial-2231140 115200
      /oczywiście podmieniamy kanał usb na własny/
  • Powinno się otworzyć okno z informacją:
    • MicroPython v1.19.1 on 2022-06-18; ESP module with ESP8266
      jeśli nie, warto zresetować moduł. Jesteśmy wewnątrz płytki, możemy pisać program
  • Wpisujemy linijkę:
    • import webrepl_setup
zrzut z okna przeglądarki
  • Wpisujemy nowe hasło, potwierdzamy, dostajemy info:
    • Changes will be activated after reboot
      Would you like to reboot now? (y/n)
  • Oczywiście wpisujemy y
  • Teraz jeśli wrócimy do przeglądarki i przyciśniemy Connect w oknie programu pojawi się:
    • Welcome to MicroPython!    
      Password: 
  • Wpisujemy nowe hasło i dostajemy informację: WebREPL connected. To oznacza, że jeśli odłączymy płytkę od komputera, to nadal będzie do niej dostęp przez WiFi i WebREPL

WebREPL dla ESP32

Tu już nie jest tak prosto jak dla ESP8266. Lepiej posłużyć się edytorem Thonny.
Thonny to całkiem sprytne narzędzie dzięki któremu możemy wgrać do płytki flash, łączyć się z nią przez port USB jak i korzystając z WebREPL. Jedna ważna różnica jest taka, że zanim uruchomimy WebREPL musimy do pliku boot.py wpisać następujący kod:

import webrepl
import credentials

def connect():
    import network
    sta_if = network.WLAN(network.STA_IF)
    if not sta_if.isconnected():
        print('connecting to network...')
        sta_if.active(True)
        sta_if.connect(credentials.WIFI_SSID, credentials.WIFI_PASSWORD)
        while not sta_if.isconnected():
            pass
    print('network config:', sta_if.ifconfig())

def showip():
    import network
    sta_if = network.WLAN(network.STA_IF)
    print('network config:', sta_if.ifconfig())

connect()
webrepl.start()

Następnie odczytujemy IP płytki, które wpisujemy w preferencjach….. cdn.


LINKI:

Dodaj komentarz