Innehållsförteckning:

Ansluten mugg: 5 steg (med bilder)
Ansluten mugg: 5 steg (med bilder)

Video: Ansluten mugg: 5 steg (med bilder)

Video: Ansluten mugg: 5 steg (med bilder)
Video: Wie man MÄNNERHAARSCHNITTE schneidet! Modische Stilvolle Männer Haarschnitt! Schritt für Schritt! 2024, November
Anonim
Ansluten mugg
Ansluten mugg

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årdvarukomponenter
Hårdvarukomponenter
Hårdvarukomponenter
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

Utveckla Node-RED-applikationen för sentimentanalys
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

Anslut din mugg
Anslut din mugg
Anslut din mugg
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: