This laboratory is located in the office of ITT Group in Tallinn, Estonia.
This laboratory can be used to practice reading values from sensors and send them over MQTT. It can be used as a simple task of sending the sensor value or part of a bigger system, where actuators from other modules perform actions based on the sensor values received.
For this laboratory, the student should understand basic MQTT concepts like topics, broker, subscribing and publishing.
This laboratory consists of a DHT22 temperature and humidity sensor module attached to the ITT IoT controller module.
This laboratory uses the DHT22 temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure temperature. The sensor only transmits digital data (no analogue values). The sensor is calibrated and doesn't require extra components so you can get right to measuring relative humidity and temperature.
The 1-wire data connection is connected to port GPIO2.
The user can connect and program this controller using the Distancelab environment.
At the same time, only one user can program the controller. But all users connected to the Distancelab MQTT broker can read the values if they are being transmitted over MQTT. That is assuming they use the topic described in the controller program.
#include <Arduino.h> #include <ittiot.h> #include <DHT.h> #define DHTPIN D4 // what pin we're connected to #define DHTTYPE DHT22 // DHT 22 (AM2302) DHT dht(DHTPIN, DHTTYPE); void iot_connected() { Serial.println("MQTT connected callback"); iot.log("IoT DHT example!"); } void setup() { Serial.begin(115200); Serial.println("Booting"); iot.printConfig(); // print json config to serial iot.setup(); pinMode(16, OUTPUT); dht.begin(); } void loop() { iot.handle(); float h = dht.readHumidity(); float t = dht.readTemperature(); char buf[10]; // Put whatever length you need here String(t).toCharArray(buf,10); digitalWrite(16,HIGH); iot.publishMsg("temp",buf); delay(2000); digitalWrite(16,LOW); String(h).toCharArray(buf,10); iot.publishMsg("hum",buf); delay(2000); }
info@ittgroup.ee