Amazon Alexa e NodeMCU ESP8266 RGB Controller

qualche giorno fa era in offerta su Amazon il Echo Dot a soli 19 euro, ovviamente ne ho approfittato e sto iniziando a studiarne un po’ il funzionamento, il primo interfacciamento è stato con i NodeMCU che già avevo usato per vari progetti

la prima applicazione è stata quella di comandare via voce o tramite APP le strisce led che prima erano manuali sparse qua e la per la casa, lo schema è semplicissimo:

Nota: il LM7805 è opzionale ma consigliato nel caso in cui si volesse alimentare il NodeMCU per lunghi periodi o con tensioni maggiori di 12VDC.

il funzionamento si basa sul sito web di https://sinric.com/ dove una volta registrati sarà possibile ottenere la propria API-KEY personale e creare tutti i dispositivi che vogliamo gestire da inserire poi nel programma (oltre ai dati della nostra rete WiFi).

Link del codice per NodeMCU:

Nota: nel sorgente sono anche inclusi i link delle librerie da scaricare per il corretto funzionamento

una volta programmato e acceso basta aprire l’app di Amazon Alexa, scaricare la skill “Sinric” e seguire la procedura guidata proposta dall’applicazione.

6 Risposte a “Amazon Alexa e NodeMCU ESP8266 RGB Controller”

  1. ciao, quando dico alexa colore bianco mi accende solo ilcolore verde e rosso…
    solo quando dico celeste mi si accendono tutti e tre i colori e quindi mi da l’intensità bianca!
    grazie

    1. Ciao, prova dall’applicazione Alexa se ti fa uguale senza usare i comandi vocali, a me gestisce tranquillamente tutti i colori

    2. Proprio con l’APP di alexa ho trovato il colore Celeste, che mi riproduce invece il colore bianco, in pratica anche vocalmente rispecchia tutti i colori che ritrovo su l’app di alexa.
      Se dico “alexa dispositoX colore Bianco ” mi accende solo il led verde e rosso e nell’hyperterminal mi restituisce :
      [WSc] get text: {“deviceId”:”*****************”,”action”:”SetColorTemperature”,”value”:4000}

      ora mi chiedo perche mi usa il “SetColorTemperature” e non il normale “”SetColor””

      se invece setto il colore rosso mi restituisce :
      {“deviceId”:”*****************”,”action”:”setPowerState”,”value”:”ON”}[WSc]
      get text: {“deviceId”:”***************”,”action”:”SetColor”,”value”:{“hue”:0,”saturation”:1,”brightness”:1}}
      [WSc] hue: 0
      [WSc] saturation: 1
      [WSc] brightness: 1

      potrebbe essere un problema dovuto a
      io ho usato l’ultima versione visto che tu non hai specificato che versione usare ed ho dovuto fare giusto dei cambi per la versione 6… del tipo:

      DynamicJsonDocument json(1024);
      // get the root object is not necessary I left it here as an example
      JsonObject root = json.to();
      deserializeJson (json, (char*)payload);

      e

      DynamicJsonDocument root(1024);

      root[“deviceId”] = deviceId;
      root[“action”] = “setPowerState”;
      root[“value”] = value;
      serializeJson(root, Serial);

      StreamString databuf;
      webSocket.sendTXT(databuf);

      PS. il tuo Progetto AlexaRGB V2 in che data l’hai fatto?

    3. Il progetto è di qualche mese fa, non ricordo esattamente la data ma lo uso tuttora (ne ho due uguali in due punti della casa). Prova a ricontrollare di aver impostato su Sinric l’opzione della lampada RGB come tipo di dispositivo e che i cablaggi siano corretti, potrebbe essere che la tua striscia RGB sia a catodo comune invece che anodo comune o viceversa.

    4. Finalmente ho capito il problema !

      quanto si chiede ad Alexa di generare il colore “bianco” “luce calda” “luce fredda”
      Corrispondono Hue : “4000” “2200” “7000”
      il punto è che richiama la funzione “SetColorTemperature” e tu sul codice in questa funzione hai fissato il Asaturation a 1 invece per i colori bianchi nel Sistema HSV per avere un colore tendenzialmente sul bianco si deve avere la Saturazione a 0 … e quindi con qualunque valore di Hue si avrebbe il bianco… cmq ho sistemato il codice e mi sono fatto un Sketch pazzesco con RGB + Tasti + luci + Rele tutto su un modulo.
      Grazie mille per le risposte mi hai fatto da base per un grande Codice!

    5. Mi fa molto piacere che tu sia riuscito a sistemare, se ti fa piacere scriverne un breve articolo con il relativo codice lo pubblicherei a tuo nome nel blog senza problemi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *