INHOUDSOPGAWE:
- Stap 1: Hardeware -komponente
- Stap 2: Skep 'n rekening op IBM Watson IoT en registreer u toestel
- Stap 3: Ontwikkel die Node-RED-toepassing vir sentimentanalise
- Stap 4: Arduino -skets
- Stap 5: Koppel u beker
Video: Aangeslote beker: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Soms in die oggend terwyl ek aan my koffie drink voordat ek kantoor toe gaan, wil ek graag 'n kykie kry van wat dit van my verwag in my e -posbus. dws die aantal en toon van e -posse wat ontvang is …. of die projek wat ek net die vorige dag voltooi het, werk of nie, en as daar positiewe of negatiewe opmerkings daaroor is. Aan die ander kant gee ek nie regtig om om die e -posprogram met my selfoon oop te maak en e -posse tydens die ontbyt te begin lees nie.
Uit hierdie oorwegings kom die idee van hierdie projek; dit gebruik 'n koffiemok met LED -ligte wat hul kleure verander op grond van die uitslag van sentimentanalise wat op die laaste ongeleesde e -posse in my e -posrekening ontvang is. Sluit net die beker aan en die LED -ligte word groen as die laaste e -posse positiewe boodskappe bevat, rooi kleur vir die teenoorgestelde.
Die sentimentanalise van ongeleesde e -posse word uitgevoer deur IBM Watson IoT -dienste. 'N Arduino MKR1000 -bord word gebruik om die LED -strook te beheer en om met IBM Watson IoT -dienste via WiFi te skakel met behulp van MQTT -protokol.
Stap 1: Hardeware -komponente
Hardeware -ontwikkelingsbord:
Arduino MKR1000
Hardware BOM
- 3x 100ohm weerstande
- 3x TIP122 NPN -transistors
- 1x kragaansluiting
- 1x RGB LED-ligstrook (AglaiaLT-S2)
- Spaar kabels
Die bedrading om die LED-strook met die Arduino MKR1000 te beheer, is gebaseer op hierdie tutoriaal:
Stap 2: Skep 'n rekening op IBM Watson IoT en registreer u toestel
Om 'n wolk-toepassing te skep wat sentimentanalise van ongeleesde e-posse met IBM Watson IoT kan uitvoer, moet u eers 'n gratis proefrekening aanmeld (https://www.ibm.com/internet-of-things/trial/). Tweede stap is om 'n toepassing vir die Watson IoT -platform te skep en u Arduino MKR1000 -bord te registreer; dit is nou 'n standaardprosedure vir die koppeling van hardeware -platforms met IBM Watson IoT, en dit is goed gedokumenteer in IBM se vinnige opstartgidse:
console.ng.bluemix.net/docs/services/IoT/i…
IBM bied ook ketelplaat -sjablone vir IoT aan wat hierdie stappe bespoedig deur die beperking van die dienste en tydsduur wat nodig is om u IoT -toepassing te begin. IoT for Electronics Starter Boilerplate was die een wat vir hierdie projek gebruik is.
Hier word stap -vir -stap apparaatregistrasiegids verskaf:
console.ng.bluemix.net/docs/services/IoT/i…
Noteer u organisasie-ID, geloofsbrief, toestel-ID en toesteltipe nadat u die apparaatregistrasieprosedure voltooi het, aangesien dit nodig sal wees om die Arduino-skets en die NodeRED-toepassing op te stel.
Stap 3: Ontwikkel die Node-RED-toepassing vir sentimentanalise
NodeRED is 'n visuele hulpmiddel wat in die IBM Watson IoT -platform gebruik kan word om bedradingstoestelle en wolkdienste (nodered.org) te skep.
Die NodeRED -toepassing wat ontwikkel is, is baie eenvoudig en bestaan uit twee strome, een vir sentimentanalise van e -posse, en 'n ander om die status van Arduino MKR1000 aan te teken (sentimenttelling wat deur die toestel ontvang word en RGB -kombinasie vir die LED wat vertoon word).
Die eerste stroom skakel gereeld met 'n e -posrekening en haal die laaste ongeleesde e -posse; die konfigurasie hang af van u e -posrekening. Elke e -pos wat ontvang word, word na die sentimentanalise -boks gestuur, wat 'n telling (minder of hoër as 0) gee op grond van die negatiewe/positiewe inhoud van die ontleedte teks (sien inligting https://github.com/thisandagain/sentiment/blob/mas… vir Meer besonderhede). Sentiment telling word gestuur na 'n eenvoudige funksie boks wat die gemiddelde van die laaste ontvang data bereken en die resultaat na die volgende knoop stoot. Laastens stuur die laaste blok 'n boodskap met die waarde van die sentimenttelling na die gekoppelde toestel met behulp van MQTT -protokol; hierdie blok moet gekonfigureer word met die geloofsbriewe wat tydens apparaatregistrasieproses gegenereer is.
Die tweede stroom word gebruik vir toetsdoeleindes om die status van die Arduino -bord te visualiseer; dit verbind 'n invoer IoT -knooppunt vir u Arduino -bord met die IBM -beginbladsy vir die visualisering van data (https://quickstart.internetofthings.ibmcloud.com/). Die invoer IoT -knoop is soos hierbo opgestel om statusboodskappe van Arduino Board te ontvang met behulp van die MQTT -protokolle. Statusboodskappe bevat die sentiment telling en die RGB -kombinasie vir LED wat tans in Arduino gebruik word.
Node-RED-toepassing is na die knipbord uitgevoer en hier as 'n txt-lêer aangeheg.
Stap 4: Arduino -skets
Arduino-skets is gebaseer op die MQTT-kliëntbiblioteek deur Gilberto Conti (https://github.com/256dpi/arduino-mqtt) wat aangepas is om met IBM Watson IoT in verbinding te tree. Die kode bestaan uit drie dele:
- setup (): maak verbinding met WiFi AP en IBM MQTT makelaar; registreer 'n terugbel vir boodskappe wat van IBM Watson IoT ontvang is
- loop (): stel RGB -pen in om LED -ligte te beheer; stuur die status van die toestel na IBM Watson IoT (RGB en sentiment telling)
- messageReceived (…): terugbel word gevra na ontvangs van boodskappe met 'n sentimenttelling van die Watson IoT -toepassing. Die telling word gekarteer tot RGB -waarde (negatief: rooi; positief: groen).
Stel die kode soos volg op, gebaseer op geloofsbriewe wat tydens die apparaatregistrasieprosedure gegenereer is (org-id, apparaat-tipe, apparaat-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 = "jou-pwd";
- char *ibm_hostname = "jou-org-id.messaging.internetofthings.ibmcloud.com";
Die toepassing skryf in op onderwerp iot-2/cmd/+/fmt/string en message Ontvang terugbel ontleed boodskappe vir opdrag tipe sentiment.
Statusboodskappe word gepubliseer op die onderwerp: iot-2/evt/status/fmt/json
Let wel: onthou om die SSL -sertifikaat vir MKR1000 op te dateer; volg die instruksies hier: https://github.com/arduino-libraries/WiFi101-Firm … en voeg u ibm_hostname in om die wortelsertifikate in MKR1000 af te laai en te installeer.
Arduino skets aangeheg.
Stap 5: Koppel u beker
Dit sou lekker gewees het om 'n bietjie meer elektronika en LED's in die beker te integreer, maar vir hierdie projek het ek eenvoudig die kleefbare LED -strook rondom die beker vasgemaak, soos op die foto getoon.
Dan koppel ek die LED -strook aan die broodbordkring, voed die LED en die Arduino MKR1000 en wag om boodskappe met 'n sentiment van die NodeRED -toepassing te ontvang. Op die foto het ek byvoorbeeld getoets deur e -posse na my rekening te stuur wat die teks bevat soos "Great work !, Your project is wonderful!" ens.
Dit is ook moontlik om op die openbare IBM Quickstart -webblad (https://quickstart.internetofthings.ibmcloud.com) die status in reële tyd van die Arduino -toepassing na te gaan (RGB -kode word vertoon en die sentimenttelling ontvang); hoef net voer toestel -ID in..
Nou kan ek uiteindelik my koffie geniet in 'n gekoppelde beker.
Aanbeveel:
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: Projekvlak Moeilikheid: intermediêr Vaardighede benodig:- Lees en herhaal 'n diagram- Soldeer as u besluit om nie vooraf gesoldeerde onderdele te koop Projekinleiding In die Verenigde State en oor die hele wêreld het alkohol ernstige gesondheidsbedreigings inhou
E-Ink-beker: 8 stappe (met foto's)
E-Ink Display Mug: Dit is een van die gekke idees wat net spontaan in my brein lê. Ek het gedink, sou dit nie wonderlik wees as daar 'n koffiemok was wat u in die lug kan aanpas nie? Een wat amper soos 'n gewone koffiekop lyk. Ek het gesoek en
Aangeslote termostaat: 6 stappe (met foto's)
Aangeslote termostaat: die akkurate monitering van die temperatuur in u huis is beslis een van die beste maniere om u energierekening te bespaar. Terselfdertyd wil u in die winter goed voel in 'n warm huis. My huidige termostaat laat slegs 'n statiese programmering toe: I
Aangeslote briefbus sonkrag: 12 stappe (met foto's)
Connected Letterbox Solar Powered: Vir my tweede Ible beskryf ek u my werke oor my gekoppelde briewebus. Open Green Energy se werke om my posbus aan te sluit by
Aangeslote laaier: 5 stappe (met foto's)
Aangeslote laaier: 'n Maand gelede het ek 'n elektriese bromponie gekoop vir my daaglikse rit werk toe. Hy word HP_BEXXTER genoem (google dit net vir meer inligting :-)) Nou wou ek weet hoeveel energie ek nodig het vir die dryf. Ek wil ook meer inligting versamel oor