ESP8266 - omartek/linux_variePerLaboratorio GitHub Wiki

Table of Contents

ESP8266

Operazioni preliminari

Eseguire due volte (con ESP non collegato e collegato):

 ls /dev/tty*

e controllare la porta che si è aggiunta.

Installare esptool

 pip install esptool --user

Eseguire il comando:

 pc-minihp@pcminihp-EliteBook2530p:~$ esptool.py -p /dev/ttyUSB0 flash_id

per visualizzare le informazioni del modulo

 esptool.py v2.6
 Serial port /dev/ttyUSB0
 Connecting....
 Detecting chip type... ESP8266
 Chip is ESP8266EX
 Features: WiFi
 MAC: 84:f3:eb:b1:cb:70
 Uploading stub...
 Running stub...
 Stub running...
 Manufacturer: 20
 Device: 4016
 Detected flash size: 4MB
 Hard resetting via RTS pin...

Installazione di Micropyhon

Vedi guide di Adafruit

Scaricare l'ultimo firmware Micropython disponibile per ESP8266 da qui.

Cancellare il firmware esistente (verificare che la seriale sia proprio quella indicata):

 esptool.py --port ''/dev/ttyUSB0'' erase_flash

Eseguire l'upload del firmware:

 esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20190125-v1.10.bin

Accesso alla REPL

Digitare il comando seguente per accedere alla seriale:

 screen /dev/ttyUSB0 115200

Premendo invio comparirà il prompt:

 >>>
 >>>help()

Premere ctrl+a e :quit per uscire.

Se l'ESP non è collegato fisicamente al pc è possibile collegarsi tramite alla REPL tramite WiFi. Se il modulo non è collegato a nessuna rete creerà una propria rete con SSID Micropython* con passwordvmicropythoN. È necessario aver abilito la REPL via WiFi preventivamente essendosi collegati almeno una volta via seriale ed avendo eseguito il comando:

 import webrepl_setup

e avendo risposto alle domande proposte, tra cui l'inserimento della password. È possibile scaricare un client o utilizzare questo online. Estratto da questa guida di Adafruit.

Connessione alla rete WiFi

Dalla REPL seriale, eseguire i comandi:

 import network
 wlan = network.WLAN(network.STA_IF)
 wlan.active(True)
 wlan.connect('ssid', 'password')

e controllare l'assegnamento dell'indirizzo IP al modulo, con il comando:

 wlan.ifconfig()

Abilitare quindi la REPL per l'accesso attraverso la rete wireless locale:

 import webrepl
 webrepl.start()

Verrà cosí mostrato l'indirizzo assegnato al modulo e la relativa porta. Le impostazioni verranno salvate e il modulo si ricorderà dell'ultima rete a cui è stata connessa. Attenzione che se si sposta il dispositivo sarà necessario riconfigurarlo per consentire la connessione alle nuove rete WiFi disponibili.

Eventualmente aggiungere i comandi per la gestione della rete nel file /boot.py ed eseguire la configurazione facendo almeno un accesso da REPL seriale, per impostrare nome SSID e password.

Reset via WebREPL

Per resettare da riga di comando, eseguire:

 import machine
 machine.reset()
⚠️ **GitHub.com Fallback** ⚠️