====== Temp/Hum näidis ======
DHT moodul peab olema ühendatud kontrolleri või anduri mooduliga.
{{:en:iot:examples:dhtpicture1.jpg?200|}}
{{:en:iot:examples:dhtpicture2.jpg?200|}}
NB! Kui Teie DHT moodulil on üks jalg eemaldatud nagu alloleval pildil, tuleb koodis muuta ümber #define DHTPIN D4 D3-ks.
{{:en:iot:examples:dht_hack.jpg?200|}}
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
#include
#include
#include
#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);
}
}