An open API service indexing awesome lists of open source software.

https://github.com/fonger/esp8266-rtos-dht

ESP8266_RTOS_SDK library for DHT11, DHT22 or SI7021
https://github.com/fonger/esp8266-rtos-dht

dht dht11 dht22 esp8266 esp8266-rtos si7021 temperature-sensor

Last synced: about 1 month ago
JSON representation

ESP8266_RTOS_SDK library for DHT11, DHT22 or SI7021

Awesome Lists containing this project

README

          

# ESP8266-RTOS-DHT

ESP8266_RTOS_SDK library for DHT11, DHT22 or SI7021.
This is a port from esp-open-rtos for espressif official SDK ESP8266_RTOS_SDK.

## Compatibility

espressif/ESP8266_RTOS_SDK v3.2+

## Usage

Clone this project in your components folder.

```c

#include

#include
#include

#include
#include

#define DHT_GPIO 5 // D1 pin

void temperature_task(void *arg)
{
ESP_ERROR_CHECK(dht_init(DHT_GPIO, false));
vTaskDelay(2000 / portTICK_PERIOD_MS);
while (1)
{
int humidity = 0;
int temperature = 0;
if (dht_read_data(DHT_TYPE_DHT22, DHT_GPIO, &humidity, &temperature) == ESP_OK) {
// e.g. in dht22, 604 = 60.4%, 252 = 25.2 C
// If you want to print float data, you should run `make menuconfig`
// to enable full newlib and call dht_read_float_data() here instead
printf("Humidity: %d Temperature: %d\n", humidity, temperature);
} else {
printf("Fail to get dht temperature data\n");
}
vTaskDelay(5000 / portTICK_PERIOD_MS);
}
vTaskDelete(NULL);
}

void app_main() {
xTaskCreate(temperature_task, "temperature task", 2048, NULL, tskIDLE_PRIORITY, NULL);
}

```