Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Včasih bi zjutraj med srkanjem kave, preden grem v pisarno, v e -poštnem nabiralniku rad pogledal, kaj me pričakuje. število in ton prejetih e -poštnih sporočil … ali projekt, ki sem ga pravkar zaključil dan prej, deluje ali ne in če obstajajo pozitivni ali negativni komentarji o njem. Po drugi strani pa me ne moti, da z mobilnim telefonom odprem aplikacijo za e -poštni odjemalec in med zajtrkom začnem brati e -pošto.
Iz teh premislekov izhaja ideja tega projekta; uporablja skodelico za kavo, izboljšano z LED lučkami, ki spremenijo barve na podlagi rezultatov analize občutkov, opravljenih na zadnjih neprebranih e -poštnih sporočilih, prejetih na moj e -poštni račun. Samo priklopite skodelico in LED lučke se bodo obarvale zeleno, če so zadnja prejeta e -poštna sporočila pozitivna, rdeča za nasprotno.
Analizo občutkov neprebranih e -poštnih sporočil izvajajo storitve IBM Watson IoT. Plošča Arduino MKR1000 se uporablja za nadzor LED traku in povezovanje s storitvami IBM Watson IoT prek WiFi prek protokola MQTT.
1. korak: Strojne komponente
Plošča za razvoj strojne opreme:
Arduino MKR1000
Strojna specifikacija
- 3x 100ohm upori
- 3x TIP122 NPN tranzistorji
- 1x vtičnica
- 1x RGB LED svetlobni trak (AglaiaLT-S2)
- Rezervni kabli
Ožičenje za krmiljenje LED traku z Arduinom MKR1000 temelji na tej vadnici:
2. korak: Ustvarite račun na IBM Watson IoT in registrirajte svojo napravo
Če želite ustvariti aplikacijo v oblaku, ki bo z IBM Watson IoT analizirala občutke neprebranih e-poštnih sporočil, se morate najprej podpisati za brezplačen poskusni račun (https://www.ibm.com/internet-of-things/trial/). Drugi korak je ustvariti aplikacijo za platformo Watson IoT in registrirati svojo ploščo Arduino MKR1000; to je zdaj standardni postopek za povezavo strojne platforme z IBM Watson IoT in je dobro dokumentiran v IBM -ovih priročnikih za hitri začetek:
console.ng.bluemix.net/docs/services/IoT/i…
IBM ponuja tudi predloge za IoT, ki pospešijo te korake z omejevanjem storitev in časov izvajanja, potrebnih za zagon vaše aplikacije IoT. Za ta projekt je bil uporabljen IoT for Electronics Starter Boilerplate.
Navodila za registracijo naprave po korakih so na voljo tukaj:
console.ng.bluemix.net/docs/services/IoT/i…
Zapišite si svoj org-id, poverilnice, id-naprave in vrsto naprave, ko zaključite postopek registracije naprave, saj bodo ti potrebni za konfiguracijo skice Arduino in aplikacije NodeRED.
3. korak: Razvijte aplikacijo Node-RED za analizo občutkov
NodeRED je vizualno orodje, ki ga je mogoče uporabiti na platformi IBM Watson IoT za ustvarjanje aplikacij za ožičenje naprav in storitev v oblaku (nodered.org).
Razvita aplikacija NodeRED je zelo preprosta in je sestavljena iz dveh tokov, enega za analizo razpoloženja e -poštnih sporočil in drugega za beleženje stanja Arduina MKR1000 (ocena občutkov, ki jo sprejme naprava, in kombinacija RGB za prikazano LED).
Prvi tok se občasno poveže z e -poštnim računom in pridobi zadnja neprebrana e -poštna sporočila; konfiguracija je odvisna od vašega e -poštnega računa. Vsako prejeto e -poštno sporočilo se pošlje v polje za analizo občutkov, ki vrne rezultat (manjši ali večji od 0) na podlagi negativne/pozitivne vsebine analiziranega besedila (glejte informacije https://github.com/thisandagain/sentiment/blob/mas… za Več podrobnosti). Ocena občutkov se pošlje v preprosto polje z funkcijami, ki izračuna povprečje zadnjih prejetih podatkov in rezultat potisne v naslednje vozlišče. Nazadnje zadnji blok pošlje sporočilo, ki vsebuje vrednost ocene občutka, povezani napravi s protokolom MQTT; ta blok je treba konfigurirati s poverilnicami, ustvarjenimi med postopkom registracije naprave.
Drugi tok se uporablja za namene testiranja za vizualizacijo stanja plošče Arduino; povezuje vhodno vozlišče IoT za vašo Arduino ploščo s spletno stranjo IBM za hiter zagon za vizualizacijo podatkov (https://quickstart.internetofthings.ibmcloud.com/). Vhodno vozlišče IoT je konfigurirano, kot je prikazano zgoraj, za sprejemanje sporočil o stanju iz Arduino Board z uporabo protokolov MQTT. Sporočila o stanju vsebujejo oceno občutkov in kombinacijo RGB za LED, ki se trenutno uporabljajo v Arduinu.
Aplikacija Node-RED je bila izvožena v clipbord in priložena tukaj kot datoteka.txt.
4. korak: Arduino skica
Skica Arduino temelji na odjemalski knjižnici MQTT avtorja Gilberta Contija (https://github.com/256dpi/arduino-mqtt), ki je bila spremenjena za povezavo z IBM Watson IoT. Koda je sestavljena iz treh delov:
- setup (): povežite se z WiFi AP in posrednikom IBM MQTT; registrirajte povratni klic za sporočila, prejeta od IBM Watson IoT
- zanka (): nastavite pin RGB za krmiljenje LED luči; pošljite IBM Watson IoT stanje naprave (RGB in ocena občutkov)
- messageReceived (…): povratni klic je zahteval sprejem sporočil z oceno občutkov iz aplikacije Watson IoT. Ocena je preslikana na vrednost RGB (negativna: rdeča; pozitivna: zelena).
Kodo konfigurirajte na naslednji način na podlagi poverilnic, ustvarjenih med postopkom registracije naprave (org-id, type-device, 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";
Aplikacija se naroči na temo iot-2/cmd/+/fmt/string in messageReceived callback analizira sporočila glede občutka vrste ukaza.
Sporočila o stanju so objavljena na temo: iot-2/evt/status/fmt/json
Opomba: ne pozabite posodobiti SSL certifikata za MKR1000; sledite navodilom tukaj: https://github.com/arduino-libraries/WiFi101-Firm… in vnesite svoje ime ibm_host, da prenesete in namestite korenska potrdila v MKR1000.
Priložena skica Arduino.
5. korak: Povežite skodelico
Lepo bi bilo narediti še nekaj integracije elektronike in LED v skodelici, vendar sem za ta projekt preprosto pritrdil adhezivni LED trak okoli skodelice, kot je prikazano na sliki.
Nato LED trak povežem z vezjem, prižgem LED in Arduino MKR1000 ter počakam na prejemanje sporočil z oceno občutkov iz aplikacije NodeRED. Na sliki sem na primer preizkusil tako, da sem na svoj račun poslal e -poštna sporočila z besedilom, kot je "Odlično! Vaš projekt je čudovit!" itd.
Možno je tudi, da na javni spletni strani IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) v realnem času preverite stanje aplikacije Arduino (prikazana je koda RGB in prejeta ocena občutkov); samo vnesite ID naprave..
Zdaj lahko končno uživam v kavi v povezani skodelici.