User Tools

Site Tools


add_temperature_and_humidity_sensor_dht11_in_domoticz

This is an old revision of the document!


Add temperature and humidity sensor DHT11 in Domoticz

Introduction

In previous post, I have shown how to record temperature from Lexibook ASM30 sensor with Arduino. Here, we will use the same hardware platform for DHT11 sensor.

Needed hardware

  • Arduino Uno R3 board (available on Amazon) with USB cable
  • DHT11 temperature and humidity sensor. I use a 3 pin version found on Amazon.

Assembly

It is very simple. Just connect the DHT11 sensor like this:

  • G pin to Arduino pin GND
  • V pin to Arduino pin 5V
  • S pin to Arduino DIGITAL pin 2

Then I suppose you have the Arduino connected with a USB cable to a PC running the Arduino development environment.

The Arduino sketch

The first thing to do is to test the assembly with the DHT11 library SimpleDHT. It can be installed easily through library manager in Arduino environment.

Once installed, just choose the SimpleDHT example, export it on the Arduino and check the temperature and humidity returned on serial monitor.

It shoud display something like that:

=================================
Sample DHT11...
Sample OK: 18 *C, 37 %
=================================
Sample DHT11...
Sample OK: 18 *C, 37 %
=================================
Sample DHT11...
Sample OK: 18 *C, 37 %

Then, I changed the sketch in order to send the temperature and humidity in json:

dht11.ino
#include <SimpleDHT.h>
 
// for DHT11, 
//      VCC: 5V or 3V
//      GND: GND
//      DATA: 2
int pinDHT11 = 2;
SimpleDHT11 dht11;
 
void print_data_json(int temp, int hum) {
  Serial.print("{ ");
  Serial.print("\"temp\": ");
  Serial.print(temp);
  Serial.print(", \"hum\": ");
  Serial.print(hum);
  Serial.print(" }\n"); 
}
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
 
  // read without samples.
  byte temperature = 0;
  byte humidity = 0;
  if (dht11.read(pinDHT11, &temperature, &humidity, NULL)) {
    // Error. -1 is returned
    print_data_json(-1, -1);
    return;
  }
 
  print_data_json((int)temperature, (int)humidity);
 
  // DHT11 sampling rate is 1HZ.
  delay(1000);
}

Next Step

  • Add DHT11 temperature and humidity sensor in Domoticz using a respberry pi… (coming)

Share this page:

add_temperature_and_humidity_sensor_dht11_in_domoticz.1478888725.txt.gz · Last modified: 2016/11/11 19:25 by sgripon