È ora di connettere il nostro dispositivo all’AWS IoT core tramite i servizi MQTT. In questo tutorial connetteremo un esp32, un esp8266 e un Arduino MKT 1010 WiFi a questi servizi.
Il servizio che utilizzeremo è MQTT, un protocollo di messaggistica creato per i dispositivi IoT.
MQTT è un protocollo di messaggistica standard OASIS per l’Internet of Things (IoT). È progettato come un sistema di messaggistica di pubblicazione/sottoscrizione estremamente leggero, ideale per la connessione di dispositivi remoti con un footprint di codice ridotto e una larghezza di banda di rete minima. MQTT oggi è utilizzato in un’ampia varietà di settori, come automobilistico, manifatturiero, telecomunicazioni, petrolio e gas, ecc.
mqtt.org
Abbiamo già imparato come creare una struttura Amazon Alexa SmartHome skill, ma non avevamo dispositivi collegati. Ora svilupperemo lo sketch e il relativo layer AWS per la gestione dei dispositivi esterni.
Siamo ora a questo punto dello schema:
Prerequisiti
Innanzitutto, devi creare gli account.
- Un account Amazon Web Services (AWS). Necessario per gestire il core IoT e tutte le impostazioni di sicurezza.
- Un Arduino IDE (o equivalente), schede esp8266 (WeMos D1 mini (esp8266), pinout, specs and IDE configuration) o esp32 (ESP32: pinout, specs and Arduino IDE configuration) o Arduino SAMD (Arduino SAMD NINA: piedinatura, specifiche e configurazione dell’Arduino IDE) installate, per poter scrivere e testare il relativo codice.
- Un esp32 o esp8266 o Arduino MKR WiFi 1010 like e un semplice led per ora.
Qui gli esp8266 WeMos D1 mini - NodeMCU V2 V2.1 V3 - esp01 - esp01 programmer
Qui gli esp32 ESP32 Dev Kit v1 - TTGO T-Display 1.14 ESP32 - NodeMCU V3 V2 ESP8266 Lolin32 - NodeMCU ESP-32S - WeMos Lolin32 - WeMos Lolin32 mini - ESP32-CAM programmer - ESP32-CAM bundle - ESP32-WROOM-32 - ESP32-S
Qui gli Arduino SAMD Amazon Arduino MKR WiFi 1010
Codice e risorse
I
Se hai seguito la precedente serie di articoli su “Alexa SmartHome Skill“, hai già eseguito questi passaggi, quindi vai avanti.
Innanzitutto, crea una cartella; per me creo
alexa-skill-manage-relay-nodejs
Ottieni il file setup-template.txt
da
https://github.com/xreef/alexa-skill-manage-relay-nodejs
e rinominalo in setup.txt
.
Il file dovrebbe contenere:
[Login with Amazon Client ID]
amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Login with Amazon Client Secret]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Alexa Skill Application ID]
amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
[AWS Lambda ARN]
arn:aws:lambda:us-east-1:XXXXXXXXXXXX:function:skill-sample-language-smarthome-switch
[Redirect URLs]
https://pitangui.amazon.com/api/skill/link/XXXXXXXXXXXXXX
https://layla.amazon.com/api/skill/link/XXXXXXXXXXXXXX
https://alexa.amazon.co.jp/api/skill/link/XXXXXXXXXXXXXX
[DynamoDB table]
XXXXXXX
[Device end point]
XXXXXXXX
Installa strumenti opzionali
Questi strumenti sono opzionali in quanto utili ma non obbligatori.
Git
Git 2.0 o versioni successive è richiesto solo se si desidera clonare il codice sorgente in locale. Da riga di comando, puoi verificare se git è installato eseguendo il comando:
git --version
Se non è installato correttamente o non è una versione successiva alla 2.0, visita https://git-scm.com/downloads per scaricare e installare una versione per la tua piattaforma.
Ottieni il codice sorgente tramite Git
Se hai git installato sulla tua workstation, puoi usare le seguenti istruzioni per estrarre il codice sorgente nella tua directory di lavoro.
- Dalla riga di comando, accedi alla directory di lavoro sul desktop:
alexa-skill-manage-relay-nodejs
- Eseguire il comando seguente per eseguire il pull del codice sorgente in una directory di lavoro:
git clone https://github.com/xreef/alexa-skill-manage-relay-nodejs.git
Ottieni il codice sorgente tramite download
Se non hai git installato, scarica e decomprimi il contenuto compresso dell’esempio da
https://github.com/xreef/alexa-skill-manage-relay-nodejs/archive/refs/heads/main.zip
nella directory di lavoro del desktop: .alexa-skill-manage-relay-nodejs
Thanks
- Servizi AWS IoT core e MQTT: introduzione e prerequisiti
- Servizi AWS IoT core e MQTT: creazione di oggetti AWS con certificato e policy
- Servizi AWS IoT core e MQTT: connettere i dispositivi esp8266
- Servizi AWS IoT core e MQTT: connettere i dispositivi esp32
- Servizi AWS IoT core e MQTT: connettere i dispositivi Arduino SAMD (WiFiNINA).
- Servizi AWS IoT core e MQTT: test da console e MQTT.fx