1. A breve aggiorneremo la piattaforma di Reboot per risolvere alcuni problemi con i plug-in, quindi chiediamo ancora un po' di pazienza, Lo staff di Reboot

Guida Blynk - Primi passi e controllo di un Led RGB via internet

Discussione in 'ESP8266' iniziata da StandardBus, 19 Mag 2017.

  1. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.091
    Like ricevuti:
    5.311
    [​IMG]

    Questo esperimento con un led RGB collegato ad una board Wemos D1 potrebbe essere considerato un punto di partenza, che permette di capire meglio come funziona l'internet delle cose (IOT) e come possiamo noi stessi creare dispositivi in grado di comunicare tra loro senza fili, connessi al World Wide Web.

    In questa guida capiremo:
    • Come configurare Blynk (un set di strumenti con app iOS/Android che permette di controllare da remoto le nostre board Arduino)
    • Come controllare un led RGB tramite Blynk
    Cosa serve

    Perchè usare WeMos D1?

    Il WeMos D1 è una board davvero interessante, perchè unisce la semplicità di Arduino alla versatilità del chip ESP8266, in grado di connettersi ad internet e alle reti wifi. È già il secondo progetto in cui la utilizziamo, ma ho intenzione di pubblicare altre guide in cui userò la stessa board.
    Le schede Arduino più comuni infatti non sono dotate di connettività propria... e l'ESP8266 nella maggior parte dei casi esiste in forme che non hanno niente a che fare con Arduino, e questo rende complicato farci esperimenti sopra.
    Con WeMos D1 abbiamo tutto: una board Wifi compatibile con l'IDE Arduino a prezzo uguale, se non inferiore, alle board Arduino UNO, con una potenza di calcolo maggiore e più spazio per i programmi sacrificando qualche pin I/O.

    La maggior parte dei programmi per Arduino UNO è compatibile con WeMos D1.
    Nello scrivere le guide voglio che siano semplici da capire e da realizzare, senza perdersi (se possibile) in saldature e cablaggi o nella ricerca di componenti introvabili.
    Questo progetto è realizzabile anche con qualsiasi altra board basata su ESP8266, ma ai nuovi consiglio di non prendere board diverse da quella indicata in questa guida, non fareste altro che complicarvi la vita.

    Perchè usare Blynk? Che cos'è Blynk?

    Blynk è un progetto open source finanziato tramite Kickstarter che mette a disposizione strumenti quali:
    • un software lato server per la gestione dei dispositivi

    • un client sotto forma di app Android/iOS, in grado di comunicare con qualsiasi server Blynk pubbico/privato.
    Per il nostro esperimento utilizzeremo il server pubblico offerto da Blynk, senza settarne uno nostro, ma la possibilità di poterne creare uno un giorno rende i nostri progetti completamente indipendenti dal destino che avranno i server pubblici di Blynk.
    Detto in parole povere, se il sito ed i server di Blynk dovessero chiudere un giorno, i nostri device IOT continuerebbero a funzionare dopo averli spostati su server privato, il che è un vantaggio enorme su altri servizi chiusi/a pagamento che fanno le stesse cose.

    Montaggio del led sulla board


    Inserisci il LED RGB come mostrato in figura. Attenzione: la direzione in cui è girato il led fa la differenza.
    La base della capsula del LED non è completamente rotonda, ha un lato tagliato, piatto: in genere sui led monocromatici indica la direzione del catodo (-) mentre la parte tonda indica l'anodo (+)​
    [​IMG]

    In genere nei progetti che andremo a realizzare il (-) corrisponderà sempre ai punti sulla scheda contrassegnati con la scritta GND.

    Per i LED RGB questo è leggermente diverso: il LED ha sempre un lato tagliato che indica la direzione in cui va inserito, ma il catodo è il secondo pin a partire dal lato tagliato.

    [​IMG]

    Quindi dovrai inserire il diodo sul WeMos D1 tenendo conto che il pin 2 va collegato su GND, mentre gli altri 3 pin controllano i singoli colori, e andranno collegati ai pin GPIO messi a disposizione sulla scheda:

    [​IMG]

    Configurazione di Blynk

    1. Dal Play Store su Android o dall'App Store su iOS, scarica l'app Blynk.

      Blynk nasce come app mobile, quindi non è stato compilato per i PC Windows, OSX e Linux, ma è possibile comunque usare l'app Android su computer utilizzando un qualsiasi emulatore Android. Per elencarne qualcuno, esistono Bluestacks, Andyroid, DroidX4, NOX (bignox).

    2. Apri l'app Blynk e crea un account con una email valida: a questo indirizzo ti verrà inviato il token per consentire al tuo progetto di comunicare con i server offerti da Blynk

      [​IMG]

      Il programma ti assegnerà 2000 punti energia, che sono la valuta in-app per l'utilizzo dei blocchi che ci serviranno a creare le interfacce. Sono più che sufficienti per sperimentare con il nostro WeMos. I punti vengono restituiti se un progetto viene eliminato dall'app, quindi non farti problemi ad utilizzarli.

    3. Premi su + New project per creare la tua prima interfaccia

    4. Indica il nome ("RGB Wifi led" nell'immagine qui sotto, ma può essere anche qualsiasi altra cosa, non è importante).

      Seleziona la scheda WeMos D1 mini se stai utilizzando la scheda WeMos D1 R2, perchè aggiunge alcuni pin extra.

      Per la connessione, lascia pure impostato WiFi, poi premi su Create.

      [​IMG]

    5. Ti verrà inviata una mail con un codice alfanumerico: conservalo, perchè dovrai fornirlo all'IDE Arduino per consentire al WeMos di comunicare con i server Blynk.

    6. Premi su (+) in alto a destra dello schermo. Volendo controllare un led RGB possiamo premere su zeRGBa per ottenere un pannello cliccabile con la gamma completa dei colori.
      Il colore da trasmettere è quello sul quale appoggeremo il dito, esattamente come mostrato nella GIF di copertina di questa guida.

      [​IMG]

    7. Premi sulla zeRGBa per cambiare le impostazioni del pannello, e procedi in questo modo:
      - Imposta il PIN rosso su quello digitale D2
      - Imposta il PIN verde su quello digitale D5
      - imposta il PIN verde su quello digitale D6

      [​IMG]

      Le board WeMos D1 che non riportano da nessuna parte la scritta "WeMos" potrebbero essere dei cloni, poco importa. Nel peggiore dei casi cambia la piedinatura da impostare in questo passaggio, basta che postiate nei commenti la foto della vostra board e si può cercare di capire cosa cambia.


      Impostate anche "Send on release" su OFF per vedere in tempo reale sul LED il colore che state selezionando con il dito. Se lo switch resta su ON il dato verrà inviato solo quando staccate il dito dallo schermo.

      Su Smartphone abbiamo finito. Ora dobbiamo preparare Arduino a ricevere i comandi.
    Configurazione dell'IDE Arduino e scrittura del programma di base

    1. Scarica ed installa l'ultima versione dell'Arduino IDE per Windows da questo link
      Per OSX e Linux è disponibile sul sito ufficiale: www.arduino.cc

    2. Apri il programma Arduino dall'icona che si sarà creata sul desktop

    3. Da "File" seleziona "Impostazioni". Si aprirà la finestra di configurazione dell'IDE.

    4. Nel campo "URL aggiuntive per il Gestore schede:" inserisci l'indirizzo...

      ...e premi su OK:

      [​IMG]
    5. A questo punto apri il tab "Strumenti" :arrowright: "Scheda" :arrowright: "Gestore schede..."

      [​IMG]
    6. Accanto a "Tipo: Tutti " digita "esp8266" senza virgolette ed installa l'unica voce che rimarrà attiva:

      [​IMG]
      Ci vorrà qualche minuto per completare l'installazione della mod, perchè deve scaricare da internet circa 153MB di file.
      Al termine dell'installazione, controllate sotto "Strumenti" :arrowright: "Scheda": dovrà esserci la voce "WeMos D1 R2 & mini" all'interno di un elenco di board compatibili basate su chip ESP8266. Cliccaci sopra per settare il tipo di board.

    7. Apri il menu Sketch :arrowright: #Include libreria :arrowright: Gestione librerie...

    8. Come fatto poco fa, si aprirà una finestra dove è possibile ricercare ed aggiungere all'IDE Arduino una serie di librerie non contenute nell'IDE di base.

    9. Cerca "Blynk", ti comparirà la libreria con lo stesso nome, pubblicata da Volodimir Shymanskyy

    10. Cliccaci sopra ed installa l'ultima versione, poi chiudi il gestore delle librerie.
      L'IDE è pronto per programmare il WeMos D1.

      Chiudi il gestore librerie, ora bisogna dare al WeMos D1 il programma che gli serve a collegarsi via Wifi
    Scrittura del firmware su Wemos D1

    1. Apri un nuovo sketch in Arduino IDE, ed elimina tutte le linee di codice che compaiono di default, poi copia al loro posto questo programma:
      Codice:
      #define BLYNK_PRINT Serial
      #include <ESP8266WiFi.h>
      #include <BlynkSimpleEsp8266.h>
      
      char auth[] = "InserireQuiIlToken";
      
      char ssid[] = "NomeRete";
      char pass[] = "PasswordRete";
      
      void setup()
      {
        Serial.begin(9600);
        Blynk.begin(auth, ssid, pass);
      }
      
      void loop()
      {
        Blynk.run();
      }
      Il programma qui sopra non fa altro che dire al Wemos D1 di collegarsi ad internet, in particolare ai server pubblici di Blynk in attesa dei comandi inviati dal nostro cellulare, che sarà l'unico dispositivo autorizzato a dargli istruzioni.

    2. Collega il Wemos D1 al PC su cui hai aperto l'IDE Arduino.

    3. Dal menu "Strumenti", clicca su "Porta" e selezona la COM su cui si trova il Wemos D1. Anche se sbagli non dovrebbe essere un problema, al massimo l'IDE ti dirà in fase di scrittura del firmware che non riesce a trovare la scheda.
      Se il menù "Porta" non è selezionabile o se tra le COM non è presente quella a cui dovrebbe trovarsi la board Wemos D1, può darsi che ti manchino i driver della scheda. Scaricali ed installali da questa pagina: https://www.wemos.cc/downloads


    4. Tra il codice, individua le stringhe
      Codice:
      char auth[] = "InserireQuiIlToken";
      
      char ssid[] = "NomeRete";
      char pass[] = "PasswordRete";
      ricordati di sostituire le parole "NomeRete" e "PasswordRete" tra virgolette con il nome della rete e la password che serve ad accedere alla connessione wireless. Le virgolette vanno comunque mantenute dove sono.

      Al posto della parola InserireQuiIlToken dovrai inserire la chiave alfanumerica che ti è stata inviata via mail all'indirizzo che hai usato per registrarti sull'app Blynk.

    5. Premi sul tasto "Carica" [​IMG] per inviare il programma alla scheda

    6. Apri l'app Blynk , premi sull'interfaccia che contiene il pannello zeRGBa e premi sul tasto Play in alto a destra dello schermo per iniziare ad utilizzare il programma. Se Arduino si è collegato correttamente ad internet oltre che alla rete Wifi riuscirai a controllarlo senza problemi, anche se ti sposti fuori casa.

      [​IMG]
    Certo, non è che ce ne freghi poi tanto che un LED cambi colore mentre siamo fuori casa, ma al posto di quel led ci può essere qualsiasi altra cosa. Un Relè che funge da interruttore, un display LCD che mostra i messaggi che invii dal cellulare etc... Ora sei pronto e attrezzato per i prossimi articoli che pubblicherò :wink:

    Hai trovato utile questa guida? Sostienici!
    Ci sono diversi metodi per darci una mano:
    Effettua una donazione PayPal con importo a piacere cliccando qui
    Diventa Advanced User di Reboot, rimuovendo tutte le pubblicità dal sito al costo di soli due caffè al mese, ottenendo tanti privilegi extra e aiutandoci a sostenere i costi di mantenimento del sito!
    Premi sul "mi piace" qui sotto o seguici sui social. Vedere che apprezzate quello che facciamo ci spinge a fare di più per voi, quindi va anche a vantaggio vostro :wink:
    Siamo su
    - :facebook:Facebook : https://www.facebook.com/reboot.ms
    - :twitter:Twitter : https://twitter.com/Reboot_MS
    - :telegram:Telegram : http://www.telegram.me/rebootms
    - :google+:Google+ : https://plus.google.com/+RebootMS_page
    Aiuta la community a crescere scrivendo news o guide per ciò che sei riuscito a fare!
     
    #1
    Ultima modifica: 19 Mag 2017
    A maurizionos, zoomx, iostream e 6 altri utenti piace questo elemento.
  2. ragoon82

    ragoon82 Livello 2

    Iscritto:
    11 Gen 2016
    Messaggi:
    29
    Like ricevuti:
    1
    è possibile usare un'antenna esterna per migliorare il wifi?
     
    #2
  3. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.091
    Like ricevuti:
    5.311
    Su questo modello no, ma ti assicuro che già di suo copre delle belle distanze.
    L'antennina stampata che vedi sulla scheda può sembrare piccola ma è progettata esattamente per la frequenza su cui trasmette.
    Ci sono altri modelli di ESP8266 comunque che prevedono il collegamento di un'antenna esterna.
     
    #3
    A ragoon82 piace questo elemento.
  4. ragoon82

    ragoon82 Livello 2

    Iscritto:
    11 Gen 2016
    Messaggi:
    29
    Like ricevuti:
    1
    perfetto l'ho già ordinato ti dirò poi i risultati.
     
    #4
  5. iostream

    iostream Phoenix Wright

    Iscritto:
    13 Ago 2016
    Messaggi:
    4.900
    Like ricevuti:
    1.623
    Mi sembra interessante, soprattutto per il prezzo e quel che offre. Lo proverò
     
    #5
  6. andreva

    andreva Livello 1

    Iscritto:
    3 Mar 2016
    Messaggi:
    17
    Like ricevuti:
    1
    Bella guida, è possibile utilizzare dei pulsanti e vedere sull' app se questo è premuto o no?Grazie
     
    #6
  7. ragoon82

    ragoon82 Livello 2

    Iscritto:
    11 Gen 2016
    Messaggi:
    29
    Like ricevuti:
    1
    sapete se è possibile e come usare led a 12v?
     
    #7
  8. iostream

    iostream Phoenix Wright

    Iscritto:
    13 Ago 2016
    Messaggi:
    4.900
    Like ricevuti:
    1.623
    WeMos non è in grado di erogare quella tensione (max 3,3V). Puoi usare un transistor NPN collegandolo a un qualcosa erogante 12V.
     
    #8
  9. ragoon82

    ragoon82 Livello 2

    Iscritto:
    11 Gen 2016
    Messaggi:
    29
    Like ricevuti:
    1
    iostream mi piacerebbe approfondire questa cosa hai qualche guida da consigliarmi?
     
    #9
  10. iostream

    iostream Phoenix Wright

    Iscritto:
    13 Ago 2016
    Messaggi:
    4.900
    Like ricevuti:
    1.623
    Cosa? WeMos?
     
    #10
  11. ragoon82

    ragoon82 Livello 2

    Iscritto:
    11 Gen 2016
    Messaggi:
    29
    Like ricevuti:
    1
    si WeMos con il sistema a 12v ho preso ieri la WeMos ma voglio usarla per un sistema a 12v e non sono ancora praticissimo,ma voglio esplorare questo nuovo mondo XD
     
    #11
  12. zoomx

    zoomx Livello 19

    Iscritto:
    12 Set 2015
    Messaggi:
    892
    Like ricevuti:
    339
    #12
    A ragoon82 piace questo elemento.
  13. GIGIOPS3

    GIGIOPS3 Livello 2

    Iscritto:
    3 Gen 2016
    Messaggi:
    22
    Like ricevuti:
    1
    ciao ravazzi, ma se volessi collegare 100 led rgb cosa dovri fare. per l alimemtazione ecc ecc
     
    #13
  14. iostream

    iostream Phoenix Wright

    Iscritto:
    13 Ago 2016
    Messaggi:
    4.900
    Like ricevuti:
    1.623
    1- Dovresti avere una scheda erogante più corrente. O la WeMos con dei tranistor.
    2- La WeMos non ha così tanti PIN
     
    #14
  15. GIGIOPS3

    GIGIOPS3 Livello 2

    Iscritto:
    3 Gen 2016
    Messaggi:
    22
    Like ricevuti:
    1
    Ho un arduino Uno e una wemos D1, cosa devo acquistare ? avete no schema

    Un altro dettaglio , io ho ina striscia led rgb , era di quelle con telecomando, ma ora ho solo la striscia con i 4 pin. come posso sapere che pin e la massa /anodo ecc ecc?
     
    #15
Sto caricando...

Condividi questa Pagina