Cană conectată: 5 pași (cu imagini)
Cană conectată: 5 pași (cu imagini)
Anonim
Cană conectată
Cană conectată

Uneori, dimineața, în timp ce mă sorb din cafea înainte de a merge la birou, aș vrea să văd ce mă așteaptă în căsuța de e-mail. adică numărul și tonul e-mailurilor primite … dacă proiectul pe care tocmai l-am terminat cu o zi înainte funcționează sau nu și dacă există comentarii pozitive sau negative despre acesta. Pe de altă parte, nu mă deranjează să deschid aplicația client de e-mail cu telefonul mobil și să încep să citesc e-mailuri în timpul micului dejun.

Din aceste considerații vine ideea acestui proiect; folosește o cană de cafea îmbunătățită cu lumini LED care își schimbă culorile pe baza rezultatului analizei sentimentelor efectuate la ultimele e-mailuri necitite primite în contul meu de e-mail. Doar conectați cana și luminile LED se vor transforma în culoare verde dacă ultimele e-mailuri primite au mesaje pozitive, culoare roșie pentru opus.

Analiza sentimentelor e-mailurilor necitite este efectuată de serviciile IoT IBM Watson. O placă Arduino MKR1000 este utilizată pentru a controla banda LED și pentru a vă conecta la serviciile IoT IBM Watson prin WiFi folosind protocolul MQTT.

Pasul 1: Componente hardware

Componente hardware
Componente hardware
Componente hardware
Componente hardware

Placă de dezvoltare hardware:

Arduino MKR1000

BOM hardware

  • Rezistențe 3x 100ohm
  • 3x tranzistoare NIP TIP122
  • 1x mufă de alimentare
  • 1x bandă de lumină LED RGB (AglaiaLT-S2)
  • Cabluri de rezervă

Cablarea pentru a controla banda LED cu Arduino MKR1000 se bazează pe acest tutorial:

Pasul 2: Creați un cont pe IBM Watson IoT și înregistrați-vă dispozitivul

