Table des matières:
- Étape 1: Composants matériels
- Étape 2: créez un compte sur IBM Watson IoT et enregistrez votre appareil
- Étape 3: Développer l'application Node-RED pour l'analyse des sentiments
- Étape 4: Esquisse Arduino
- Étape 5: Connectez votre tasse
Vidéo: Mug connecté : 5 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Parfois le matin en sirotant mon café avant d'aller au bureau, j'aimerais avoir un aperçu de ce qu'il m'attend dans ma boite mail. c'est-à-dire le nombre et le ton des e-mails reçus… si le projet que je viens de terminer la veille fonctionne ou non et s'il y a des commentaires positifs ou négatifs à son sujet. D'un autre côté, cela ne me dérange pas vraiment d'ouvrir l'application client de messagerie avec mon mobile et de commencer à lire les e-mails pendant le petit-déjeuner.
De ces considérations vient l'idée de ce projet; il utilise une tasse à café rehaussée de lumières LED qui changent de couleur en fonction du résultat de l'analyse des sentiments effectuée sur les derniers e-mails non lus reçus dans mon compte de messagerie. Il suffit de brancher la tasse et les lumières LED deviendront vertes si les derniers e-mails reçus contiennent des messages positifs, la couleur rouge pour le contraire.
L'analyse des sentiments des e-mails non lus est effectuée par les services IBM Watson IoT. Une carte Arduino MKR1000 est utilisée pour contrôler la bande LED et pour se connecter aux services IBM Watson IoT via WiFi à l'aide du protocole MQTT.
Étape 1: Composants matériels
Carte de développement matériel:
Arduino MKR1000
Nomenclature matérielle
- 3 résistances de 100 ohms
- 3x transistors TIP122 NPN
- 1x prise d'alimentation
- 1x bande lumineuse LED RVB (AglaiaLT-S2)
- Câbles de rechange
Le câblage pour contrôler la bande LED avec Arduino MKR1000 est basé sur ce tutoriel:
Étape 2: créez un compte sur IBM Watson IoT et enregistrez votre appareil
Afin de créer une application cloud capable d'effectuer une analyse des sentiments des e-mails non lus avec IBM Watson IoT, il est d'abord nécessaire de signer pour un compte d'essai gratuit (https://www.ibm.com/internet-of-things/trial/). La deuxième étape consiste à créer une application pour la plate-forme Watson IoT et à enregistrer votre carte Arduino MKR1000; il s'agit désormais d'une procédure standard pour connecter les plates-formes matérielles à IBM Watson IoT, et elle est bien documentée dans les guides de démarrage rapide IBM:
console.ng.bluemix.net/docs/services/IoT/i…
IBM fournit également des modèles standard pour l'IoT qui accélèrent ces étapes en délimitant les services et les temps d'exécution nécessaires pour lancer votre application IoT. IoT for Electronics Starter Boilerplate a été celui utilisé pour ce projet.
Le guide d'enregistrement de l'appareil étape par étape est fourni ici:
console.ng.bluemix.net/docs/services/IoT/i…
Notez votre org-id, vos informations d'identification, votre device-id et votre type d'appareil une fois la procédure d'enregistrement de l'appareil terminée, car ils seront nécessaires pour configurer Arduino Sketch et l'application NodeRED.
Étape 3: Développer l'application Node-RED pour l'analyse des sentiments
NodeRED est un outil visuel qui peut être utilisé dans la plateforme IBM Watson IoT pour créer des dispositifs de câblage d'applications et des services Cloud (nodered.org).
L'application NodeRED développée est très simple et composée de deux flux, un pour l'analyse des sentiments des e-mails et un autre pour l'enregistrement de l'état de l'Arduino MKR1000 (score de sentiments reçu par l'appareil et combinaison RVB pour la LED affichée).
Le premier flux se connecte périodiquement à un compte de messagerie et récupère les derniers e-mails non lus; la configuration dépend de votre compte de messagerie. Chaque e-mail reçu est envoyé à la boîte d'analyse des sentiments, qui renvoie un score (inférieur ou supérieur à 0) basé sur le contenu négatif/positif du texte analysé (voir les informations https://github.com/thisandagain/sentiment/blob/mas… pour plus de détails). Le score de sentiment est envoyé à une boîte de fonction simple qui calcule la moyenne des dernières données reçues et envoie le résultat au nœud suivant. Enfin, le dernier bloc envoie un message contenant la valeur du score de sentiment à l'appareil connecté en utilisant le protocole MQTT; ce bloc doit être configuré avec les informations d'identification générées lors du processus d'enregistrement de l'appareil.
Le deuxième flux est utilisé à des fins de test pour visualiser l'état de la carte Arduino; il connecte un nœud IoT d'entrée pour votre carte Arduino à la page Web de démarrage rapide d'IBM pour la visualisation des données (https://quickstart.internetofthings.ibmcloud.com/). Le nœud IoT d'entrée est configuré comme ci-dessus pour recevoir des messages d'état de la carte Arduino à l'aide des protocoles MQTT. Les messages d'état contiennent le score de sentiment et la combinaison RVB pour la LED actuellement utilisée dans Arduino.
L'application Node-RED a été exportée dans le presse-papiers et jointe ici en tant que fichier.txt.
Étape 4: Esquisse Arduino
L'esquisse Arduino est basée sur la bibliothèque cliente MQTT de Gilberto Conti (https://github.com/256dpi/arduino-mqtt) qui a été modifiée pour se connecter à IBM Watson IoT. Le code est composé de trois parties:
- setup(): connectez-vous avec le WiFi AP et le courtier IBM MQTT; enregistrer un rappel pour les messages reçus d'IBM Watson IoT
- loop(): définissez la broche RVB pour contrôler les lumières LED; envoyer à IBM Watson IoT le statut de l'appareil (RVB et score de sentiment)
- messageReceived(…): rappel appelé à la réception de messages avec score de sentiment de l'application Watson IoT. Le score est mappé à la valeur RVB (négatif: rouge; positif: vert).
Configurez le code comme suit, en fonction des informations d'identification générées lors de la procédure d'enregistrement de l'appareil (org-id, device-type, device-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 *mdp = "votre-mdp ";
- char *ibm_hostname = "votre-org-id.messaging.internetofthings.ibmcloud.com";
L'application s'abonne à la rubrique iot-2/cmd/+/fmt/string et le rappel messageReceived analyse les messages pour le type de commande sentiment.
Les messages d'état sont publiés dans le sujet: iot-2/evt/status/fmt/json
Remarque: n'oubliez pas de mettre à jour le certificat SSL pour MKR1000; suivez les instructions ici: https://github.com/arduino-libraries/WiFi101-Firm… et insérez votre ibm_hostname pour télécharger et installer dans MKR1000 les certificats racine.
Croquis Arduino joint.
Étape 5: Connectez votre tasse
Cela aurait été bien de faire un peu plus d'intégration de l'électronique et des LED dans la tasse, mais pour ce projet, j'ai simplement attaché la bande LED adhésive autour de la tasse comme indiqué sur la photo.
Ensuite, je connecte la bande LED au circuit de la maquette, alimente la LED et l'Arduino MKR1000 et attends de recevoir des messages avec le score de sentiment de l'application NodeRED. Dans l'image par exemple j'ai testé en envoyant à mon compte des emails contenant du texte comme "Super travail !, ton projet est magnifique !" etc.
Il est également possible de vérifier dans la page Web publique d'IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) l'état en temps réel de l'application Arduino (le code RVB étant affiché et le score de sentiment reçu); il suffit de entrez l'identifiant de l'appareil..
Je peux enfin savourer mon café dans un mug connecté.
Conseillé:
Créez votre propre thermostat de chauffage connecté et économisez sur le chauffage : 53 étapes (avec photos)
Fabriquer son propre thermostat de chauffage connecté et faire des économies sur le chauffage : à quoi ça sert ? Augmentez le confort en chauffant votre maison exactement comme vous le souhaitez Réalisez des économies et réduisez les émissions de gaz à effet de serre en ne chauffant votre maison que lorsque vous en avez besoin Gardez le contrôle de votre chauffage où que vous soyez Soyez fier de l'avoir fait y
Ventilateur connecté à Internet pour Zwift : 7 étapes (avec photos)
Fan connecté à Internet pour Zwift : j'ai créé un ventilateur connecté à Internet pour une utilisation avec Zwift, un jeu de course de vélo virtuel / système d'entraînement. Lorsque vous allez plus vite dans Zwift, le ventilateur tourne plus vite pour simuler les conditions de conduite extérieures.;) Je me suis bien amusé à le construire, j'espère que vous apprécierez
Tweetbot - Photomaton connecté à Twitter : 4 étapes (avec photos)
Tweetbot - Twitter Connected Photo Booth : Dans ce projet, nous allons fabriquer un appareil photo alimenté par Raspberry Pi qui peut être utilisé dans un photomaton lors de fêtes. Une fois la photo prise, elle peut être publiée sur un compte Twitter désigné pour que tout le monde puisse la voir plus tard. Ce tutoriel englobera la te
Thermostat connecté : 6 étapes (avec photos)
Thermostat connecté : Surveiller avec précision la température de votre maison est certainement l'un des meilleurs moyens d'économiser sur votre facture d'énergie. En même temps, vous voulez vous sentir bien dans une maison chaleureuse pendant l'hiver. Mon thermostat actuel ne permet qu'une programmation statique : je
Chargeur connecté : 5 étapes (avec photos)
Chargeur connecté : il y a quelques mois, j'ai acheté un scooter électrique pour me rendre au travail tous les jours. Il s'appelle HP_BEXXTER (il suffit de le rechercher sur Google pour plus d'informations :-))Maintenant, je voulais savoir de combien d'énergie j'avais besoin pour ces disques. Je souhaite également recueillir plus d'informations sur