Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
progetti:glavermi [2019/01/05 11:28] glavermiprogetti:glavermi [2023/10/11 18:42] (versione attuale) – eliminata glavermi
Linea 1: Linea 1:
-====== MicroPython ====== 
-Vuoi mettere in pausa Arduino e provare a scrivere qualche riga di codice sfruttando le potenzialità di python (micropython) direttamente sul tuo ESP8266 tenendolo collegato al router e inviando gli aggiornamenti OTA. 
  
-===== Materiali ===== 
-  * ESP8266 
-  * Cavetto usb 
-  * Qualche conoscenza di micropython -> python in versione light (per il resto c'è google) 
- 
-===== Inizio ===== 
-Siccome non ho inventato niente inserisco qui i link e un recap che mi hanno permesso di muovere i primi passi : 
- 
-**Introduzione :** 
-[[http://docs.micropython.org/en/latest/esp8266/tutorial/intro.html]] 
- 
-link al .bin (già compilato) -> si può anche compilare il firmware localmente (l'ho fatto ma perché dover fare più del necessario) 
-[[http://micropython.org/download#esp8266]] 
-[[http://micropython.org/resources/firmware/esp8266-20180511-v1.9.4.bin]] <- al momento ho utilizzato la versione 1.9.4 che ha preinstallato una serie di funzionalità molto comode (non attive però) che vedremo a breve. 
- 
-**Procediamo :** 
-  - puoi iniziare dal punto dell'introduzione -> pip install esptool (bisogna aver installato pip - gestore pachetti python). 
-questa è la versione che sto utilizzando (solo per riferimento) -> pip 18.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) 
-...i successivi passaggi (esptool.py --port /dev...) permetteranno di caricare il firmware su ESP8266 che hai collegato al PC. Segui le indicazioni specificando su quale /dev hai collegato l'ESP8266 (p.e. /dev/ttyUSB0) 
-  - adesso bisogna comunicare via seriale con il dispositivo -> io ho usato minicom (p.e. minicom -D /dev/ttyUSB0) 
-  - magicamente apparirà un simbolo "maggiore" >  altro non è che l'interprete python a cui possiamo dare in pasto comandi python 
-  - faccio subito un test > 5+5 &#9166;  dovrebbe restituire 10 
-  - se fai uno scan delle connessioni wifi troverai una nuova connessione che inizia con -> MicroPython- (però siccome non ti voglio perdere seguiremo la procedura che permette di associare la wifi del tuo router direttamente) e rendere disponibile l'interprete python a tutti quelli connessi sulla WIFI tramite l'indirizzo che verrà rilasciato dal DHCP - di default il firmware ha attivata la modalità STA_AP (Access Point) che può lavorare in combinata con la modalità STA_IF (tarmite il Router) 
- 
-Come dicevo prima riporto il link per un lettura più ricca di dettagli : 
- 
-[[http://docs.micropython.org/en/v1.9.3/esp8266/esp8266/tutorial/network_basics.html]] 
- 
-La procedura consiste nel passare all'interprete python alcune istruzioni per attivare la WIFI 
-doveroso il link [[http://docs.micropython.org/en/v1.9.3/esp8266/esp8266/tutorial/network_basics.html]] della documentazione ufficiale (che trovo ben strutturata)  
- 
-== Codice == 
-<code python> 
-import network 
-sta_if = network.WLAN(network.STA_IF) 
-sta_if.active(True) 
-sta_if.connect('<your ESSID>', '<your password>') 
-ap_if.ifconfig() 
-</code> 
- 
-l'ultima istruzione permetterà di conoscere qual'è l'ip che ha rilasciato il DHCP 
- 
-Importante (ci siamo quasi) prima di procedere abilitare il modulo webrepl necessario per connettersi con lo strumento web 
- 
-== Codice == 
-<code python> 
-import webrepl_setup 
-</code> 
- 
-(rispondi alle domande che propone l'interprete python) 
- 
- 
-adesso arriva la parte più interessante -> è arrivata l'ora di abbandonare la connessione seriale e quindi anche i "cavi"! 
- 
-Siccome questo è un recap passiamo alla modalità "tutto pronto" : 
- 
-[[http://micropython.org/webrepl/]] <- non servirà quindi installarlo localmente e lanciarlo p.e. con un server node.js oppure http-server - link al sorgente (ti servirà la sola pagina webrepl.html) [[https://github.com/micropython/webrepl]] 
- 
-a questo link troverai l'applicativo per acceddere tramite IP (che abbiamo scovato con il comando ap_if.ifconfig() nell'interprete python) 
- 
-[[ws://192.168.4.1:8266/]] di default viene proposto questo indirizzo per la modalità AP ma si può cambiare in p.e. 192.168.5.54 (dipende dal tuo DHCP) 
- 
- 
-== Git : == 
- 
- 
-[[https://git.mittelab.org/glavermi/ccalendar]] - Link al codice (fetch eventi da google calendar) 
- 
-Per chi volesse usare webrepl da **Android** e si fosse accorto che ne Chrome né altri browser sn compatibili c'è questo apk 
- 
-https://microcontrollerelectronics.com/sourcecode/micropython.apk 
  • progetti/glavermi.1546687681.txt.gz
  • Ultima modifica: 2019/01/05 11:28
  • da glavermi