The DHT11 temperature and humidity sensor is a low-cost device used in IoT applications. There are API libraries for this sensor from such sources as Adafruit Industries, which makes it easy to implement the DHT11 into an IoT or edge analytics application.
The following is a Fritzing diagram of how a DHT11 temperature and humidity sensor could be hooked up in an edge analytics application:
The following is a code example using the DHT11 and the Python programming language. The code was written for the Raspberry Pi and is taken from my first book, Internet of Things Programming Projects (Packt Publishing). This code uses the Adafruit DHT library to measure temperature and humidity and send this information to a cloud-based dashboard using the MQTT protocol:
from time import sleep
import Adafruit_DHT
import paho.mqtt.client as mqtt
import json
host = 'demo.thingsboard.io'
access_token = '<<access token>>'
dht_sensor = Adafruit_DHT.DHT11
pin = 19
sensor_data = {'temperature': 0, 'humidity': 0}
client = mqtt.Client()
client.username_pw_set(access_token)
while True:
humidity, temperature = Adafruit_DHT
.read_retry(dht_sensor, pin)
print(u"Temperature: {:g}\u00b0C, Humidity{:g}%".format(temperature, \
humidity))
sensor_data['temperature'] = temperature
sensor_data['humidity'] = humidity
client.connect(host, 1883, 20)
client.publish('v1/devices/me/telemetry',
json.dumps(sensor_data), 1)
client.disconnect()
sleep(10)
The preceding code was written for an IoT application, not an edge analytics one. However, it does point out how easily information from a sensor may be read and utilized.