Creare un dispositivo compatibile con Alexa 4.11/5 (3)

Indice

Ti piace questo articolo? Condividilo dove vuoi!

Ho realizzato una riproduzione artigianale del famoso reattore arc che si può comandare attraverso i comandi vocali. Usando una determinata libreria possiamo trasformare un ESP8266 in un dispositivo compatibile con Alexa!
Ogni appassionato di fumetti arriverà al punto di calarsi nei panni del suo eroe preferito, il mio è appunto IronMan. L’elettronica serve anche per il divertimento!
Veniamo al dunque e scopriamo i passi per poterlo ricreare:

  • Realizzare il circuito elettrico.
  • Software di gestione.
  • Stampa del modello 3D.
  • Assemblaggio.
Reattore Compatibile Alexa

Il cuore di tutto è l’anello a led WS2812 che viene controllato attraverso un Wemos D1 mini lite ESP8266 che comunica con Alexa utilizzando la rete wifi domestica .

Avevo già spiegato come rendere il Wemos Esp8266 un dispositivo compatibile con Alexa utilizzando la libreria fauxmoESP. Rispetto a quell’articolo bisogna solamente avere l’accortezza di usare l’ultima versione che ad oggi è la 3.4 del 03/04/2021.
la sicurezza che il dispositivo verrà riconosciuto poi da Alexa.

Lo sketch

Per lo sketch mi sono basato sui codici di esempio delle librerie:

  • “fauxmoESP_External_Server” per la comunicazione tra Esp8266 e Alexa
  • “Adafruit NeoPixel” per l’anello a led WS2812

Vi riporto sotto le parti che si devono e/o possono personalizzare:

  • Dovete inserire i dati della vostra rete domestica in:
#define WIFI_SSID "NomeVostraReteWifi"
#define WIFI_PASS "PasswordVostraReteWifi"
  • Qui potete cambiare il nome del device, questo verrà poi utilizzato per i comandi verso Alexa, nel codice l’ho semplicemente chiamato “reattore”
  fauxmo.addDevice("reattore");
  • Qui si possono impostare i parametri del colore con cui la striscia a led si dovrà illuminare (0,0,127 rappresenta il blu)
accendi(strip.Color(  0,   0, 127), 50);
  • La funzione accendi si occupa di accendere tutti i led senza ritardo utilizzando una certa intensità
    (brightness)
void accendi(uint32_t c, uint8_t wait)
{

  if (brightness > 254) brightness = 254;
  analogWrite(centralLed, brightness);
  //Serial.println("Passo come brightness:");
  //Serial.println(brightness);
  strip.setBrightness(brightness);
  for (uint16_t i = 0; i < strip.numPixels(); i++)
  {
    strip.setPixelColor(i, c);
    strip.show();
    //delay(wait);
  }
  • La funzione colorWipe accende i led in successione
void colorWipe(uint32_t c, uint8_t wait)
{
  for (uint16_t i = 0; i < strip.numPixels(); i++)
  {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

Puoi trovare lo sketch completo nell’articolo pubblicato su www.lutritech.it

Qui sotto puoi vedere il risultato finale:

Spero che questo articolo ti sia piaciuto e ringrazio la redazione di Filoconnesso.it per averlo ospitato.
Grazie a tutti!

Valuta questo articolo, è anonimo e non richiede registrazioni!

Avatar photo

Giuseppe Lutri

Laureato in Ingegneria Elettronica, diplomato come perito elettronico e telecomunicazioni, progettista elettronico, sviluppatore JAVA SE, Senior Project Engineer nel settore IT in campo sanitario. Da sempre un appassionato di tecnologia ed informatica. Il mio scopo è quello di condividere ciò che amo fare cercando di essere di aiuto e di ispirazione!


Scansiona il QRCode per leggerlo sul cellulare!

Scansiona il QRCode con la nostra applicazione ufficiale per leggere l'articolo sul tuo smartphone Android! Scarica l'ultima versione


SPONSORIZZATO

Potrebbero interessarti anche...

2 risposte

  1. Marco ha detto:

    Ciao Giuseppe
    ottimo articolo, da ispirazione per tanti. Solo una curiosità: sarebbe fattibile utilizzare il protocollo mqtt invece che una connessione a alexa/google ?

    Marco

    • Avatar photo Giuseppe Lutri ha detto:

      Ciao Marco,
      ti direi proprio di si. Con Esp8266 ci sono già gli esempi per usarlo come client mqtt.
      Nel caso del reattore usare i comandi vocali dava un certo tono in più 😉
      Nel prossimo futuro cercherò di portare qualche progettino utilizzando questo protocollo.
      Grazie dei complimenti!
      Giuseppe

Lascia un commento

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