Sommario:

Tazza connessa: 5 passaggi (con immagini)
Tazza connessa: 5 passaggi (con immagini)

Video: Tazza connessa: 5 passaggi (con immagini)

Video: Tazza connessa: 5 passaggi (con immagini)
Video: Come trasferire i dati da un telefono all'altro in 5 minuti! (ANDROID) 2024, Novembre
Anonim
Tazza connessa
Tazza connessa

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

Componenti hardware
Componenti hardware
Componenti hardware
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

Sviluppa l'applicazione Node-RED per l'analisi del sentiment
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

Collega la tua tazza
Collega la tua tazza
Collega la tua tazza
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: