Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Capteur de température et d'humidité MKR1000

Composants et fournitures

Arduino MKR1000
× 1
Capteur de température DHT22
× 1

Applications et services en ligne

Microsoft Azure
Arduino IDE
Microsoft Visual Studio 2015

À propos de ce projet

Paul DeCarlo a un excellent article sur l'envoi de données météorologiques d'un photon de particule à Microsoft Azure. Je voulais dupliquer cela avec le nouvel Arduino MKR1000.

Le photon utilise un webhook pour envoyer des données du nuage de particules vers Azure. Étant donné que le MKR1000 prend en charge HTTPS, les données peuvent être envoyées directement à Azure. Ce guide permettra de connecter votre MKR1000 à Azure et de réutiliser une grande partie du code côté serveur du projet Microsoft Connect the Dots.

Matériel

Un capteur DHT22 est utilisé pour mesurer la température et l'humidité. Vous pouvez également modifier le code pour prendre en charge le capteur DHT11. Câblez le capteur DHT sur la planche à pain. Envoyez 3,3 volts du MKR1000 à la première broche. Placez une résistance de rappel de 10 000 Ω de 3,3 V à la broche 2. Connectez la broche 3 à la terre. Faites passer un fil de la broche 2 du DHT22 à la broche 6 du MKR1000.

Pour plus d'informations sur DHT22, consultez le didacticiel DHT d'Adafruit.

IDE Arduino

Ouvrez l'IDE Arduino. Utilisez le gestionnaire de cartes pour installer la carte MKR1000. Utilisez le gestionnaire de bibliothèque pour installer la bibliothèque WiFi101.

HTTPS

L'Arduino MKR1000 prend en charge HTTPS, mais nous devons installer manuellement les certificats pour les sites que nous visiterons. Cela est nécessaire car la mémoire de l'appareil est limitée. Il s'agit d'un processus en deux étapes. Nous chargeons d'abord un croquis sur le tableau, puis exécutons un programme sur notre ordinateur pour télécharger les certificats.

Utilisez l'IDE Arduino pour charger le Firmware Updater Sketch sur votre carte.

Téléchargez le programme de mise à jour du micrologiciel WiFi101. Décompressez l'archive et exécutez winc1500-uploader-gui.exe.

Le certificat HTTPS pour les hubs d'événements Azure est délivré à servicebus.windows.net afin que toute URL de bus de service fonctionne. Saisissez ctd-ns.servicebus.windows.net dans le champ de texte. Choisissez votre port COM et téléchargez les certificats.

Esquisse Arduino

Clonez ou téléchargez le croquis Arudino à partir de https://github.com/don/MKR1000-Azure. Modifiez l'onglet ssid et modifiez le ssid[] et mot de passe[] pour correspondre à vos paramètres réseau. Téléchargez le croquis sur votre carte MKR1000.

Si vous obtenez des erreurs, vous devrez peut-être utiliser le gestionnaire de bibliothèque Arduino (Sketch -> Inclure la bibliothèque -> Gérer les bibliothèques...) pour installer la "bibliothèque de capteurs DHT", ArduinoJson ou la bibliothèque RTCZero.

Ouvrez le moniteur série Arduino (Outils -> Moniteur série) et assurez-vous que les données commencent à être envoyées à Azure.

L'esquisse réutilise un hub d'événements du projet Connect the dots. Cela signifie que nous pouvons utiliser l'application Web Azure existante pour afficher nos données. Ouvrez http://connectthedotsdx.azurewebsites.net/ dans votre navigateur. Vous devriez voir les données du MKR1000. Comme il s'agit d'un hub d'événements « public », les données de vos capteurs seront mélangées avec d'autres capteurs. Si plusieurs personnes exécutent ce code MKR1000, vous souhaiterez peut-être modifier le displayname ou guide dans le createJSON fonction.

Créer votre propre Event Hub 

L'exécution sur le hub d'événements existant est acceptable, mais vous pouvez également créer votre propre hub d'événements pour vos données. Cela nécessite Visual Studio et un abonnement Azure. L'édition communautaire gratuite de Visual Studio 2015 fonctionne très bien. Vous pouvez également vous inscrire pour un abonnement d'essai gratuit d'Azure.

Nous utiliserons le code du projet Connect the Dots. Clonez le projet avec git ou utilisez le bouton Télécharger ZIP sur la page Github.

git clone https://github.com/Azure/connectthedots.git

Vous pouvez suivre les instructions de Microsoft pour créer les ressources Azure, ce qui prend un certain temps mais vous donne une compréhension approfondie de la façon dont les pièces sont assemblées. Je suggère d'utiliser le projet AzurePrep du référentiel cloné pour créer automatiquement ces ressources.

Utilisez Visual Studio et ouvrez la solution AzurePrep à partir de connectthedots\Azure\AzurePrep. Exécutez le projet AzurePrep en mode Release .

L'application ouvrira des fenêtres vous invitant à vous connecter à Azure et à accorder l'autorisation à vos ressources. Après cela, répondez à un tas de questions dans le terminal pour créer les ressources.

Vous devez choisir un nom pour les ressources. La documentation Reliez les points recommande le nom ctd (connectez les points) + vos initiales. Par exemple, j'ai choisi "ctddc".

De retour dans Visual Studio, exécutez la cible CreateWebConfig à partir d'AzurePrep pour créer un fichier de configuration pour le site Web. Connectez-vous, suivez les instructions. Un fichier web.config sera écrit sur le bureau.

Copiez web.config depuis votre bureau dans le projet de site Web connectthedots, connectthedots\Azure\WebSite\ConnectTheDotsWebSite.

Ouvrez la solution ConnectTheDotsWebsite à partir de connectthedots\Azure\WebSite dans Visual Studio.

Vous devez ajouter le nouveau fichier web.config au projet. Cliquez avec le bouton droit sur la solution dans l'Explorateur de solutions. Choisissez "Ajouter -> Élément existant..." dans le menu. Accédez à ConnectTheDotsWebSite et ajoutez web.config.

Exécutez le projet dans Microsoft Edge. Vous ne verrez aucune donnée tant que nous n'aurons pas mis à jour le croquis sur le MKR1000.

L'esquisse Arduino a besoin d'une clé SAS pour accéder aux ressources Azure. Utilisez l'outil Event Hubs Signature Generator de Sandrino Di Mattia pour générer la clé au format correct. Téléchargez sur https://github.com/sandrinodimattia/RedDog/releases. Décompressez l'outil et lancez RedDog.ServiceBus.EventHubs.SignatureGenerator.

Remplissez l'interface utilisateur en utilisant l'espace de noms que vous avez créé auparavant. Depuis que j'ai utilisé ctddc lors de la création des ressources Azure, mon espace de noms est ctddc-ns. Le nom du hub est ehdevices. Le nom de la clé de l'éditeur et de l'expéditeur doit tous deux être D1. J'ai défini le Token TTL pour 1 an (525 600 minutes). La signature doit être bonne pour la durée de vie de l'appareil.

Vous devez vous connecter au portail Azure pour obtenir la clé de l'expéditeur. Dans le menu de gauche, choisissez Parcourir et utilisez le filtre pour rechercher des hubs d'événements.

Les hubs d'événements ouvrent une nouvelle fenêtre dans l'ancien portail Azure.

  • Cliquez sur l'espace de noms que vous avez créé.
  • Choisissez Event Hubs
  • Choisissez ehdevices
  • Choisissez configurer
  • Faites défiler vers le bas et copiez la clé primaire pour D1

Revenez à l'outil Générateur de signature et collez la clé dans le champ Clé de l'expéditeur. Cliquez sur le bouton Générer pour générer une signature.

Copiez la signature générée.

Ouvrez à nouveau l'esquisse MKR1000-Azure dans l'IDE Arduino. Nous devons remplacer le hostname[] et authSAS[] variables avec nos nouveaux paramètres de hub d'événements. Collez la signature générée dans le char authSAS[] domaine. Modifiez le champ du nom d'hôte pour qu'il corresponde à votre nom d'hôte. par exemple. char hostname[] ="ctddc-ns.servicebus.windows.net" ;

Enregistrez le croquis et téléchargez-le sur votre MKR1000. En option, ouvrez Serial Monitor et vérifiez que les données commencent à être envoyées à Azure.

ALT + TAB pour connecter le site Web de points fonctionnant dans Microsoft Edge et vous devriez commencer à voir les données de votre appareil.

Hub IoT

Azure IoT Hub est plus récent que Event Hub et peut être plus approprié pour votre projet. IoT Hub prend en charge la messagerie appareil-à-cloud (comme ce projet) et la messagerie cloud-à-appareil.

Utilisez le portail Azure pour créer un nouveau hub IoT.

Device Explorer est utilisé pour générer des signatures pour accéder au hub IoT. Téléchargez SetupDeviceExplorer.msi sur https://github.com/Azure/azure-iot-sdks/releases.

Revenez sur le portail Azure et ouvrez le nouveau hub Iot. Cliquez sur l'icône de clé, sélectionnez la ligne iothubowner, copiez la chaîne de connexion pour la clé primaire.

Ouvrez l'explorateur de périphériques, collez la chaîne de connexion, cliquez sur mettre à jour.

Cliquez sur l'onglet Gestion. Cliquez sur le bouton Créer sous Actions. Saisissez D1 comme ID de périphérique et cliquez sur Créer.

Mettez en surbrillance la ligne D1 et cliquez sur le bouton SAS Token et générez un nouveau token.

Ouvrez l'esquisse MKR1000-Azure dans l'IDE Arduino.

Remplacez le hostname[] avec le nom de votre hub IoT + ".azure-devices.net". Mettre à jour authSAS[] avec la valeur générée avec Device Explorer. Assurez-vous de ne copier que la partie du jeton SAS après "SharedAcessSignature=". Ajustez l'URI pour qu'il pointe vers le hub IoT.

char hostname[] ="hacksterdemo.azure-devices.net";char authSAS[] ="SharedAccessSignature sr=hacksterdemo.azure-devices.net%2fdevices%2fD1&sig=jnyTV8j2%2bY9BJ9fyEdb6Ryzul3e3e 1490944761";String deviceName ="D1";String uri ="/devices/" + deviceName + "/messages/events?api-version=2016-02-03"; 


Modifiez le code dans la fonction sendEvent qui vérifie une réponse valide. Event Hub envoie un HTTP 201 pour indiquer le succès. Le hub IoT envoie un HTTP 204.

Modifier

if (response.startsWith("HTTP/1.1 201")) {

À

if (response.startsWith("HTTP/1.1 204")) {

Utilisez l'IDE Arduino pour télécharger le croquis sur votre Arduino MKR1000.

Basculez sur l'onglet Données dans l'explorateur de périphériques. Cliquez sur le bouton du moniteur pour afficher les données envoyées à Event Hub.

Étant donné que ce projet envoie des données de l'appareil au cloud, j'utilise HTTP POST pour envoyer les données. Il existe également des bibliothèques pour envoyer et recevoir des données avec Azure IoT Hub. Malheureusement, IMO, ils ne sont pas encore très similaires à Arduino ou conviviaux. Si vous souhaitez que votre appareil reçoive des données d'Azure, les bibliothèques peuvent être plus utiles. Vous pouvez également consulter l'article de blog de Mohan Palanisamy sur l'envoi de données du hub IoT vers un MKR1000.

Cet article a montré comment envoyer des données de capteur de MRK1000 aux hubs Azure Event et au hub Iot. Nous avons utilisé la vue de code existante et représenté graphiquement les données. Consultez le projet Connect the dots pour découvrir d'autres façons d'écrire du code pour stocker, manipuler et afficher vos données avec Azure.

Maintenant que vous avez terminé, vous souhaiterez peut-être arrêter ou supprimer les ressources que vous n'utilisez pas pour limiter le montant qui vous est facturé. La solution AzurePrep a un projet ClearResources pour vous aider à supprimer les services Azure.

Code

Explorateur de périphériques
Outil pour IoT Hub. Télécharger SetupDeviceExplorer.msihttps://github.com/Azure/azure-iot-sdks/releases
Connectez les points
Exemple de code Azurehttps://github.com/Azure/connectthedots
MKR1000-Arduino
Code source Arduinohttps://github.com/don/MKR1000-Azure
Mise à jour du micrologiciel WiFi101
Outil pour ajouter des certificats TLS à MKR1000https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest
Générateur de signature Event Hubs
Outil pour générer des informations d'identification Azure pour MKR1000https://github.com/sandrinodimattia/RedDog/releases

Schémas

Publier une photo, car il n'y a pas de pièce MKR1000 Fritzing. Voir le texte de l'article pour les détails de câblage.

Processus de fabrication

  1. Capteur Arduino - Types et applications
  2. Fonctionnement du capteur d'humidité et ses applications
  3. Capteur DHT11 et son fonctionnement
  4. Aéroponie avec Raspberry Pi et capteur d'humidité
  5. Comment vérifier et étalonner un capteur d'humidité
  6. Capteur DHT11 avec LED et haut-parleur piézo
  7. Enregistreur de données de température et d'humidité
  8. Arduino Temp. Moniteur et horloge en temps réel avec affichage 3.2
  9. Tour de capteur cloud Arduino