Turinys:

Prijungtas puodelis: 5 žingsniai (su nuotraukomis)
Prijungtas puodelis: 5 žingsniai (su nuotraukomis)

Video: Prijungtas puodelis: 5 žingsniai (su nuotraukomis)

Video: Prijungtas puodelis: 5 žingsniai (su nuotraukomis)
Video: Orijaus kelionės. 5 sezonas, 2 laida. Uzbekistanas, 2 dalis - Taškentas 2024, Lapkritis
Anonim
Prijungtas puodelis
Prijungtas puodelis

Kartais ryte, gurkšnodama kavą prieš eidama į biurą, norėčiau savo el. Pašto dėžutėje pamatyti, ko ji manęs laukia. y. gautų el. laiškų skaičius ir tonas…. ar projektas, kurį ką tik baigiau dieną prieš tai, veikia, ar ne, ir ar yra teigiamų ar neigiamų komentarų apie jį. Kita vertus, aš tikrai neprieštarauju atidaryti el. Pašto kliento programą mobiliuoju telefonu ir pradėti skaityti el. Laiškus pusryčių metu.

Iš šių svarstymų kyla šio projekto idėja; joje naudojamas kavos puodelis, patobulintas LED lemputėmis, kurios keičia spalvas pagal sentimentų analizės, atliktos paskutiniais neskaitytais el. laiškais, gautais mano el. pašto paskyroje, rezultatą. Tiesiog prijunkite puodelį ir LED lemputės taps žalios spalvos, jei paskutiniuose gautuose el. Laiškuose bus teigiamų pranešimų, o raudona spalva - priešingai.

Neskaitytų el. Laiškų nuotaikų analizę atlieka „IBM Watson IoT“paslaugos. „Arduino MKR1000“plokštė naudojama valdyti LED juostą ir prisijungti prie „IBM Watson IoT“paslaugų per „WiFi“naudojant MQTT protokolą.

1 žingsnis: aparatinės įrangos komponentai

Techninės įrangos komponentai
Techninės įrangos komponentai
Techninės įrangos komponentai
Techninės įrangos komponentai

Techninės įrangos kūrimo lenta:

„Arduino MKR1000“

Techninė įranga BOM

  • 3x 100ohm rezistoriai
  • 3x TIP122 NPN tranzistoriai
  • 1x maitinimo lizdas
  • 1x RGB LED šviesos juostelė (AglaiaLT-S2)
  • Atsarginiai kabeliai

Laidai, skirti valdyti LED juostą naudojant „Arduino MKR1000“, yra pagrįsti šia pamoka:

2 veiksmas: sukurkite paskyrą „IBM Watson IoT“ir užregistruokite savo įrenginį