Pentru a crea o aplicație cloud capabilă să efectueze analiza sentimentelor de e-mailuri necitite cu IBM Watson IoT, este necesar mai întâi să vă semnați pentru un cont de încercare gratuit (https://www.ibm.com/internet-of-things/trial/). Al doilea pas este să creați o aplicație pentru platforma IoT Watson și să vă înregistrați placa Arduino MKR1000; aceasta este acum o procedură standard pentru conectarea platformelor hardware cu IBM Watson IoT și este bine documentată în ghidurile de pornire rapidă IBM:

console.ng.bluemix.net/docs/services/IoT/i…

IBM oferă, de asemenea, șabloane tip boilerplate pentru IoT, care accelerează acești pași prin limitarea serviciilor și a timpilor de rulare necesari pentru lansarea aplicației dvs. IoT. IoT pentru Electronics Starter Boilerplate a fost cel utilizat pentru acest proiect.

Ghidul de înregistrare pas cu pas al dispozitivului este oferit aici:

console.ng.bluemix.net/docs/services/IoT/i…

Notați-vă org-id-ul, acreditarea, ID-ul dispozitivului și tipul dispozitivului, după finalizarea procedurii de înregistrare a dispozitivului, deoarece acestea vor fi necesare pentru a configura schița Arduino și aplicația NodeRED.

Pasul 3: Dezvoltați aplicația Node-RED pentru analiza sentimentelor

Dezvoltați aplicația Node-RED pentru analiza sentimentelor
Dezvoltați aplicația Node-RED pentru analiza sentimentelor

NodeRED este un instrument vizual care poate fi utilizat în platforma IoT IBM Watson pentru a crea aplicații de cablare a dispozitivelor și servicii Cloud (nodered.org).

Aplicația NodeRED dezvoltată este foarte simplă și compusă din două fluxuri, unul pentru analiza sentimentelor de e-mailuri și altul pentru înregistrarea stării Arduino MKR1000 (scor de sentiment primit de dispozitiv și combinație RGB pentru LED-ul afișat).

Primul flux se conectează periodic la un cont de e-mail și preia ultimele e-mailuri necitite; configurarea depinde de contul dvs. de e-mailuri. Fiecare e-mail primit este trimis în caseta de analiză a sentimentului, care returnează un scor (mai mic sau mai mare de 0) pe baza conținutului negativ / pozitiv al textului analizat (consultați informațiile https://github.com/thisandagain/sentiment/blob/mas… pentru mai multe detalii). Scorul sentimentului este trimis într-o casetă de funcții simplă care calculează media ultimelor date primite și împinge rezultatul la următorul nod. În cele din urmă, ultimul bloc trimite un mesaj care conține valoarea scorului sentimentului către dispozitivul conectat utilizând protocolul MQTT; acest bloc trebuie să fie configurat cu acreditările generate în timpul procesului de înregistrare a dispozitivului.

Al doilea flux este utilizat în scopuri de testare pentru a vizualiza starea plăcii Arduino; conectează un nod IoT de intrare pentru placa dvs. Arduino la pagina web IBM Quickstart pentru vizualizarea datelor (https://quickstart.internetofthings.ibmcloud.com/). Nodul IoT de intrare este configurat ca mai sus pentru a primi mesaje de stare de pe placa Arduino folosind protocoalele MQTT. Mesajele de stare conțin scorul sentimentului și combinația RGB pentru LED-urile utilizate în prezent în Arduino.

Aplicația Node-RED a fost exportată în clipbord și atașată aici ca fișier.txt.

Pasul 4: Arduino Sketch

Schița Arduino se bazează pe biblioteca client MQTT de Gilberto Conti (https://github.com/256dpi/arduino-mqtt) care a fost modificată pentru a se conecta la IBM Watson IoT. Codul este compus din trei părți:

  • setup (): conectați cu WiFi AP și broker IBM MQTT; înregistrați un apel invers pentru mesajele primite de la IBM Watson IoT
  • bucla (): setați pinul RGB pentru a controla luminile LED; trimite către IBM Watson IoT starea dispozitivului (RGB și scor de sentiment)
  • messageReceived (…): apel de apel apelat la primirea mesajelor cu scor de sentiment din aplicația IoT Watson. Scorul este mapat la valoarea RGB (negativ: roșu; pozitiv: verde).

Configurați codul după cum urmează, pe baza acreditărilor generate în timpul procedurii de înregistrare a dispozitivului (org-id, dispozitiv-tip, dispozitiv-id):

  • MQTT_MODE = IBM_API_KEY
  • char * client_id = "d: your-org-id: tip-dispozitiv-dvs.: id-dispozitiv-dvs.";
  • char * user_id = "use-token-auth";
  • char * pwd = "dumneavoastră-pwd";
  • char * ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

Aplicația se abonează la subiectul iot-2 / cmd / + / fmt / string și mesajul de apelare primită analizează mesajele pentru sentimentul tipului de comandă.

Mesajele de stare sunt publicate la subiectul: iot-2 / evt / status / fmt / json

Notă: nu uitați să actualizați certificatul SSL pentru MKR1000; urmați instrucțiunile aici: https://github.com/arduino-libraries/WiFi101-Firm… și introduceți numele dvs. ibm_hostname pentru a descărca și instala în MKR1000 certificatele rădăcină.

Schiță Arduino atașată.

Pasul 5: Conectați-vă cana

Conectează-ți cana
Conectează-ți cana
Conectează-ți cana
Conectează-ți cana

Ar fi fost frumos să mai facem o integrare electronică și LED-uri în cană, dar pentru acest proiect am atașat pur și simplu banda LED adezivă în jurul canei, așa cum se arată în imagine.

Apoi conectez banda LED la circuitul plăcii de alimentare, alimentez LED-ul și Arduino MKR1000 și aștept să primesc mesaje cu scor de sentiment din aplicația NodeRED. În imagine, de exemplu, am testat trimițând în contul meu e-mailuri care conțin text precum „Great work !, Your project is wonderful!” etc.

De asemenea, este posibil să verificați în pagina web publică IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) starea în timp real a aplicației Arduino (codul RGB este afișat și scorul de sentiment primit); trebuie doar să introduceți ID-ul dispozitivului..

Acum mă pot bucura în sfârșit de cafeaua mea într-o cană conectată.