ITT Temperature and humidity sensor module

This laboratory is located in the office of ITT Group in Tallinn, Estonia.

Introduction

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.

Prerequisites

For this laboratory, the student should understand basic MQTT concepts like topics, broker, subscribing and publishing.

Technical details

This laboratory consists of a DHT22 temperature and humidity sensor module attached to the ITT IoT controller module.

Sensors

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.

Specifications

  • 1-wire digital interface
  • Humidity from 0-100% RH
  • -40 - 80 degrees C temperature range
  • +-2% RH accuracy
  • +-0.5 degrees C

Electrical connection

The 1-wire data connection is connected to port GPIO2.

Software, libraries and externals

  • ITTIoT libary - used to program the controller module.
  • Adafruit DHT sensor libary - used to read the values from the DHT22 sensor.

Communication

The user can connect and program this controller using the Distancelab environment.

Limits

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.

Hands-on labs

Example code

#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);
}

Support

info@ittgroup.ee

en/iot-open/remotelab/itt/thermohygro.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0