Innholdsfortegnelse:

Tilkoblet krus: 5 trinn (med bilder)
Tilkoblet krus: 5 trinn (med bilder)

Video: Tilkoblet krus: 5 trinn (med bilder)

Video: Tilkoblet krus: 5 trinn (med bilder)
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, November
Anonim
Tilkoblet krus
Tilkoblet krus

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

Maskinvarekomponenter
Maskinvarekomponenter
Maskinvarekomponenter
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

Utvikle Node-RED-applikasjonen for sentimentanalyse
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

Koble til kruset
Koble til kruset
Koble til kruset
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: