Modulo ESP8266 ESP-01 Ultimo aggiornamento 21 maggio 2017 |
|
Descrizione del modulo ESP8266
Il Modulo Seriale Wi-Fi ESP8266 si basa sul chip ESP8266 prodotto dalla Espressif, si tratta di un SoC (system-on-a-chip) Wi-Fi integrato con un MCU a 32bit LX106, è un sistema adatto a fornire connettività Wi-Fi a schede come Arduino e simili ma e' possibile utilizzarlo direttamente per creare progetti IoT (Internet of Things) connessi alla rete. Come semplice modulo Wi-Fi è possibile gestirlo tramite comandi AT, in modo autonomo è programmabile con l'IDE Arduino in modo simile ad Arduino, in LUA, in Python e in C/C++.
Schema a blocchi dell'integrato ESP8266
Piedinatura dell'integrato ESP8266
Il chip ESP8266 è disponibile su varie schede denominate con la sigla da ESP-01 a ESP-13. In questa pagina è mostrato il più semplice lo ESP-01 con 8 pin, e che dispone di sole due porte di I/O, essendo abilitate a I2C possono essere comunque utilizzate con un port Expander come il MCP23017 .
Specifiche:
802.11 b/g/n
Wi-Fi Direct (P2P), soft-AP
Stack TCP/IP integrato
Integra lo switch TR, l'amplificatore RF e l'antenna
Integra un PLL, il regolatore e un circuito per il controllo della potenza
Potenza in uscita +19.5dBm in modo 802.11b
Corrente a riposo <10uA
La CPU a 32 bit può essere utilizzata per gestire contemporaneamente altre applicazioni
SDIO 1.1/2.0, SPI, UART
STBC, 1×1 MIMO, 2×1 MIMO
A-MPDU & A-MSDU aggregation & 0.4ms guard interval
Accensione e trasmissione < 2ms
Versione modulo ESP-01 con differente capacità di memoria
Adattatore breadboard per ESP-01
Il modulo ESP-01 fornisce l'accesso ai pin dell'ESP8266 attraverso un connettore maschio 2×4 con un passo di 0.1 ", la loro disposizione non è però adatta all'utilizzo con una Breadboard, i pin non sono poi etichettati sul PCB, per cui è scomodo il suo utilizzo. Per questo motivo è più comodo l'utilizzo di un adattatore (vedi sotto) con le etichette chiare stampati a lato dei pin.
Programmazione del modulo con l'IDE di Arduino
Il modulo ESP-01 (Figura 1) è in grado di connettersi a
Internet e di comunicare con altri dispositivi sulla rete. Non è richiesto alcun
IP o altre impostazioni. Questo dispositivo può funzionare da solo, dopo aver
caricato il codice o collegato alla scheda Arduino.
In questo progetto useremo la prima caratteristica, la gestione senza Arduino.
Per la sua programmazione utilizzeremo direttamente il computer, utilizzando
solamente sono un adattatore USB/TTL (Figura 2)
Modulo ESP-01 (Figura 1) | Adattatore USB-TTL (Figura 2) |
L'adattatore è necessario per assicurare la connessione USB al computer e convertire i segnali di livello TTL forniti dal PC a 3,3 volt, poiché ESP8266 supporta l'alimentazione e i segnali con un'ampiezza massima di 3,3 V. Il pinot del modulo e la connessione all'adattatore USB alla TTL-UART sono mostrati nella figura 3.
Schema per la programmazione - Figura 3
Questa configurazione sarà utilizzata solo per la programmazione dell'ESP 8266. Il pin GPIO deve essere collegato a GND.
Impostazione dell'IDE di Arduino
Per programmare il modulo utilizzeremo l'IDE di Arduino, per cui se non già installato occorrerà scaricare e installare l'ultima versione dal sito ufficiale (https://www.arduino.cc/en/main/software ).
A questo punto dovremmo aggiungere le informazioni per le schede ESP8266 all'Arduino. Per cui aperto l'IDE di Arduino, andare al menu File -> Impostazioni -> URL aggiuntive per il Gestore schede, l'indirizzo da inserire è indicato nella (Figura 4).
Inserimento URL aggiuntiva per gestione modulo - Figura 4
Occorre ora inserire la libreria ESP. Andare al menu Sketch -> #Include Libreria -> Gestione libreria e aggiungere la libreria di ESP8266 nell'IDE di Arduino (Figura 5).
Gestione libreria - Figura 5
Nel tipo pop-up di tipo ESP8266 e premere installare. La finestra sarà simile alla Figura 6.
Installazione delle librerie per ESP8266 - Figura 6
Per impostare la scheda ESP8266, andare al menu Strumenti -> Scheda -> Gestione schede (Figura 7)
Gestione schede - Figura 7
Quando apparirà la scheda Gestore schede digitare ESP8266 e installare i driver (figura 8)
Installazione driver schede - Figura 8
A questo punto tornare al menù Strumenti -Gestore schede ... quindi scegliere Generic ESP8266 Module, (Figura 9).
Selezione scheda ESP generica - Figura 9
Nota: in caso di errore vedere questo post https://forum.arduino.cc/index.php?topic=461880.0
Per il test del modulo
ESP-01 utilizzeremo
Blynk (Figura 10) che è un’applicazione o meglio un freamework che consente mediante
dispositivi mobili (Android o iOS) e utilizzando un sistema completamente grafico
la realizzazione dei propri widget permettendo ad esempio l’azionamento via
Wi-Fi
di dispositivi di dispositivi di domotica o di automazione industriale, è
possibile anche rilevare grandezze fisiche esterne (temperatura, umidità,
luminosità, ect) e visualizzarle direttamente sul vostro dispositivo mobile.
Blynk può interagire con molte piattaforme Arduino o Raspberry Pi se
connessi ad una Wi-Fi o a moltissimi dispositivi basati su ESP8266, modulo Wi-Fi
dotato di Input/Output General Purpose e processore ARM. Attualmente sono
disponibili una grande quantità di board basate su ESP identificate tutti da un
ID da ESP-01 a ESP-13, la differenza tra una scheda sono date
dalla quantità di memoria disponibile, il numero di GPIO e il tipo di antenna
WiFi.
L'uso dell'applicazione prevede due parti:
Istallazione dell'APP nel proprio smartphone
Scaricamento e installazione della libreria da inserire nell'IDE di Arduino per la programmazione del modulo
App Blynk - Figura 10
Installazione dell'APP nel proprio smartphone
Scaricare e installare l'applicazione per il proprio
modello di smartphone (Android o IPhone) dal link:
http://www.blynk.cc/getting-started/
Aprire l'applicazione, creare il proprio account, inserendo la propria e-mail e
password, registrarsi ed accedere.
A questo punto si potrà ricevere un Auth Token che è un codice di
autenticazione, necessario per connettere la app Blynk App al proprio hardware.
Per fare questo si dovrà creare un nuovo progetto. Quindi si sceglierà la scheda
e la connessione che si utilizzerà, nel nostro caso ESP8266, dopo che il
progetto sarà creato, il programma invierà il Token di autenticazione per posta
elettronica, successivamente completeremo il programma.
Scaricamento e installazione libreria Blynk
Scaricare e installare la libreria Blynk si accederà al
link
https://github.com/blynkkk/blynk-library/releases/tag/v0.4.7
Una volta scaricata la libreria in formato zip si dovrà andare al menu Sketch ->
#Include Libreria -> Aggiungi libreria da file .ZIP e aggiungere la libreria
appena scaricata (Figura 11).
Installazione libreria Blynk - Figura 11
Se tutto è andata a buon fine si potrà trovare la nuova libreria sotto File -> Esempi -> Blink (Figura 12)
Localizzazione Libreria Blynk - Figura 12
Programmazione del modulo ESP-01
Colleghiamo la scheda ESP8266 al computer come mostrato in figura 13
Schema collegamento - Figura 13
Caricare il codice, utilizzando quello che si trova sotto File> Esempi> Blynk> Boards_WiFi> ESP8266_Standalone, (Figura 14).
Programma di test - Figura 14
All'interno del programma occorrerà:
Inserisci il proprio codice char auth [] = "YourAuthToken"
ricevuto via e-mail;
Immettere il nome char ssid[] = "YourNetworkName" e la password
char pass[] = "YourPassword" del proprio router Wi-Fi.
|
Dopo aver caricato il codice, si potrà modificare lo schema dei collegamenti come riportato nella figura 15. Ora siamo pronti a ricevere comandi dallo smartphone.
Modulo ESP-01 | Adattatore per modulo ESP-01 |
Modulo KY-016 | Breadboard |
Convertitore DC-DC uscita 3,3V | Cavetti per Breadboard di vari colori |
Schema di collegamento per il test - Figura 15
Impostazione dell'applicazione Blynk
Si aprirà il programma creato e si andrà nella Widget Box,
si selezioneranno due pulsanti e si trascinano nel proprio sketch di lavoro.
Si collegano i pulsanti a GP0 e GP2, quindi si avvierà l'applicazione cliccando
sul triangolo in alto a destra.
Se l'ESP-01 è in rete,
ogni volta che spingiamo o scorriamo il widget del pulsante sullo smartphone,
accenderemo i led corrispondenti sulla scheda ESP.
Elenco revisioni |
|
21/05/2017 |
Emissione preliminare |