Sommario:
- Passaggio 1: componenti hardware
- Passaggio 2: crea un account su IBM Watson IoT e registra il tuo dispositivo
- Passaggio 3: sviluppa l'applicazione Node-RED per l'analisi del sentiment
- Passaggio 4: schizzo Arduino
- Passaggio 5: collega la tua tazza
Video: Tazza connessa: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
A volte al mattino, mentre sorseggio il mio caffè prima di andare in ufficio, vorrei dare un'occhiata a cosa mi aspetta nella mia casella di posta elettronica. ovvero il numero e il tono delle email ricevute….se il progetto che ho appena terminato il giorno prima funziona o meno e se ci sono commenti positivi o negativi a riguardo. D'altra parte non mi dispiace molto aprire l'applicazione client di posta elettronica con il mio cellulare e iniziare a leggere le e-mail durante la colazione.
Da queste considerazioni nasce l'idea di questo progetto; utilizza una tazza da caffè arricchita con luci a LED che cambiano colore in base al risultato dell'analisi del sentimento eseguita sulle ultime e-mail non lette ricevute nel mio account di posta elettronica. Basta collegare la tazza e le luci a LED diventeranno di colore verde se le ultime e-mail ricevute hanno messaggi positivi, il colore rosso per il contrario.
L'analisi del sentiment delle e-mail non lette viene eseguita dai servizi IBM Watson IoT. Una scheda Arduino MKR1000 viene utilizzata per controllare la striscia LED e per connettersi con i servizi IBM Watson IoT tramite WiFi utilizzando il protocollo MQTT.
Passaggio 1: componenti hardware
Scheda di sviluppo hardware:
Arduino MKR1000
Distinta hardware
- 3 resistenze da 100 ohm
- 3x transistor NPN TIP122
- 1x presa di alimentazione
- 1x striscia luminosa a LED RGB (AglaiaLT-S2)
- Cavi di ricambio
Il cablaggio per controllare la striscia LED con Arduino MKR1000 si basa su questo tutorial:
Passaggio 2: crea un account su IBM Watson IoT e registra il tuo dispositivo
Per creare un'applicazione cloud in grado di eseguire analisi del sentiment delle e-mail non lette con IBM Watson IoT, è necessario prima registrarsi per un account di prova gratuito (https://www.ibm.com/internet-of-things/trial/). Il secondo passo è creare un'applicazione per la piattaforma Watson IoT e registrare la tua scheda Arduino MKR1000; questa è ora una procedura standard per connettere le piattaforme hardware con IBM Watson IoT ed è ben documentata nelle guide di avvio rapido IBM:
console.ng.bluemix.net/docs/services/IoT/i…
IBM fornisce anche modelli standard per IoT che velocizzano questi passaggi delimitando i servizi e i tempi di esecuzione necessari per avviare la tua applicazione IoT. IoT for Electronics Starter Boilerplate è stato quello utilizzato per questo progetto.
La guida passo passo alla registrazione del dispositivo è fornita qui:
console.ng.bluemix.net/docs/services/IoT/i…
Annota il tuo org-id, credential, device-id e device-type, una volta completata la procedura di registrazione del dispositivo, poiché questi saranno necessari per configurare lo sketch Arduino e l'applicazione NodeRED.
Passaggio 3: sviluppa l'applicazione Node-RED per l'analisi del sentiment
NodeRED è uno strumento visivo che può essere utilizzato nella piattaforma IBM Watson IoT per creare applicazioni di cablaggio di dispositivi e servizi Cloud (nodered.org).
L'applicazione NodeRED sviluppata è molto semplice e composta da due flussi, uno per l'analisi del sentiment delle email e l'altro per la registrazione dello stato di Arduino MKR1000 (sentiment score ricevuto dal dispositivo e combinazione RGB per il LED visualizzato).
Il primo flusso si connette periodicamente a un account e-mail e recupera le ultime e-mail non lette; la configurazione dipende dal tuo account di posta elettronica. Ogni email ricevuta viene inviata alla casella di analisi del sentiment, che restituisce un punteggio (minore o superiore a 0) in base al contenuto negativo/positivo del testo analizzato (vedi informazioni https://github.com/thisandagain/sentiment/blob/mas… per più dettagli). Il sentiment score viene inviato a un semplice box funzionale che calcola la media degli ultimi dati ricevuti e invia il risultato al nodo successivo. Infine l'ultimo blocco invia un messaggio contenente il valore del sentiment score al dispositivo connesso tramite protocollo MQTT; questo blocco deve essere configurato con le credenziali generate durante il processo di registrazione del dispositivo.
Il secondo flusso viene utilizzato a scopo di test per visualizzare lo stato della scheda Arduino; collega un nodo IoT di input per la scheda Arduino alla pagina Web di avvio rapido IBM per la visualizzazione dei dati (https://quickstart.internetofthings.ibmcloud.com/). Il nodo IoT di input è configurato come sopra per ricevere messaggi di stato dalla scheda Arduino utilizzando i protocolli MQTT. I messaggi di stato contengono il punteggio del sentiment e la combinazione RGB per i LED attualmente utilizzati in Arduino.
L'applicazione Node-RED è stata esportata negli appunti e allegata qui come file.txt.
Passaggio 4: schizzo Arduino
Lo sketch Arduino è basato sulla libreria client MQTT di Gilberto Conti (https://github.com/256dpi/arduino-mqtt) che è stata modificata per connettersi con IBM Watson IoT. Il codice è composto da tre parti:
- setup(): connettersi con WiFi AP e broker IBM MQTT; registrare una richiamata per i messaggi ricevuti da IBM Watson IoT
- loop(): imposta il pin RGB per controllare le luci a LED; inviare a IBM Watson IoT lo stato del dispositivo (RGB e sentiment score)
- messageReceived(…): richiamata chiamata alla ricezione di messaggi con punteggio di sentiment dall'applicazione Watson IoT. Il punteggio è mappato al valore RGB (negativo: rosso; positivo: verde).
Configurare il codice come segue, in base alle credenziali generate durante la procedura di registrazione del dispositivo (org-id, device-type, device-id):
- MQTT_MODE = IBM_API_KEY
- char *client_id = "d:your-org-id:your-device-type:your-device-id ";
- char *user_id = "use-token-auth";
- char *pwd = "your-pwd";
- char *ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";
L'applicazione sottoscrive l'argomento iot-2/cmd/+/fmt/string e messageReceived callback analizza i messaggi per il tipo di comando sentiment.
I messaggi di stato vengono pubblicati nell'argomento: iot-2/evt/status/fmt/json
Nota: ricordati di aggiornare il certificato SSL per MKR1000; segui le istruzioni qui: https://github.com/arduino-libraries/WiFi101-Firm… e inserisci il tuo ibm_hostname per scaricare e installare in MKR1000 i certificati di root.
Schizzo Arduino allegato.
Passaggio 5: collega la tua tazza
Sarebbe stato bello fare un po' più di integrazione di elettronica e LED nella tazza, ma per questo progetto ho semplicemente attaccato la striscia LED adesiva attorno alla tazza come mostrato nell'immagine.
Quindi collego la striscia LED al circuito breadboard, accendo il LED e l'Arduino MKR1000 e attendo di ricevere messaggi con il punteggio di sentimento dall'applicazione NodeRED. Nella foto ad esempio ho provato inviando al mio account email contenenti testo del tipo "Ottimo lavoro!, Il tuo progetto è meraviglioso!" eccetera.
E' inoltre possibile verificare nella pagina web pubblica di IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) lo stato in tempo reale dell'applicazione Arduino (codice RGB visualizzato e sentiment score ricevuto); inserire l'ID del dispositivo..
Ora posso finalmente godermi il mio caffè in una tazza connessa.
Consigliato:
Stazione meteorologica connessa con ESP32: 3 passaggi
Stazione meteorologica connessa con ESP32: in questo tutorial imparerai come configurare una stazione meteorologica basata su ESP32 e come monitorare le sue letture da remoto, tramite l'app Blynk e tramite un sito Web
Tazza con display E-Ink: 8 passaggi (con immagini)
E-Ink Display Mug: questa è una di quelle idee folli che si depositano spontaneamente nel mio cervello. Ho pensato, non sarebbe fantastico se ci fosse una tazza da caffè che puoi personalizzare al volo? Uno che somigliava molto a una normale tazza di caffè. ho fatto una ricerca e
Ventola connessa a Internet per Zwift: 7 passaggi (con immagini)
Ventilatore connesso a Internet per Zwift: ho realizzato un ventilatore connesso a Internet per l'utilizzo con Zwift, un gioco di corse di bici virtuali / sistema di allenamento. Quando vai più veloce in Zwift, la ventola gira più velocemente per simulare le condizioni di guida esterne.;) Mi sono divertito molto a costruirlo, spero che ti diverta
Cassetta delle lettere connessa ad energia solare: 12 passaggi (con immagini)
Connected Letterbox Solar Powered: Per il mio secondo Ible, ti descriverò i miei lavori sulla mia cassetta delle lettere connessa. Dopo aver letto questo Instructable (+ molti altri), e poiché la mia cassetta delle lettere non è vicino a casa mia, volevo ispirarmi a Apri i lavori di Green Energy per collegare la mia cassetta delle lettere a m
Riscaldatore USB (o come aggiornare la tua tazza di caffè): 4 passaggi (con immagini)
Riscaldatore USB (o come aggiornare la tua tazza di caffè): ho visitato Instructables di tanto in tanto e mi sono reso conto che era ora di ricominciare a costruire cose. Ero solito smontare-mod i miei "giocattoli" quando ero un bambino - adolescente (come far esplodere un trenino e mettere il suo motto in un GI-Joe come h