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
- Host: GitHub
- URL: https://github.com/fonger/esp8266-rtos-dht
- Owner: Fonger
- License: bsd-3-clause
- Created: 2019-09-11T09:04:31.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-26T14:55:25.000Z (almost 6 years ago)
- Last Synced: 2025-04-03T11:03:58.631Z (6 months ago)
- Topics: dht, dht11, dht22, esp8266, esp8266-rtos, si7021, temperature-sensor
- Language: C
- Size: 6.84 KB
- Stars: 21
- Watchers: 3
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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);
}```