DHT moodul peab olema ühendatud kontrolleri või anduri mooduliga.
NB! Kui Teie DHT moodulil on üks jalg eemaldatud nagu alloleval pildil, tuleb koodis muuta ümber #define DHTPIN D4 D3-ks.
Vajaminevad teegid:
lib_deps = ITTIoT, DHT sensor library, Adafruit Unified Sensor
Näidiskood prindib välja antud hetke temperatuuri ja niiskuse väärtused.
Kui pärast programmeerimist ilmub väärtuste asemele NAN, tuleb USB-kaabel lahti ühendada ja uuesti ühendada!
// Includes global variables and librarys that the DHT uses #include <Arduino.h> #include <ittiot.h> #include <Ticker.h> #include <DHT.h> #define WIFI_NAME "name" #define WIFI_PASSWORD "password" #define DHTPIN D3 // Pin where DHT shield is connected. Change this to D4 if the shield has no legs removed. #define DHTTYPE DHT22 // DHT 22 (AM2302) // Create an object for DHT sensor DHT dht(DHTPIN, DHTTYPE); // Create an object for Ticker library Ticker timeTicker; bool sendDataFlag; // Ticker library callback, which will occur 0.5 second interval. void sendData() { sendDataFlag=true; } void iot_received(String topic, String msg) {} // Function started after the connection to the server is established. void iot_connected() { // Send message to serial port to show that connection is established Serial.println("MQTT connected callback"); // Send message to MQTT server to show that connection is established iot.log("IoT DHT example!"); } void setup() { // Initialize serial port and send message Serial.begin(115200); // setting up serial connection parameter Serial.println("Booting"); //iot.setConfig("wname", WIFI_NAME); //iot.setConfig("wpass", WIFI_PASSWORD); iot.printConfig(); // print IoT json config to serial iot.setup(); // Initialize IoT library // Initialize DHT library dht.begin(); // Initialize Ticker interval and callback timeTicker.attach(1, sendData); } void loop() { iot.handle(); // IoT behind the plan work, it should be periodically called if(sendDataFlag) { sendDataFlag = false; // Read humidity and temperature float h = dht.readHumidity(); float t = dht.readTemperature(); // Create a buffer to store strings to being sent later char buf[10]; // Convert temperature value messages to strings and send to the MQTT server String(t).toCharArray(buf,10); iot.publishMsg("temp",buf); // Convert humidity value messages to strings and send to the MQTT server String(h).toCharArray(buf,10); iot.publishMsg("hum",buf); } }