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 naar ThingSpeak.com

Componenten en benodigdheden

DHT11 temperatuur- en vochtigheidssensor (4 pinnen)
× 1
Arduino MKR1000
× 1

Over dit project

Ik had al code ontwikkeld voor de ESP8266 12-E om de gegevens van de omgevingssensor, die door de DHT11 zijn verzameld, draadloos naar de ThingSpeak-website te uploaden en in een grafiek te zetten. Ik hoefde alleen maar kleine wijzigingen aan te brengen om het te laten werken met de nieuwe Arduino MKR1000.

Stap 1.

Sluit de DHT-datalijn aan op de MKR1000 Pin1 (gelabeld 1 op de achterkant van het bord).

Stap 2. Download de WiFi101-bibliotheek en DHT-bibliotheek van:

https://github.com/arduino-libraries/WiFi101

https://learn.adafruit.com/dht

Stap 3.

Ga naar de Board Manager in de Arduino IDE

Tools-->Board-->Boards Manager

Zoeken naar Arduino SAMD-kaarten (32-bits ARM Cortex M0+)

Download versie 1.6.3 (ik had problemen met 1.6.4 omdat het MKR100-bord niet werd geïnstalleerd)

Stap 4.

Maak een gratis ThingSpeak.com-account, label de velden als Graph (vochtigheid en temperaturen) en plak uw ThingSpeak "schrijf" API-sleutel in de meegeleverde schets, samen met uw WiFi SSID en WiFi-wachtwoord.

Stap 5.

Selecteer de juiste Com-poort, zoek naar de MKR1000, en compileer en voer de code uit.

Je zou moeten zien dat de updates naar ThingSpeak worden verzonden in je seriële venster.

veel plezier!

Code

  • MKR1000 naar DHT naar ThingSpeak Draadloze, cloudgebaseerde omgevingssensorgrafieken
MKR1000 naar DHT naar ThingSpeak Draadloze, cloudgebaseerde omgevingssensorgrafiekenArduino
Een combinatie van schetsen van AdaFruit, WiFi101 WebClient en ThingSpeak Arduino-sjablonen.
/*Deze schets is een combinatie van ADAFruits DHT-schets, WiFi101 Webclient en het Arduino-voorbeeld van ThingSpeakModified door Stephen Borsay voor de MKR1000, gebruik gerust */ #include  // je hebt dit niet nodig omdat we de shiled just-chip niet gebruiken#include #include "DHT.h"#define DHTPIN 1 // welke pin we zijn verbonden met, pin1 is de 5e pin vanaf het einde// Maak geen opmerkingen over welk type DHT-sensor je ook gebruikt! (DHTPIN,DHTTYPE);String apiKey ="YourApiKeyHere"; // api van ThingSpeakchar ssid [] ="YourSSIDHERE"; // uw netwerk-SSID (naam) char pass [] ="YourPasswordHere"; // uw netwerkwachtwoordint keyIndex =0; // uw netwerksleutel Indexnummer (alleen nodig voor WEP)//#define WEBSITE "api.thingspeak.com"int status =WL_IDLE_STATUS;// als u geen DNS wilt gebruiken (en uw schetsgrootte wilt verkleinen)// gebruik het numerieke IP-adres in plaats van de naam voor de server://IPAddress-server(74,125,232,128); // numeriek IP voor Google (geen DNS)char server [] ="api.thingspeak.com"; // naamadres voor Google (met DNS)// Initialiseer de Ethernet-clientbibliotheek// met het IP-adres en de poort van de server// waarmee u verbinding wilt maken (poort 80 is standaard voor HTTP):WiFiClient-client;void setup () { // Initialiseer serieel en wacht tot de poort wordt geopend:Serial.begin (9600); while (!Serial) {; // wacht tot de seriële poort verbinding maakt. Alleen nodig voor native USB-poort } // controleer op de aanwezigheid van het schild:if (WiFi.status() ==WL_NO_SHIELD) { Serial.println("WiFi-schild niet aanwezig"); // ga niet verder:while (true); } // poging om verbinding te maken met wifi-netwerk:while (status !=WL_CONNECTED) { Serial.print("Poging om verbinding te maken met SSID:"); Serieel.println(ssid); // Maak verbinding met het WPA/WPA2-netwerk. Wijzig deze regel als u open/WEP-netwerkstatus gebruikt =WiFi.begin (ssid, pass); // wacht 10 seconden op verbinding:vertraging (10000); } Serial.println("Verbonden met wifi"); printWifiStatus(); }void loop() { // Wacht een paar seconden tussen metingen. vertraging (2000); // gebruik liever float, maar pakketgrootte of float-conversie werkt niet // zal in de toekomst herzien worden met een stringfuction of float-conversiefunctie int h =dht.readHumidity(); // Lees temperatuur als Celsius (de standaardinstelling) int t =dht.readTemperature (); // Lees temperatuur als Fahrenheit (isFahrenheit =true) int f =dht.readTemperature (true); // Controleer of het lezen is mislukt en sluit vroeg af (om het opnieuw te proberen). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Kan niet lezen van DHT-sensor!"); opbrengst; } // Bereken warmte-index in Fahrenheit (de standaardinstelling) int hif =dht.computeHeatIndex (f, h); // Bereken warmte-index in Celsius (isFahreheit =false) int hic =dht.computeHeatIndex (t, h, false); Serial.print("Vochtigheid:"); Seriële.print(h); Serial.print(" %\t"); Serial.print("Temperatuur:"); Serial.print(t); Serial.print(" *C "); Serieafdruk(f); Serial.print(" *F\t"); Serial.print("Warmte-index:"); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F\n"); Serial.println("\nVerbinding met server starten..."); // als je een verbinding krijgt, rapporteer dan via serieel:if (client.connect(server, 80)) { Serial.println("connected to server"); cliënt.print(F("POST")); client.print("/update?key=apiKey&field1=" + (String) h + "&field2=" +(String) t + "&field3=" +(String) f + "&field4=" +(String) hic + " &field5=" +(String) hif ); String tsData ="field1=" // heb de lengte nodig om aan ThingSpeak te geven + (String) h + "&field2=" +(String) t + "&field3=" +(String) f + "&field4=" +(String) hic + "&field5=" +(String) hif; client.print("POST /update HTTP/1.1\n"); client.print("Host:api.thingspeak.com\n"); client.print("Verbinding:sluiten\n"); client.print("X-THINGSPEAKAPIKEY:" + apiKey + "\n"); client.print("Inhoudstype:applicatie/x-www-form-urlencoded\n"); client.print ("Inhoudslengte:"); client.print(tsData.length()); //stuur data string legth naar ts client.print("\n\n"); cliënt.print(tsData); klant.stop(); vertraging (1000); } }void printWifiStatus() { // print de SSID van het netwerk waarmee u verbonden bent:Serial.print("SSID:"); Seriële.println(WiFi.SSID()); // druk het IP-adres van uw WiFi-schild af:IPAddress ip =WiFi.localIP(); Serial.print("IP-adres:"); Serieel.println(ip); // print de ontvangen signaalsterkte:lange rssi =WiFi.RSSI(); Serial.print("signaalsterkte (RSSI):"); Seriële.print(rssi); Serial.println(" dBm");}
Code in GitHub
Dezelfde code maar in GitHub voor MKR1000https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS

Schema's

DHT-datalijn aansluiten op MKR100 pin 1 (5e pin hoger)
sluit 5v en aarde aan op de DHT-sensor, die beide worden geleverd door de MKR1000

Productieproces

  1. Interview met een expert:Philip Cotton, oprichter van 3Dfilemarket.com
  2. Manhattan Skyline:compacte ARM COM met NXP i.MX 8MM
  3. Kontron:nieuwe embedded computerstandaard COM HPC
  4. DHT Tiny Breakout voor de Raspberry Pi
  5. ThingSpeak-temperatuurmonitor met Raspberry Pi
  6. Bouw je eerste IOT met een Raspberry Pi, DHT11-sensor en Thingspeak.
  7. Mkr1000 Pinout:een voorkeurskeuze voor IoT-projecten
  8. De voordelen van Parts.Cat.Com en hoe te registreren
  9. Uw gids voor Shop.Cat.Com
  10. Aan de slag met My.Cat.com
  11. ASTM A551 klasse DHT warmtebehandeld