Inhoudsopgave:
- Stap 1: Hardwarecomponenten
- Stap 2: Maak een account aan op IBM Watson IoT en registreer uw apparaat
- Stap 3: Ontwikkel de Node-RED-applicatie voor sentimentanalyse
- Stap 4: Arduino-schets
- Stap 5: sluit uw mok aan
Video: Verbonden mok: 5 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Soms wil ik 's ochtends onder het genot van mijn koffie voordat ik naar kantoor ga, een glimp opvangen van wat het me verwacht in mijn e-mailinbox. d.w.z. het aantal en de toon van de ontvangen e-mails … of het project dat ik de dag ervoor net heb voltooid nu werkt of niet en of er positieve of negatieve opmerkingen over zijn. Aan de andere kant vind ik het niet erg om de e-mailclient-applicatie met mijn mobiel te openen en e-mails te lezen tijdens het ontbijt.
Uit deze overwegingen komt het idee van dit project; het maakt gebruik van een koffiemok die is verbeterd met LED-lampjes die van kleur veranderen op basis van het resultaat van sentimentanalyse die is uitgevoerd op de laatste ongelezen e-mails die in mijn e-mailaccount zijn ontvangen. Sluit gewoon de mok aan en de LED-lampjes worden groen als de laatst ontvangen e-mails positieve berichten hebben, rode kleur voor het tegenovergestelde.
De sentimentanalyse van ongelezen e-mails wordt uitgevoerd door IBM Watson IoT-services. Een Arduino MKR1000-bord wordt gebruikt om de LED-strip te besturen en om verbinding te maken met IBM Watson IoT-services via WiFi met behulp van het MQTT-protocol.
Stap 1: Hardwarecomponenten
Hardware-ontwikkelingsbord:
Arduino MKR1000
Hardwarestuklijst
- 3x 100ohm weerstanden
- 3x TIP122 NPN-transistors
- 1x stroomaansluiting
- 1x RGB LED-lichtstrip (AglaiaLT-S2)
- Reserve kabels
De bedrading om LED strip met Arduino MKR1000 aan te sturen is gebaseerd op deze tutorial:
Stap 2: Maak een account aan op IBM Watson IoT en registreer uw apparaat
Om een cloudtoepassing te maken die sentimentanalyse kan uitvoeren van ongelezen e-mails met IBM Watson IoT, moet u zich eerst aanmelden voor een gratis proefaccount (https://www.ibm.com/internet-of-things/trial/). De tweede stap is het maken van een applicatie voor het Watson IoT-platform en het registreren van je Arduino MKR1000-bord; dit is nu een standaardprocedure om hardwareplatforms te verbinden met IBM Watson IoT, en het is goed gedocumenteerd in de snelstartgidsen van IBM:
console.ng.bluemix.net/docs/services/IoT/i…
IBM biedt ook standaardsjablonen voor IoT die deze stappen versnellen door de services en runtimes te beperken die nodig zijn om uw IoT-toepassing te starten. Voor dit project werd IoT for Electronics Starter Boilerplate gebruikt.
Stapsgewijze handleiding voor apparaatregistratie vindt u hier:
console.ng.bluemix.net/docs/services/IoT/i…
Noteer uw org-id, credential, device-id en device-type, zodra de apparaatregistratieprocedure is voltooid, aangezien deze nodig zijn om Arduino-schets en de NodeRED-toepassing te configureren.
Stap 3: Ontwikkel de Node-RED-applicatie voor sentimentanalyse
NodeRED is een visuele tool die kan worden gebruikt in het IBM Watson IoT-platform om applicaties te maken voor bedradingsapparaten en cloudservices (nodered.org).
De ontwikkelde NodeRED-applicatie is heel eenvoudig en bestaat uit twee stromen, een voor sentimentanalyse van e-mails en een andere voor het loggen van de status van Arduino MKR1000 (sentimentscore ontvangen door apparaat en RGB-combinatie voor de weergegeven LED).
De eerste stroom maakt periodiek verbinding met een e-mailaccount en haalt de laatste ongelezen e-mails op; configuratie hangt af van uw e-mailaccount. Elke ontvangen e-mail wordt verzonden naar het vak voor sentimentanalyse, dat een score (minder of hoger dan 0) retourneert op basis van negatieve/positieve inhoud van de geanalyseerde tekst (zie informatie https://github.com/thisandagain/sentiment/blob/mas… voor meer details). De sentimentscore wordt naar een eenvoudige functiebox gestuurd die het gemiddelde van de laatst ontvangen gegevens berekent en het resultaat naar het volgende knooppunt pusht. Ten slotte stuurt het laatste blok een bericht met de waarde van de sentimentscore naar het aangesloten apparaat met behulp van het MQTT-protocol; dit blok moet worden geconfigureerd met de referenties die zijn gegenereerd tijdens het apparaatregistratieproces.
De tweede stroom wordt gebruikt voor testdoeleinden om de status van het Arduino-bord te visualiseren; het verbindt een IoT-invoerknooppunt voor uw Arduino-bord met de IBM Quickstart-webpagina voor gegevensvisualisatie (https://quickstart.internetofthings.ibmcloud.com/). Het invoer-IoT-knooppunt is zoals hierboven geconfigureerd om statusberichten van Arduino Board te ontvangen met behulp van de MQTT-protocollen. Statusberichten bevatten de sentimentscore en de RGB-combinatie voor LED die momenteel in Arduino wordt gebruikt.
Node-RED-applicatie is geëxporteerd naar clipbord en hier als.txt-bestand bijgevoegd.
Stap 4: Arduino-schets
Arduino-schets is gebaseerd op de MQTT-clientbibliotheek van Gilberto Conti (https://github.com/256dpi/arduino-mqtt) die is aangepast om verbinding te maken met IBM Watson IoT. De code bestaat uit drie delen:
- setup(): maak verbinding met WiFi AP en IBM MQTT-broker; een terugbelverzoek registreren voor berichten die zijn ontvangen van IBM Watson IoT
- loop(): stel RGB-pin in om LED-verlichting te bedienen; stuur naar IBM Watson IoT de status van het apparaat (RGB en sentimentscore)
- messageReceived(…): terugbelverzoek bij ontvangst van berichten met sentimentscore van Watson IoT-toepassing. De score wordt toegewezen aan RGB-waarde (negatief: rood; positief: groen).
Configureer de code als volgt, gebaseerd op inloggegevens die zijn gegenereerd tijdens de apparaatregistratieprocedure (org-id, device-type, device-id):
- MQTT_MODE = IBM_API_KEY
- char *client_id = "d:uw-organisatie-id:uw-apparaattype:uw-apparaat-id";
- char *user_id = "gebruik-token-auth";
- char *pwd = "uw-wachtwoord";
- char *ibm_hostname = "uw-organisatie-id.messaging.internetofthings.ibmcloud.com";
De applicatie is geabonneerd op topic iot-2/cmd/+/fmt/string en messageReceived callback ontleedt berichten voor commandotype sentiment.
Statusberichten worden gepubliceerd in het onderwerp: iot-2/evt/status/fmt/json
Opmerking: vergeet niet het SSL-certificaat voor MKR1000 bij te werken; volg de instructies hier: https://github.com/arduino-libraries/WiFi101-Firm… en voer uw ibm_hostname in om de rootcertificaten te downloaden en te installeren in MKR1000.
Arduino schets bijgevoegd.
Stap 5: sluit uw mok aan
Het zou leuk geweest zijn om wat meer integratie van elektronica en LED's in de mok te doen, maar voor dit project heb ik gewoon de adesieve LED-strip rond de mok bevestigd zoals op de afbeelding te zien is.
Vervolgens sluit ik de LED-strip aan op het breadboard-circuit, voed ik de LED en de Arduino MKR1000 en wacht ik op het ontvangen van berichten met sentimentscore van de NodeRED-applicatie. In de afbeelding die ik bijvoorbeeld heb getest door e-mails naar mijn account te sturen met tekst als "Geweldig werk!, Uw project is geweldig!" enzovoort.
Het is ook mogelijk om op de openbare IBM Quickstart-webpagina (https://quickstart.internetofthings.ibmcloud.com) de status in realtime van de Arduino-toepassing te controleren (RGB-code wordt weergegeven en de ontvangen sentimentscore); voer apparaat-ID in..
Nu kan ik eindelijk genieten van mijn koffie in een aangesloten mok.
Aanbevolen:
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: 9 stappen
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: gebruik uw Hologram Nova om uw infrastructuur achteraf aan te passen. Stel de Hologram Nova in met een Raspberry Pi om (temperatuur)gegevens naar Ubidots te sturen. In de volgende gids zal Ubidots demonstreren hoe je een Hologram Nova instelt met behulp van een Raspberry Pi en een te
E-Ink Display-mok - Ajarnpa
E-Ink Display-mok: dit is een van die gekke ideeën die zich spontaan in mijn hersenen nestelen. Ik dacht, zou het niet geweldig zijn als er een koffiemok was die je meteen kon aanpassen? Eentje die er ongeveer uitzag als een gewoon koffiekopje. Ik heb gezocht en
Maak een slimme mok van LED & Arduino - Ajarnpa
Maak een slimme mok van LED & Arduino: in dit project gebruiken we RGB-LED's, een omgevingssensor en een Arduino Nano om een bericht te verzenden of een alarm te maken met gekleurde lichten. Aan het einde van dit project kunt u: De omgevingstemperatuur aflezen van de DS18B20-sensor door Arduino. Besturing R
Verbonden LED-lampen - IoT-projecten: 7 stappen (met afbeeldingen)
Verbonden LED-lampen | IoT-projecten: dit is niet zomaar een gegraveerde LED-lamp die je tegenwoordig op de markt ziet. Dit is een geavanceerde versie van die lampen. In het tijdperk van connected devices heb ik mijn eigen connected lampen gemaakt. Dit project is geïnspireerd op één product genaamd Filimin:
Goedkope web-verbonden thermostaat: 12 stappen (met afbeeldingen)
Goedkope web-verbonden thermostaat: een van de eerste Internet of Things-producten die in veel huishoudens zijn weg vond, is de slimme thermostaat. Ze kunnen leren wanneer u wilt dat uw huis warm wordt en welke kamertemperatuur gewoonlijk vereist is. Het leuke is dat ze ook