Innehållsförteckning:
- Steg 1: Hårdvarukomponenter
- Steg 2: Skapa ett konto på IBM Watson IoT och registrera din enhet
- Steg 3: Utveckla Node-RED-applikationen för sentimentanalys
- Steg 4: Arduino Sketch
- Steg 5: Anslut din mugg
Video: Ansluten mugg: 5 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Ibland på morgonen medan jag dricker mitt kaffe innan jag går till kontoret, skulle jag vilja få en inblick i vad det väntar mig i min e -postinkorg. dvs antalet mottagna e -postmeddelanden …. oavsett om projektet jag just avslutade dagen innan fungerar eller inte och om det finns positiva eller negativa kommentarer om det. Å andra sidan har jag inget emot att öppna e -postklientprogrammet med min mobil och börja läsa mejl under frukosten.
Av dessa överväganden kommer idén om detta projekt; den använder en kaffekopp förstärkt med LED -lampor som ändrar sina färger baserat på resultatet av sentimentanalys utförd på de senaste olästa e -postmeddelandena som mottogs i mitt e -postkonto. Anslut bara muggen och LED -lamporna blir gröna om de senaste e -postmeddelandena har positiva meddelanden, röd färg för motsatsen.
Stämningsanalysen av olästa mejl utförs av IBM Watson IoT -tjänster. Ett Arduino MKR1000 -kort används för att styra LED -remsan och för att ansluta till IBM Watson IoT -tjänster över WiFi med hjälp av MQTT -protokoll.
Steg 1: Hårdvarukomponenter
Hårdvaruutvecklingskort:
Arduino MKR1000
Hårdvara BOM
- 3x 100ohm motstånd
- 3x TIP122 NPN -transistorer
- 1x strömuttag
- 1x RGB LED-ljusremsa (AglaiaLT-S2)
- Reservkablar
Ledningarna för att styra LED-remsan med Arduino MKR1000 är baserad på denna handledning:
Steg 2: Skapa ett konto på IBM Watson IoT och registrera din enhet
För att skapa en molnapplikation som kan utföra sentimentanalys av olästa e-postmeddelanden med IBM Watson IoT, är det nödvändigt att först registrera ett kostnadsfritt testkonto (https://www.ibm.com/internet-of-things/trial/). Andra steget är att skapa en applikation för Watson IoT -plattform och registrera ditt Arduino MKR1000 -kort; detta är nu ett standardförfarande för att ansluta hårdvaruplattformar till IBM Watson IoT, och det är väl dokumenterat i IBMs snabbstartguider:
console.ng.bluemix.net/docs/services/IoT/i…
IBM tillhandahåller också pannplattamallar för IoT som påskyndar dessa steg genom att begränsa de tjänster och drifttider som behövs för att starta din IoT -applikation. IoT for Electronics Starter Boilerplate var den som användes för detta projekt.
Steg för steg enhetsregistreringsguide finns här:
console.ng.bluemix.net/docs/services/IoT/i…
Anteckna ditt organisations-id, referens, enhets-id och enhetstyp när enhetsregistreringsproceduren har slutförts, eftersom dessa kommer att behövas för att konfigurera Arduino-skiss och NodeRED-applikationen.
Steg 3: Utveckla Node-RED-applikationen för sentimentanalys
NodeRED är ett visuellt verktyg som kan användas i IBM Watson IoT -plattform för att skapa applikationsledningar och molntjänster (nodered.org).
Den utvecklade NodeRED -applikationen är mycket enkel och består av två flöden, en för sentimentanalys av e -postmeddelanden och en annan för att logga status för Arduino MKR1000 (sentimentpoäng mottagen av enhet och RGB -kombination för lysdioden som visas).
Det första flödet ansluter till ett e -postkonto regelbundet och hämtar de sista olästa e -postmeddelandena. konfigurationen beror på ditt e -postkonto. Varje e -postmeddelande skickas till sentimentanalysrutan, som returnerar en poäng (mindre eller över 0) baserat på negativt/positivt innehåll i den analyserade texten (se information https://github.com/thisandagain/sentiment/blob/mas… för fler detaljer). Sentimentpoäng skickas till en enkel funktionsruta som beräknar genomsnittet av de senaste mottagna data och skjuter resultatet till nästa nod. Slutligen skickar det sista blocket ett meddelande som innehåller värdet av sentimentpoängen till den anslutna enheten med hjälp av MQTT -protokoll; detta block måste konfigureras med autentiseringsuppgifterna som genereras under enhetsregistreringsprocessen.
Det andra flödet används för teständamål för att visualisera status för Arduino -kortet; den ansluter en ingångs IoT -nod för ditt Arduino -kort till IBMs snabbstartwebbplats för datavisualisering (https://quickstart.internetofthings.ibmcloud.com/). Inmatnings -IoT -noden är konfigurerad enligt ovan för att ta emot statusmeddelanden från Arduino Board med hjälp av MQTT -protokollen. Statusmeddelanden innehåller sentimentpoängen och RGB -kombinationen för LED som för närvarande används i Arduino.
Node-RED-applikation exporterades till klippbordet och bifogades här som.txt-fil.
Steg 4: Arduino Sketch
Arduino sketch är baserad på MQTT-klientbibliotek av Gilberto Conti (https://github.com/256dpi/arduino-mqtt) som modifierades för att ansluta till IBM Watson IoT. Koden består av tre delar:
- setup (): anslut med WiFi AP och IBM MQTT -mäklare; registrera ett återuppringning för meddelanden från IBM Watson IoT
- loop (): ställ in RGB -stift för att styra LED -lampor; skicka status för enheten till IBM Watson IoT (RGB- och sentimentpoäng)
- messageReceived (…): återuppringning uppmanas vid mottagning av meddelanden med sentimentpoäng från Watson IoT -applikation. Poängen mappas till RGB -värde (negativt: rött; positivt: grönt).
Konfigurera koden enligt följande, baserat på referenser som genererades under enhetsregistreringsproceduren (org-id, enhetstyp, enhets-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 = "din-pwd";
- char *ibm_hostname = "ditt-org-id.messaging.internetofthings.ibmcloud.com";
Programmet prenumererar på ämnet iot-2/cmd/+/fmt/string och messageReceived callback parses messages for command type sentiment.
Statusmeddelanden publiceras till ämnet: iot-2/evt/status/fmt/json
Obs: kom ihåg att uppdatera SSL -certifikat för MKR1000; följ instruktionerna här: https://github.com/arduino-libraries/WiFi101-Firm … och sätt in ditt ibm_hostname för att ladda ner och installera i root-certifikat i MKR1000.
Arduino skiss bifogad.
Steg 5: Anslut din mugg
Det hade varit trevligt att göra lite mer integrering av elektronik och lysdioder i muggen, men för det här projektet har jag helt enkelt fäst den adesiva LED -remsan runt muggen som visas på bilden.
Sedan ansluter jag LED -remsan till breadboardkretsen, driver LED: n och Arduino MKR1000 och väntar på att få meddelanden med sentimentpoäng från NodeRED -applikationen. På bilden testade jag till exempel genom att skicka e -postmeddelanden till mitt konto som innehåller texten "Bra jobbat !, Ditt projekt är underbart!" etc.
Det är också möjligt att i den offentliga IBM Quickstart -webbsidan (https://quickstart.internetofthings.ibmcloud.com) kontrollera statusen i realtid för Arduino -applikationen (RGB -kod visas och sentimentpoängen tas emot); du behöver bara ange enhets -id..
Nu kan jag äntligen njuta av min kaffe i en ansluten mugg.
Rekommenderad:
Ambilight -system för varje ingång som är ansluten till din TV. WS2812B Arduino UNO Raspberry Pi HDMI (uppdaterad 12.2019): 12 steg (med bilder)
Ambilight -system för varje ingång som är ansluten till din TV. WS2812B Arduino UNO Raspberry Pi HDMI (Uppdaterad 12.2019): Jag har alltid velat lägga till ambilight till min TV. Det ser så coolt ut! Jag gjorde äntligen det och jag blev inte besviken! Jag har sett många videor och många självstudier om hur man skapar ett Ambilight -system för din TV men jag har aldrig hittat en fullständig handledning för mitt exakta
Resurrect Your Dead Pleo RB med en ansluten PSU: 5 steg (med bilder)
Resurrect Your Dead Pleo RB med en kopplad PSU: Observera att alla foton för denna instruerbara togs efter att jag hade slutfört modifieringarna så att du måste titta noga på de delar du har efter demontering av batterilådan och jämföra dem med de medföljande bilderna här innan du ändrar
E-Ink Display-mugg: 8 steg (med bilder)
E-Ink Display Mug: Detta är en av de galna idéerna som bara spontant ligger i min hjärna. Jag tänkte, skulle det inte vara fantastiskt om det fanns en kaffemugg som du kunde anpassa direkt? En som såg ut ungefär som en vanlig kaffekopp. Jag sökte och
Ansluten termostat: 6 steg (med bilder)
Ansluten termostat: Övervakning av temperaturen i ditt hem är definitivt ett av de bästa sätten att spara på din energiräkning. Samtidigt vill du må bra i ett varmt hem under vintern. Min nuvarande termostat tillåter bara en statisk programmering: Jag
Gör en smart mugg av LED & Arduino: 6 steg
Gör en smart mugg av LED & Arduino: I det här projektet kommer vi att använda RGB -lysdioder, en miljösensor och en Arduino Nano för att skicka ett meddelande eller larma med färgade lampor. I slutet av detta projekt kan du: Läs omgivningstemperatur från DS18B20 -sensorn från Arduino. Kontroll R