Tutorial App Blynk e ESP8266


Ciao!

Se stai cercando un modo semplice per entrare nell'"Internet of Things" probabilmente questo è il modo giusto.
Infatti grazie all'app "Blynk" ed al modulo ESP8266 creeremo, in pochi step, un dispositivo connesso ad internet controllabile dal nostro smartphone.

Cominciamo subito, per prima cosa dovrete scaricare "Blynk" da Google Play o dall'App Store.
Poi aprite l'app, registratevi e create un nuovo progetto simile a questo:




Per inserire il "Button" cliccare sul "+" in alto a destra.
Poi cliccate sul simbolo con il "bullone" e nel campo "devices" aggiungete la ESP8266, tipo di connessione "WIFI". Sotto "Auth Tokens" premete su "Email all", riceverete una mail che vi servirà in seguito.

Tornate nel vostro progetto e cliccate sul "Button", dovete associarlo alla porta "GP2" in questo modo:





Così facendo abbiamo creato uno switch virtuale nella nostra app, azionando lo switch andremo a commutare lo stato della porta (GPIO2 in questo caso) del nostro ESP8266.





Ora non ci resta che realizzare il circuito:



Sembra un po confusionario lo ammetto, ecco uno schema più comprensibile:





Ci sono delle considerazioni da fare riguardo al circuito sopra:
  • Al posto del programmatore FTDI potete usare una scheda Arduino (i collegamenti sono gli stessi, pin TX, RX, 5V e GND)
  • Il modulo ESP8266 richiede una tensione di 3.3V, ed ha dei picchi di assorbimento di alcune centinaia di mA, in generale l'uscita 3.3V di Arduino non è sufficiente a garantire buona stabilità al modulo. Per questo motivo ho utilizzato una batteria al litio (3.7v nominali) con un diodo per abbassarne la tensione a circa 3/3.3v.
  • Il convertitore USB/TTL, o l'Arduino, hanno un livello logico di 5v sui pin TX e RX, l'ESP8266 ha un livello logico di 3.3v. Per questo è fortemente consigliato l'uso del level shifter.



Passiamo ora al lato "programmazione".

Per prima cosa dovete rendere l'IDE di Arduino compatibile con l'ESP8266, per farlo dovrete andare in "file", "impostazioni" e scrivere il seguente indirizzo a fianco di "URL aggiuntivo per il Gestore schede"

           http://arduino.esp8266.com/stable/package_esp8266com_index.json

ora aprite il "gestore schede" dal menu "strumenti", "scheda".




Scrivete nel campo di ricerca "esp8266" ed installate la scheda:



Ora scaricate ed installate le librerie che trovate a questo link, dopo aprite il vostro Arduino e incollate il codice che trovate qui sotto. 
Alla riga 34, dopo "char auth[] =" cancellate le "xxxxx" ed inserite il codice che avete ricevuto prima via mail. Inserite anche alle righe 38 e 39, nome e password della vostra rete wifi.

Selezionate come scheda "Generic ESP8266 Module" e caricate il codice.


  1. /**************************************************************
  2.  * Blynk is a platform with iOS and Android apps to control
  3.  * Arduino, Raspberry Pi and the likes over the Internet.
  4.  * You can easily build graphic interfaces for all your
  5.  * projects by simply dragging and dropping widgets.
  6.  *
  7.  *   Downloads, docs, tutorials: http://www.blynk.cc
  8.  *   Blynk community:            http://community.blynk.cc
  9.  *   Social networks:            http://www.fb.com/blynkapp
  10.  *                               http://twitter.com/blynk_app
  11.  *
  12.  * Blynk library is licensed under MIT license
  13.  * This example code is in public domain.
  14.  *
  15.  **************************************************************
  16.  * This example runs directly on ESP8266 chip.
  17.  *
  18.  * Note: This requires ESP8266 support package:
  19.  *   https://github.com/esp8266/Arduino
  20.  *
  21.  * Please be sure to select the right ESP8266 module
  22.  * in the Tools -> Board menu!
  23.  *
  24.  * Change WiFi ssid, pass, and Blynk auth token to run :)
  25.  *
  26.  **************************************************************/
  27. #define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
  28. #include <ESP8266WiFi.h>
  29. #include <BlynkSimpleEsp8266.h>
  30. // You should get Auth Token in the Blynk App.
  31. // Go to the Project Settings (nut icon).
  32. char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
  33. // Your WiFi credentials.
  34. // Set password to "" for open networks.
  35. char ssid[] = "xxxxxxxxx";
  36. char pass[] = "xxxxxxxxx";
  37. void setup()
  38. {
  39.   delay(5000);
  40.   Serial.begin(9600);
  41.   Blynk.begin(auth, ssid, pass);
  42. }
  43. void loop()
  44. {
  45.   Blynk.run();
  46. }


Dopo aver effettuato il caricamento scollegare il cavo tra il pin "GPIO 0" e GND. A questo punto riaprite l'app Blynk, aprite il vostro progetto e cliccate sulla freccia in alto a destra. Cliccando sul simbolo con il microprocessore potrete vedere se il vostro ESP8266 è corretteamente online.

Se è andato tutto a buon fine cliccando sul pulsante virtuale il vostro led si accenderà.

Questo è tutto, se avete domande lasciate un commento qui sotto!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!

6 commenti:

  1. Salve
    alla fine parla di scollegare i pin "GPIO 0" e GND ma non accenna quando collegarli e perchè, può chiarire per cortesia?

    RispondiElimina
    Risposte
    1. Ciao, il GPIO_0 va portato a GND prima di alimentare la scheda per programmarla, poi va scollegato per far girare il programma

      Elimina
  2. Salve,
    Volevo sapere quale firmware è necessario installare sul modulo esp8266 per utilizzare blink?

    Grazie!!😁

    RispondiElimina
  3. Buonasera,
    grazie per il tutorial. Ho provato a collegare l'esp come indicato, non ho però usato il level shifter (ancora in spedizione).
    Quando provo a collegare la tua sketch o le sketch di test della libreria Blynk, mi viene fuori questo messaggio di errore:
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed
    ---
    Ha qualche consiglio?

    RispondiElimina
  4. Ciao,
    sto sperimentando con l'ESP8266 e Blynk seguendo le istruzioni che hai dato sopra, oltretutto molto chiare. Purtroppo la maggior parte delle volte che accendo il tutto, vicino al microprocessore disegnato nella app compare un puntino rosso e la dicitura "offline since etc. etc." (ho fatto uno screenshot ma non so come inserirlo).
    Solo poche volte, non capisco come mai, la app va online ed allora il bottone funziona ed il led blu si accende e spegne. Se però resetto spengo e riaccendo l'ESP smette di nuovo di funzionare.
    Hai qualche idea?

    Saluti. Gianni.

    RispondiElimina
  5. Daniele, perché la define BlynkSimpleEsp8266.h nello sketch rimane nera e non arancione.
    Mi dice che non trova il file che è presente nelle ibrerie?

    RispondiElimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Altri Post