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

DHT11-sensorgegevens uploaden naar ThingSpeak met Arduino MKR1000

Onderdelen en benodigdheden

Onderdeel Aantal
DHT11 temperatuur- en vochtigheidssensor (4 pennen) 1
Arduino MKR1000 1

Over dit project

Ik had al code ontwikkeld voor de ESP8266 12-E om omgevingsgegevens, verzameld door de DHT11, draadloos naar ThingSpeak te sturen en te visualiseren. Ik moest slechts kleine aanpassingen maken om het werkend te krijgen met de nieuwe Arduino MKR1000.

Stap 1: Hardware-aansluiting

Sluit de data-uitgang van de DHT-sensor aan op pin 1 van de MKR1000 (gelabeld als '1' op de achterkant van het bord).

Stap 2: Bibliotheken installeren

Download de benodigde bibliotheken:

Stap 3: Board-ondersteuning in Arduino IDE

  1. Open Tools > Board > Boards Manager.
  2. Zoek naar Arduino SAMD Boards (32-bits ARM Cortex-M0+).
  3. Installeer versie 1.6.3 (versie 1.6.4 gaf problemen met de MKR1000-installatie).

Stap 4: ThingSpeak configureren

  1. Maak een gratis account aan op ThingSpeak.com.
  2. Maak een kanaal aan en label de velden (bijv. veld 1: vochtigheid, veld 2: temperatuur °C, enz.).
  3. Kopieer de Write API Key en plak deze in de sketch, samen met uw WiFi SSID en wachtwoord.

Stap 5: Uploaden en testen

  1. Selecteer de juiste COM-poort (MKR1000).
  2. Compileer en upload de code.
  3. Open de Seriële Monitor (9600 baud) om de verzonden updates te zien.

Code

De onderstaande sketch combineert de Adafruit DHT-bibliotheek, de WiFi101 WebClient en de ThingSpeak Arduino-sjabloon. Deze is aangepast voor de MKR1000.

/* Deze sketch is een combinatie van Adafruit's DHT-sketch, WiFi101 WebClient en het Arduino-voorbeeld van ThingSpeak.
   Gewijzigd door Stephen Borsay voor de MKR1000, vrije gebruik toegestaan. */
#include <SPI.h>
#include <WiFi101.h>
#include "DHT.h"

#define DHTPIN 1          // Datapin aangesloten op pin 1 (5e pin vanaf het einde)
#define DHTTYPE DHT11     // DHT 11 sensor
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
//#define DHTTYPE DHT22   // DHT 22 (AM2302)

DHT dht(DHTPIN, DHTTYPE);

String apiKey = "YourApiKeyHere";   // Jouw ThingSpeak Write API Key
char ssid[] = "YourSSIDHERE";       // Jouw WiFi netwerknaam (SSID)
char pass[] = "YourPasswordHere";   // Jouw WiFi wachtwoord
int keyIndex = 0;                   // Alleen nodig voor WEP

char server[] = "api.thingspeak.com";
WiFiClient client;

void setup() {
  Serial.begin(9600);
  while (!Serial) { ; } // Wacht op seriële poort (native USB)

  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield niet aanwezig");
    while (true);
  }

  // Verbinden met WiFi
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print("Verbinden met SSID: ");
    Serial.println(ssid);
    WiFi.begin(ssid, pass); // WPA/WPA2
    delay(10000);
  }
  Serial.println("Verbonden met WiFi");
  printWifiStatus();
}

void loop() {
  delay(2000); // Wacht tussen metingen

  // Lees sensorwaarden (als integers om float-conversieproblemen te vermijden)
  int h = dht.readHumidity();
  int t = dht.readTemperature();      // Celsius
  int f = dht.readTemperature(true);  // Fahrenheit

  // Controleer op leesfouten
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Lezen van DHT-sensor mislukt!");
    return;
  }

  // Bereken heat index
  int hif = dht.computeHeatIndex(f, h);
  int hic = dht.computeHeatIndex(t, h, false);

  // Seriële output
  Serial.print("Vochtigheid: "); Serial.print(h); Serial.print(" %\t");
  Serial.print("Temperatuur: "); Serial.print(t); Serial.print(" *C ");
  Serial.print(f); Serial.print(" *F\t");
  Serial.print("Heat index: "); Serial.print(hic); Serial.print(" *C ");
  Serial.print(hif); Serial.println(" *F\n");

  Serial.println("\nVerbinding met server opbouwen...");
  if (client.connect(server, 80)) {
    Serial.println("Verbonden met server");

    // Bouw data-string voor ThingSpeak (velden 1-5)
    String tsData = "field1=" + String(h) +
                    "&field2=" + String(t) +
                    "&field3=" + String(f) +
                    "&field4=" + String(hic) +
                    "&field5=" + String(hif);

    // HTTP POST request
    client.print("POST /update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(tsData.length());
    client.print("\n\n");
    client.print(tsData);

    client.stop();
    delay(1000);
  }
}

void printWifiStatus() {
  Serial.print("SSID: "); Serial.println(WiFi.SSID());
  IPAddress ip = WiFi.localIP();
  Serial.print("IP-adres: "); Serial.println(ip);
  long rssi = WiFi.RSSI();
  Serial.print("Signaalsterkte (RSSI): "); Serial.print(rssi); Serial.println(" dBm");
}

De code is ook beschikbaar op GitHub: MKR1000 DHT ThingSpeak.

Schema

Sluit de datalijn van de DHT-sensor aan op pin 1 van de MKR1000. Voorzien de sensor van 5V en GND vanaf de MKR1000.

DHT11-sensorgegevens uploaden naar ThingSpeak met Arduino MKR1000

Productieproces

  1. Ontdek Hoe Parts.Cat.Com Onderdeleninkoop Vereenvoudigt En U Tijd & Geld Bespaart
  2. Shop.Cat.Com: Uw Één-Stop Bron voor Apparatuur, Bijlagen en Gereedschappen
  3. Cat® Machines Optimaliseren: De Ultieme My.Cat.com Gids
  4. Compacte DHT temperatuur- en vochtigheidsbreakout voor Raspberry Pi – ATtiny85 & DHT22/DHT11
  5. Een ThingSpeak Temperatuurmonitor Bouwen met Raspberry Pi & BrickPi
  6. Bouw je eerste IoT-project met Raspberry Pi, DHT11 en ThingSpeak
  7. Interview met Philip Cotton, Oprichter van 3Dfilemarket.com, UK 3D-print Onderwijsexpert
  8. Arduino MKR1000 Pinout: IoT Bord Handleiding
  9. PicoCoreMX8MM: ultra-compacte ARM-module aangedreven door NXP i.MX 8M Mini
  10. Kontron onthult COM HPC: een nieuwe high-performance embedded-computing-standaard
  11. ASTM A551 Klasse DHT Warmtebehandeld Staal – Belangrijkste Eigenschappen & Prestaties