Casualmente ho scoperto su internet l'esistenza di questo chip Cinese che offre la soluzione a basso costo per numerosissimi problemi di interconnessione tra "qualsiasi cosa" e la rete internet .
All'interno infatti sono presenti un set di istruzioni da inviare via protocollo seriale TTL ( a 3.3 volt ) che permettono di stabilire facilmente una connessione con la propria rete wireless e di aprire connessioni con protocolli di rete standar.. ma oltre a questo la MCU presente all'interno, offre:
Quindi oltre che da semplice interfaccia seriale>wifi, questo chip permette la scrittura di programmi autonomi che interfacciati a sensori di vario tipo, ingressi o uscite digitali ecc. , permettono la realizzazione di svariate apparecchiature .
Secondi me è quello che al 2015 mancava per rendere davvero low cost e possibile "l'Internet delle cose" .
Semplice progetto con ESP201Mi sono messo cosi a studiare questo chip che è usufruibile dagli hobbisti di elettronica grazie alla presenza sul mercato di numerose schedine di sviluppo sul quale è montato. Queste schedine usano o meno diverse GPIO del chip e quindi hanno costi e dimensioni diverse anche se in definitiva sono tutte compatibili l'una con le altre. Io ho scelto di acquistare la scheda denominata ESP-201 che è una delle piu' complete ma anche più care presenti sul mercato, ma dovendo sperimentare meglio avere a disposizione tutte le porte disponibili del chip., e comunque il costo si attesta a meno di 6 euro per ogni scheda.. quindi tutto sommato abbordabile. Arrivata la scheda ho provato ad alimentarla e connettarla ad un computer Raspberry PI che ha a disposizione una seriale TTL a 3.3V quindi perfettamente adatta per la scheda ESP201.
|
|||||
![]() |
|||||
Se non si ha a disposizione un Raspberry PI ( che pero visto il costo mi sento di suggerire come sistema di sviluppo da usare con le varie schede ESP ) si puo adottare un adattatore USB > seriale a 3.3 volt... Io comunque ho usato un Raspberry e quindi questo articolo descriverà questa soluzione di sviluppo.
Dato che la scheda ESP-201 viene offerta con il firmware originale ( che permette di interfacciarla al mondo esterno tramite comandi AT inviati via seriale ) io ho provveduto a flasharla con il firmware NodeMCU che permette di programmare la scheda usando un linguaggio simile al Python, chiamato 'Lua'. Prima di installare i tool necessari alla programmazione degli ESP con Raspberry, occorre installare su Rasperry, python e python serial nonchè Git che è un software per gestire i progetti open surce disponibili sul omonimo sito :
sudo apt-get install minicom sudo apt-get install python sudo apt-get install python-serial sudo apt-get install git
Sul raspberry sono andato nella directory di lavoro dell'utente PI : cd /home/pi e ho lanciato il comando per installare i file necessari al flash della ESP..
git clone https://github.com/themadinventor/esptool.git
Poi ho scaricato sul mio PC l'ultima versione del firmware di NodeMCU nella versione 'integer' disponibile da questo sito : https://github.com/nodemcu/nodemcu-firmware/releases/latest in particolare ho usato questa versione ,... : https://github.com/nodemcu/nodemcu-firmware/releases/tag/0.9.6-dev_20150704 ho posizionato il file scaricato nella directory /home/pi/esptool di Raspberry rinominandolo in integer.bin ( per semplicita ) Lanciandio infine questo comando si installa il firmware NodeMCU sulla scheda esp-201 :
sudo python esptool.py --port /dev/ttyAMA0 write_flash 0x00000 integer.bin
Per perrmettere tutto questo il raspberry deve essere connesso alla scheda ESP-201 in questo modo : Riferirsi allo schema a lato..
Inoltre sulla esp-201 occorre fare questi collegamenti ( riferirsi alla foto sotto ) :
In particolare il pin IO0 a massa seguito da un reset 'dice' al chip che deve predisporsi a ricevere il firmware. il pin chip_en a +3.3 attiva il chip e quindi deve essere sempre a 3.3 V idem per il pin IO15 che deve esere posto a massa nel normale funzionamento. Se si hanno difficoltà a seguire la mia guida si puo utilizzare questa che è più completa e comprende anche una versione per Windows .
Il mio primo progetto..
Una volta disponibile la scheda ESP-201 con il firmware NodeMCU ho provato a realizzare un circuito che leggesse la temperatura da un sensore DS1820 tramite il protocollo 1-wire , e inviasse il valore ad un server remoto ( emoncms.org), tramite la connessione alla mia rete wireless domestica. Oltre a questo il mio circuito doveva avere la possibilità di essere alimentato a batteria e quindi doveva consumare la minor corrente possibile.
Il risultato hardware è nello schema che si vede sotto.
|