Innholdsfortegnelse:
- Trinn 1: Maskinvarekomponenter
- Trinn 2: Opprett en konto på IBM Watson IoT og registrer enheten
- Trinn 3: Utvikle Node-RED-applikasjonen for sentimentanalyse
- Trinn 4: Arduino Sketch
- Trinn 5: Koble til kruset
Video: Tilkoblet krus: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Noen ganger om morgenen mens jeg nipper til kaffen før jeg går til kontoret, vil jeg få et glimt av hva det venter meg i innboksen min. dvs. antallet og tonen i e -postmeldinger som er mottatt …. enten prosjektet jeg nettopp avsluttet dagen før fungerer eller ikke, og om det er positive eller negative kommentarer om det. På den annen side har jeg ikke noe imot å åpne e -postklientprogrammet med mobilen min og begynne å lese e -post under frokosten.
Fra disse betraktningene kommer ideen om dette prosjektet; den bruker et kaffekopp forbedret med LED -lys som endrer farger basert på resultatet av følelsesanalyse utført på de siste uleste e -postene jeg mottok i e -postkontoen min. Bare koble til kruset og LED -lysene blir grønn hvis siste mottatte e -post har positive meldinger, rød farge for det motsatte.
Følelsesanalysen av uleste e -postmeldinger utføres av IBM Watson IoT -tjenester. Et Arduino MKR1000 -kort brukes til å kontrollere LED -stripen og for å koble til IBM Watson IoT -tjenester over WiFi ved hjelp av MQTT -protokoll.
Trinn 1: Maskinvarekomponenter
Maskinvareutviklingstavle:
Arduino MKR1000
Maskinvare BOM
- 3x 100ohm motstander
- 3x TIP122 NPN -transistorer
- 1x strømkontakt
- 1x RGB LED Light Strip (AglaiaLT-S2)
- Reservekabler
Ledningene for å kontrollere LED-stripe med Arduino MKR1000 er basert på denne opplæringen:
Trinn 2: Opprett en konto på IBM Watson IoT og registrer enheten
For å opprette en skyapplikasjon som kan utføre sentimentanalyse av uleste e-poster med IBM Watson IoT, er det nødvendig først å registrere en gratis prøvekonto (https://www.ibm.com/internet-of-things/trial/). Det andre trinnet er å lage en applikasjon for Watson IoT -plattform og registrere Arduino MKR1000 -kortet; dette er nå en standard prosedyre for å koble maskinvareplattformer til IBM Watson IoT, og det er godt dokumentert i IBMs hurtigstartguider:
console.ng.bluemix.net/docs/services/IoT/i…
IBM tilbyr også kjeleplatemaler for IoT som fremskynder disse trinnene ved å begrense tjenestene og kjøretiden som er nødvendig for å starte IoT -applikasjonen. IoT for Electronics Starter Boilerplate var den som ble brukt til dette prosjektet.
Trinn for trinn -enhetsregistreringsguide er gitt her:
console.ng.bluemix.net/docs/services/IoT/i…
Noter organisasjons-ID, legitimasjon, enhets-ID og enhetstype, når du har fullført enhetsregistreringsprosedyren, siden disse vil være nødvendige for å konfigurere Arduino-skisse og NodeRED-applikasjonen.
Trinn 3: Utvikle Node-RED-applikasjonen for sentimentanalyse
NodeRED er et visuelt verktøy som kan brukes i IBM Watson IoT -plattform for å lage applikasjonsledninger og skytjenester (nodered.org).
NodeRED -applikasjonen som er utviklet er veldig enkel og består av to strømmer, en for sentimentanalyse av e -post, og en annen for å logge statusen til Arduino MKR1000 (sentimentpoeng mottatt av enheten og RGB -kombinasjon for LED -en som vises).
Den første flyten kobles til en e -postkonto med jevne mellomrom og henter de siste uleste e -postene; konfigurasjonen avhenger av din e -postkonto. Hver mottatt e -post sendes til sentimentanalyseboks, som returnerer en poengsum (mindre eller over 0) basert på negativt/positivt innhold i teksten som er analysert (se informasjon https://github.com/thisandagain/sentiment/blob/mas… for mer informasjon). Sentiment score blir sendt til en enkel funksjonsboks som beregner gjennomsnittet av de siste mottatte dataene og skyver resultatet til neste node. Til slutt sender den siste blokken en melding som inneholder verdien av følelsespoengsummen til den tilkoblede enheten ved hjelp av MQTT -protokollen; denne blokken må konfigureres med legitimasjonen generert under enhetsregistreringsprosessen.
Den andre flyten brukes til testformål for å visualisere statusen til Arduino -kortet; den kobler en inngang IoT -node for Arduino -kortet til IBMs hurtigstart -webside for datavisualisering (https://quickstart.internetofthings.ibmcloud.com/). Input IoT -noden er konfigurert som ovenfor for å motta statusmeldinger fra Arduino Board ved bruk av MQTT -protokollene. Statusmeldinger inneholder følelsespoeng og RGB -kombinasjon for LED som for tiden brukes i Arduino.
Node-RED-applikasjonen ble eksportert til klippebordet og lagt ved her som en.txt-fil.
Trinn 4: Arduino Sketch
Arduino-skisse er basert på MQTT-klientbiblioteket av Gilberto Conti (https://github.com/256dpi/arduino-mqtt) som ble endret for å koble til IBM Watson IoT. Koden består av tre deler:
- setup (): koble til WiFi AP og IBM MQTT -megler; registrer et tilbakeringing for meldinger mottatt fra IBM Watson IoT
- loop (): sett RGB -pin for å kontrollere LED -lys; send statusen til enheten til IBM Watson IoT (RGB- og sentimentpoeng)
- melding mottatt (…): tilbakeringing ble oppringt ved mottak av meldinger med følelsespoeng fra Watson IoT -applikasjon. Poengsummen er kartlagt til RGB -verdi (negativ: rød; positiv: grønn).
Konfigurer koden som følger, basert på legitimasjon generert under enhetsregistreringsprosedyren (org-id, enhetstype, 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 = "din-org-id.messaging.internetofthings.ibmcloud.com";
Programmet abonnerer på emnet iot-2/cmd/+/fmt/string og messageReceived callback parses messages for command type sentiment.
Statusmeldinger er publisert til emnet: iot-2/evt/status/fmt/json
Merk: husk å oppdatere SSL -sertifikatet for MKR1000; følg instruksjonene her: https://github.com/arduino-libraries/WiFi101-Firm … og sett inn ibm_hostname for å laste ned og installere rotsertifikatene i MKR1000.
Arduino skisse vedlagt.
Trinn 5: Koble til kruset
Det ville vært fint å gjøre litt mer integrering av elektronikk og lysdioder i kruset, men for dette prosjektet festet jeg ganske enkelt den klebende LED -stripen rundt kruset som vist på bildet.
Deretter kobler jeg LED -stripen til brødbrettskretsen, driver LED -en og Arduino MKR1000 og venter på å motta meldinger med følelsespoeng fra NodeRED -applikasjonen. På bildet testet jeg for eksempel ved å sende til kontoen min e -post som inneholder tekst som "Great work !, Ditt prosjekt er fantastisk!" etc.
Det er også mulig å sjekke den offentlige IBM Quickstart -nettsiden (https://quickstart.internetofthings.ibmcloud.com) statusen i sanntid for Arduino -applikasjonen (RGB -kode som vises og følelsespoengsummen mottas); trenger bare å skriv inn enhets -ID..
Nå kan jeg endelig nyte kaffen min i et tilkoblet krus.
Anbefalt:
E-Ink Display Krus: 8 trinn (med bilder)
E-Ink Display Mug: Dette er en av de vanvittige ideene som spontant ligger i hjernen min. Jeg tenkte, ville det ikke vært fantastisk hvis det var et kaffekopp som du kunne tilpasse i farten? En som så ganske mye ut som en vanlig kaffekopp. Jeg søkte og
Internett -tilkoblet vifte for Zwift: 7 trinn (med bilder)
Internett -tilkoblet vifte for Zwift: Jeg laget en vifte som er koblet til internett for bruk med Zwift, et virtuelt sykkelracespill / treningssystem. Når du går raskere i Zwift, vifter viften raskere for å simulere utenfor rideforhold .;) Jeg hadde det gøy å bygge dette, håper du liker
Tilkoblet termostat: 6 trinn (med bilder)
Tilkoblet termostat: Overvåking av temperaturen i hjemmet ditt er definitivt en av de beste måtene å spare på energiregningen. Samtidig vil du føle deg godt i et varmt hjem om vinteren. Min nåværende termostat tillater bare en statisk programmering: Jeg
Tilkoblet Letterbox Solar Powered: 12 trinn (med bilder)
Connected Letterbox Solar Powered: For min andre Ible vil jeg beskrive arbeidet mitt om min tilkoblede brevkasse. Open Green Energy jobber med å koble brevkassen min til
Tilkoblet lader: 5 trinn (med bilder)
Tilkoblet lader: For en måned siden har jeg kjøpt en elektrisk scooter for hver dagstur til jobb. Han heter HP_BEXXTER (bare google det for mer informasjon :-)) Nå ville jeg vite hvor mye energi jeg trenger for disse stasjonene. Jeg vil også samle mer informasjon om