Norint sukurti debesies programą, kuri galėtų atlikti neskaitytų el. Laiškų sentimentų analizę naudojant „IBM Watson IoT“, pirmiausia reikia pasirašyti nemokamą bandomąją paskyrą (https://www.ibm.com/internet-of-things/trial/). Antras žingsnis yra sukurti programą „Watson IoT“platformai ir užregistruoti „Arduino MKR1000“plokštę; dabar tai yra standartinė aparatinės įrangos platformų prijungimo prie „IBM Watson IoT“procedūra, ir tai gerai dokumentuota IBM trumpojo vadovo vadovuose:

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

IBM taip pat pateikia „IoT“šablonus, kurie pagreitina šiuos veiksmus, apribodami paslaugas ir vykdymo laiką, reikalingus jūsų „IoT“programai paleisti. Šiame projekte buvo naudojama „IoT for Electronics Starter Boilerplate“.

Žingsnis po žingsnio įrenginio registracijos vadovas pateikiamas čia:

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

Užsirašykite savo organizacijos ID, kredencialus, įrenginio ID ir įrenginio tipą, kai baigsite įrenginio registravimo procedūrą, nes jie bus reikalingi konfigūruoti „Arduino“eskizą ir programą „NodeRED“.

3 žingsnis: sukurkite „Node-RED“programą nuotaikų analizei

Sukurkite „Node-RED“programą nuotaikų analizei
Sukurkite „Node-RED“programą nuotaikų analizei

„NodeRED“yra vaizdinis įrankis, kurį galima naudoti „IBM Watson IoT“platformoje, kuriant programų laidų įrenginius ir „Cloud“paslaugas (nodered.org).

Sukurta „NodeRED“programa yra labai paprasta ir sudaryta iš dviejų srautų: vienas skirtas el. Laiškų nuotaikų analizei, o kitas - „Arduino MKR1000“būsenos registravimui (nuotaikos balas, gautas įrenginiu ir rodomo šviesos diodo RGB derinys).

Pirmasis srautas periodiškai prisijungia prie el. Pašto paskyros ir atneša paskutinius neskaitytus el. Laiškus; konfigūracija priklauso nuo jūsų el. pašto paskyros. Kiekvienas gautas el. Laiškas siunčiamas į jausmų analizės laukelį, kuriame pateikiamas balas (mažesnis arba didesnis nei 0), pagrįstas neigiamu/teigiamu analizuojamo teksto turiniu (žr. Informaciją https://github.com/thisandagain/sentiment/blob/mas… Daugiau informacijos). Jausmų balas siunčiamas į paprastą funkcijų langelį, kuris apskaičiuoja paskutinių gautų duomenų vidurkį ir perkelia rezultatą į kitą mazgą. Galiausiai paskutinis blokas siunčia pranešimą, kuriame yra nuotaikos balo vertė, prijungtam įrenginiui, naudojant MQTT protokolą; šį bloką reikia sukonfigūruoti naudojant kredencialus, sugeneruotus įrenginio registravimo proceso metu.

Antrasis srautas naudojamas bandymams, kad būtų galima vizualizuoti „Arduino“plokštės būseną; jis jungia jūsų „Arduino“plokštės įvesties daiktų interneto mazgą prie IBM trumpojo pradžios tinklalapio duomenų vizualizavimui (https://quickstart.internetofthings.ibmcloud.com/). Įvesties IoT mazgas sukonfigūruotas taip, kaip nurodyta aukščiau, kad jis gautų būsenos pranešimus iš „Arduino Board“, naudodamas MQTT protokolus. Būsenos pranešimuose yra nuotaikos balas ir RGB derinys, skirtas LED, kuris šiuo metu naudojamas „Arduino“.

„Node-RED“programa buvo eksportuota į „clipbord“ir čia pridėta kaip.txt failas.

4 žingsnis: „Arduino“eskizas

„Arduino“eskizas pagrįstas Gilberto Conti MQTT klientų biblioteka (https://github.com/256dpi/arduino-mqtt), kuri buvo modifikuota, kad būtų galima prisijungti prie „IBM Watson IoT“. Kodą sudaro trys dalys:

  • sąranka (): prisijunkite prie „WiFi AP“ir „IBM MQTT broker“; užregistruoti atgalinį pranešimą pranešimams, gautiems iš „IBM Watson IoT“
  • kilpa (): nustatykite RGB kaištį, kad valdytumėte šviesos diodus; siųsti „IBM Watson IoT“įrenginio būseną (RGB ir nuotaikos balas)
  • messageReceived (…): atgalinis skambutis, gautas gavus žinutes su nuotaikos balu iš „Watson IoT“programos. Rezultatas susietas su RGB reikšme (neigiamas: raudonas; teigiamas: žalias).

Konfigūruokite kodą taip, kaip nurodyta įrenginio registravimo procedūros metu sugeneruotuose kredencialuose (org-id, device-type, device-id):

  • MQTT_MODE = IBM_API_KEY
  • char *client_id = "d: jūsų-org-id: jūsų įrenginio tipas: jūsų įrenginio ID";
  • char *user_id = "use-token-auth";
  • char *pwd = "tavo-pwd";
  • char *ibm_hostname = "jūsų-organizacijos-id.messaging.internetofthings.ibmcloud.com";

Programa prenumeruoja temą iot-2/cmd/+/fmt/string ir messageReceived callback analizuoja pranešimus dėl komandų tipo nuotaikos.

Būsenos pranešimai skelbiami temoje: iot-2/evt/status/fmt/json

Pastaba: nepamirškite atnaujinti MKR1000 SSL sertifikato; vykdykite instrukcijas čia: https://github.com/arduino-libraries/WiFi101-Firm… ir įveskite savo ibm_hostname, kad atsisiųstumėte ir įdiegtumėte MKR1000 šakninius sertifikatus.

Pridėtas „Arduino“eskizas.

5 veiksmas: prijunkite puodelį

Prijunkite savo puodelį
Prijunkite savo puodelį
Prijunkite savo puodelį
Prijunkite savo puodelį

Būtų malonu dar šiek tiek integruoti elektroniką ir šviesos diodus į puodelį, tačiau šiam projektui aš tiesiog pritvirtinau lipnią LED juostelę aplink puodelį, kaip parodyta paveikslėlyje.

Tada prijungiu šviesos diodų juostą prie duonos plokštės, įjungiu šviesos diodą ir „Arduino MKR1000“ir laukiu, kol iš „NodeRED“programos gausiu pranešimus su jausmais. Pavyzdžiui, paveikslėlyje aš išbandžiau siųsdamas į savo paskyrą el. Laiškus, kuriuose buvo toks tekstas kaip „Puikus darbas !, Jūsų projektas nuostabus!“. ir kt.

Taip pat galima patikrinti viešame „IBM Quickstart“tinklalapyje (https://quickstart.internetofthings.ibmcloud.com) „Arduino“programos būseną realiuoju laiku (rodomas RGB kodas ir gautas nuotaikos balas); tiesiog reikia įveskite įrenginio ID..

Dabar pagaliau galiu mėgautis kava sujungtame puodelyje.

Rekomenduojamas: