Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

MKR1000 temperatuur- en vochtigheidssensor

Componenten en benodigdheden

Arduino MKR1000
× 1
DHT22-temperatuursensor
× 1

Apps en online services

Microsoft Azure
Arduino IDE
Microsoft Visual Studio 2015

Over dit project

Paul DeCarlo heeft een geweldig artikel over het verzenden van weergegevens van een Particle Photon naar Microsoft Azure. Ik wilde dit dupliceren met de nieuwe Arduino MKR1000.

De Photon gebruikt een webhook om gegevens van de Particle-cloud naar Azure te verzenden. Omdat de MKR1000 HTTPS ondersteunt, kunnen gegevens rechtstreeks naar Azure worden verzonden. Met deze handleiding wordt uw MKR1000 verbonden met Azure en wordt veel van de server-side code van het Microsoft Connect the Dots-project hergebruikt.

Hardware

Een DHT22-sensor wordt gebruikt om temperatuur en vochtigheid te meten. U kunt de code ook wijzigen om de DHT11-sensor te ondersteunen. Sluit de DHT-sensor aan op het breadboard. Stuur 3,3 volt van de MKR1000 naar de eerste pin. Plaats een pullup-weerstand van 10.000 van 3,3 V naar pin 2. Sluit pin 3 aan op aarde. Leid een draad van pin 2 op de DHT22 naar pin 6 op de MKR1000.

Zie Adafruit's DHT-tutorial voor meer informatie over DHT22.

Arduino IDE

Open de Arduino-IDE. Gebruik de Boards Manager om het MKR1000-bord te installeren. Gebruik de Library Manager om de WiFi101-bibliotheek te installeren.

HTTPS

De Arduino MKR1000 ondersteunt HTTPS, maar we moeten de certificaten handmatig installeren voor de sites die we zullen bezoeken. Dit is nodig omdat het geheugen op het toestel beperkt is. Dit is een proces in twee stappen. Eerst laden we een schets op het bord en draaien dan een programma op onze computer om de certificaten te uploaden.

Gebruik de Arduino IDE om de Firmware Updater Sketch op uw bord te laden.

Download de WiFi101 Firmware Updater. Pak het archief uit en voer winc1500-uploader-gui.exe uit.

Het HTTPS-certificaat voor Azure Event Hubs wordt uitgegeven aan servicebus.windows.net, dus elke servicebus-URL zou moeten werken. Typ ctd-ns.servicebus.windows.net in het tekstveld. Kies je COM-poort en upload de certificaten.

Arduino-schets

Kloon of download de Arudino-schets van https://github.com/don/MKR1000-Azure. Bewerk het ssid-tabblad en wijzig de ssid[] en wachtwoord[] om uw netwerkinstellingen aan te passen. Upload de schets naar je MKR1000-bord.

Als u fouten krijgt, moet u mogelijk de Arduino Library Manager gebruiken (Sketch -> Include Library -> Manage Libraries...) om de "DHT-sensorbibliotheek", ArduinoJson of RTCZero-bibliotheek te installeren.

Open de Arduino Serial Monitor (Extra -> Serial Monitor) en zorg ervoor dat de gegevens naar Azure worden verzonden.

De schets hergebruikt een Event-hub uit het connect the dots-project. Dit betekent dat we de bestaande Azure webapp kunnen gebruiken om onze data in te zien. Open http://connectthedotsdx.azurewebsites.net/ in uw browser. U zou gegevens van MKR1000 moeten zien. Aangezien dit een "openbare" evenementenhub is, worden uw sensorgegevens gemengd met andere sensoren. Als meerdere mensen deze MKR1000-code gebruiken, wilt u misschien de weergavenaam . wijzigen of gids in de createJSON functie.

Je eigen Event Hub maken 

Rennen tegen de bestaande Event Hub is OK, maar u kunt ook uw eigen Event Hub maken voor uw gegevens. Hiervoor heb je Visual Studio en een Azure-abonnement nodig. De Free Visual Studio 2015 Community-editie werkt prima. U kunt zich ook aanmelden voor een gratis Azure-proefabonnement.

We gebruiken code uit het Connect the Dots-project. Kloon project met git of gebruik de Download ZIP-knop op de Github-pagina.

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

U kunt de instructies van Microsoft volgen voor het maken van de Azure-bronnen, wat even duurt, maar u een diep begrip geeft van hoe de stukjes in elkaar zitten. Ik raad aan om het AzurePrep-project uit de gekloonde opslagplaats te gebruiken om deze bronnen automatisch te maken.

Gebruik Visual Studio en open de AzurePrep-oplossing vanuit connectthedots\Azure\AzurePrep. Voer het AzurePrep-project uit in Release-modus .

De toepassing opent enkele vensters waarin u wordt gevraagd u aan te melden bij Azure en toestemming te verlenen voor uw resources. Beantwoord daarna een aantal vragen in de terminal om de bronnen te maken.

U moet een naam voor bronnen kiezen. De connect the dots-documentatie beveelt de naam ctd (connect the dots) + uw initialen aan. Ik heb bijvoorbeeld "ctddc" gekozen.

Terug in Visual Studio voert u het CreateWebConfig-doel uit van AzurePrep om een ​​configuratiebestand voor de website te maken. Log in, volg de aanwijzingen. Er wordt een web.config-bestand naar het bureaublad geschreven.

Kopieer web.config van uw bureaublad naar het connectthedots-websiteproject, connectthedots\Azure\WebSite\ConnectTheDotsWebSite.

Open de ConnectTheDotsWebsite-oplossing vanuit connectthedots\Azure\WebSite in Visual Studio.

U moet het nieuwe web.config-bestand aan het project toevoegen. Klik met de rechtermuisknop op de oplossing in Solution Explorer. Kies "Toevoegen -> Bestaand item..." in het menu. Navigeer naar ConnectTheDotsWebSite en voeg web.config toe.

Voer het project uit in Microsoft Edge. U ziet geen gegevens totdat we de schets op de MKR1000 hebben bijgewerkt.

De Arduino-schets heeft een SAS-sleutel nodig om toegang te krijgen tot de Azure-resources. Gebruik de Event Hubs Signature Generator-tool van Sandrino Di Mattia om de sleutel in het juiste formaat te genereren. Downloaden van https://github.com/sandrinodimattia/RedDog/releases. Pak de tool uit en start RedDog.ServiceBus.EventHubs.SignatureGenerator.

Vul de gebruikersinterface in met de naamruimte die u eerder hebt gemaakt. Aangezien ik ctddc heb gebruikt bij het maken van de Azure-resources, is mijn naamruimte ctddc-ns. De naam van de hub is ehdevices. De naam van de uitgever en de afzender moeten beide D1 zijn. Ik heb de Token TTL ingesteld op 1 jaar (525.600 minuten). De handtekening moet goed zijn voor de levensduur van het apparaat.

U moet zich aanmelden bij de Azure Portal om de afzendersleutel op te halen. Kies in het linkermenu Bladeren en gebruik het filter om Event hubs te vinden.

Event hubs opent een nieuw venster in de oude Azure-portal.

  • Klik op de naamruimte die je hebt gemaakt.
  • Kies Event Hubs
  • Kies apparaten
  • Kies configureren
  • Scroll naar beneden en kopieer de primaire sleutel voor D1

Schakel terug naar de Signature Generator-tool en plak de sleutel in het Sender Key Field. Klik op de knop Genereer om een ​​handtekening te genereren.

Kopieer de gegenereerde handtekening.

Open de MKR1000-Azure-schets opnieuw in de Arduino IDE. We moeten de hostname[] . vervangen en authSAS[] variabelen met onze nieuwe Event Hub-instellingen. Plak de gegenereerde handtekening in de char authSAS[] veld. Pas het hostnaamveld aan zodat het overeenkomt met uw hostnaam. bijv. char hostname[] ="ctddc-ns.servicebus.windows.net";

Sla de schets op en upload deze naar je MKR1000. Open optioneel de seriële monitor en controleer of de gegevens naar Azure worden verzonden.

ALT+TAB naar de connect the dots-website die wordt uitgevoerd in Microsoft Edge en u zou gegevens van uw apparaat moeten gaan zien.

IoT-hub

Azure IoT Hub is nieuwer dan Event Hub en is mogelijk geschikter voor uw project. IoT Hub ondersteunt apparaat-naar-cloud-berichten (zoals dit project) en cloud-naar-apparaat-berichten.

Gebruik de Azure Portal om een ​​nieuwe IoT Hub te maken.

Device Explorer wordt gebruikt om handtekeningen te genereren voor toegang tot IoT-hub. Download SetupDeviceExplorer.msi van https://github.com/Azure/azure-iot-sdks/releases.

Ga terug naar de Azure Portal en open de nieuwe IoT-hub. Klik op het sleutelpictogram, selecteer de iothubowner-rij, kopieer de verbindingsreeks voor de primaire sleutel.

Open Device Explorer, plak de verbindingsreeks in en klik op bijwerken.

Klik op het tabblad Beheer. Klik op de knop Maken onder Acties. Voer D1 in als apparaat-ID en klik op Maken.

Markeer de D1-rij en klik op de SAS Token-knop en genereer een nieuwe token.

Open de MKR1000-Azure-schets in de Arduino IDE.

Vervang de hostnaam[] met de naam van uw IoT-hub + ".azure-devices.net". Update authSAS[] met de waarde die is gegenereerd met Device Explorer. Zorg ervoor dat u alleen het gedeelte van de SAS-token kopieert na "SharedAcessSignature=". Pas de URI aan zodat deze naar de IoT-hub wijst.

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


Bewerk de code in de sendEvent-functie die controleert op een geldig antwoord. Event hub verzendt een HTTP 201 om succes aan te geven. IoT-hub verzendt een HTTP 204.

Wijzigen

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

Naar

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

Gebruik de Arduino IDE om de schets naar je Arduino MKR1000 te uploaden.

Schakel het tabblad Gegevens in Apparaatverkenner. Klik op de monitorknop om de gegevens te bekijken die naar de Event Hub worden verzonden.

Aangezien dit project gegevens van apparaat naar cloud verzendt, gebruik ik HTTP POST om de gegevens te verzenden. Er zijn ook bibliotheken voor het verzenden en ontvangen van gegevens met Azure IoT Hub. Helaas zijn ze IMO nog niet erg Arduino-achtig of gebruiksvriendelijk. Als u wilt dat uw apparaat gegevens van Azure ontvangt, zijn de bibliotheken wellicht handiger. Of bekijk de blogpost van Mohan Palanisamy over het verzenden van gegevens van een IoT-hub naar een MKR1000.

Dit bericht liet zien hoe u sensorgegevens van MRK1000 naar Azure Event-hubs en IoT-hub kunt verzenden. We hebben de bestaande codeweergave gebruikt en de gegevens in een grafiek weergegeven. Bekijk het connect the dots-project voor meer manieren om code te schrijven voor het opslaan, manipuleren en bekijken van uw gegevens met Azure.

Nu u klaar bent, wilt u misschien bronnen die u niet gebruikt afsluiten of verwijderen om het bedrag dat u in rekening wordt gebracht te beperken. De AzurePrep-oplossing heeft een ClearResources-project om u te helpen de Azure-services te verwijderen.

Code

Apparaatverkenner
Hulpmiddel voor IoT Hub. Download SetupDeviceExplorer.msihttps://github.com/Azure/azure-iot-sdks/releases
Verbind de punten
Azure-voorbeeldcodehttps://github.com/Azure/connectthedots
MKR1000-Arduino
Arduino-broncodehttps://github.com/don/MKR1000-Azure
WiFi101 Firmware Updater
Tool om TLS-certificaten toe te voegen aan MKR1000https://github.com/arduino-libraries/WiFi101-FirmwareUpdater/releases/latest
Event Hubs Signature Generator
Tool om Azure-referenties voor MKR1000 te genererenhttps://github.com/sandrinodimattia/RedDog/releases

Schema's

Plaats een foto, aangezien er geen MKR1000 Fritzing onderdeel is. Zie de artikeltekst voor details over de bedrading.

Productieproces

  1. Arduino-sensor – Typen en toepassingen
  2. Vochtigheidssensor werkt en zijn toepassingen
  3. DHT11-sensor en zijn werking
  4. Aerocultuur met Raspberry Pi en vochtigheidssensor
  5. Een vochtigheidssensor controleren en kalibreren
  6. DHT11-sensor met LED's en een piëzo-luidspreker
  7. Temperatuur- en vochtigheidsdatalogger
  8. Arduino Temp. Monitor en realtimeklok met 3.2-weergave
  9. Arduino Cloud Sensor Tower
  10. BME280 temperatuur, vochtigheid en druk op Nextion-display
  11. De temperatuur en vochtigheid op Blynk aflezen met DHT11