
Getting Started: MicroPython sul NodeMCU
Molti progetti IoT (Internet of Thing) sono basati sul kit di sviluppo NodeMCU che è composto da un modulo transceiver a basso costo Wi-Fi ESP e da un micro-controllore (MC Unit) prodotto da Espressif Systems. NodeMCUNodeMCU è dotato di 4 MB di memoria flash per l'archiviazione di programmi e dati, quanto basta per parsare le response in formato json. Inoltre abbiamo abbiamo accesso a 11 pin GPIO e un pin convertitore analogico-digitale (ADC) con risoluzione a 10 bit. La scheda ha un regolatore di tensione integrato ed è possibile alimentare il modulo utilizzando la presa mini USB o il pin Vin. Step 1- Installare EsptoolEsptool è un'utility scritta in Python che permette al nostro computer di comunicare con il bootloader dei SoC ESP8266 e EPS32. Inoltre ci permetterà di leggere, cancellare (erase) o scrivere (write) la memoria del device dandoci quindi la possibilità di riprogrammarlo con altri firmware.
Adesso controlliamo la versione che abbiamo installato:
Step 2 - Erase Flash MemoryNodeMCU include il bridge controller CP2102, che converte il segnale USB in seriale (USB-to-UART) consentendoci di programmare e comunicare con il SOC ESP8266. Dobbiamo quindi installare su Windows 10 il driver CP210x USB to UART Bridge VCP scaricandolo dal sito web di Silicon Labs. Adesso su Windows 10 dobbiamo aprire la Gestione dispositivi (device manager) per trovare la porta COM su cui il device è stato riconociuto.
Dovremmo avere un output simile al seguente:
Dovremmo vedere il messaggio di operazione conclusa con successo:
Step 3 - Download del firmwareA questo punto, dobbiamo scaricare l’ultima versione stabile del firmware, stando attenti a selezionare la board giusta. Nel nostro caso è una board esp32 generica e la versione da me scaricata è la V1.17 rilasciata il 2 settembre 2021. Step 4 - Flash del firmwareUtilizzando Esptool è possibile caricare il firmware con MicroPython all’interno dell’ESP32 con il seguente comando:
L'output che comparirà sarà come il seguente:
Step 5 - ModulesIn un articolo precedente "Getting started: MicroPython" abbiamo visto che MicroPython mira ad essere il più compatibile possibile con Python, ma è progettato per funzionare su devices dalle risorse hardware limitate.
Tutte le versioni di MicroPython sono dotate di moduli per interagire con l'hardware, i pin GPIO, le periferiche e i componenti collegati tramite tali pin. Ad esempio i devices con funzionalità di rete, includeranno moduli per supportare queste funzionalità come WiFi, json, requests.
|