Программа чтения температуры с DHT11 wifi модулем esp8266 и отправка в приложение Blynk
- Войдите на сайт для отправки комментариев
Всем привет. Недавно начал эксперементировать с ардуино. И вот решил поиграться с ESP8266, прошить удалось, через blynk все запустилось, с помощью кнопки в приложении моргаю светодиодом на модуле, уже радость. Но вот у меня есть датчик DHT11 (http://amperka.ru/product/troyka-temperature-humidity-sensor-dht11), у нее есть своя библиотека и с помощью ардуино легко читается температура и влажность. Теперь хочу с помощью пина GPIO 2 на модуле esp8266 прочитать показания с этого датчика и отправлять по Blynk показания на смартфон, температуру сохраняю на виртуальный пин V1, и читаю в приложении Blynk на смартфоне это показание с этого виртуального порта.
Открыл пример Blynk Standalone из библиотеки и пример DHT11 test. и пытаюсь совместить эти программы (в первый раз делаю)
Получилось что то вроде этого:
clude <TroykaDHT11.h> #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "2c8aa16abf3d4d68a5813ff22c19af**"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "hom**"; char pass[] = "2505198**"; // создаём объект класса DHT11 и пераём номер пина к которому подкючён датчик DHT11 dht(2); void setup() { // открываем последовательный порт для мониторинга действий в программе Serial.begin(9600); dht.begin(); Blynk.begin(auth, ssid, pass); } void sendTemp() { int temp = dht.getTemperatureC(); Blynk.virtualWrite(V1,temp); } void loop() { Blynk.run(); sendTemp(); }
Все откампилировалось и зашилось, через Blynk связался все работает, но вместо показаний температуры ноль. Может быть датчик нельзя напрямую подключать к esp8266, я подключил питание и землю к питанию и земле модуля, и сигнальный провод напрямую к GPIO 2.
Или программа неправильно написана ?
1. Если у Вас возникают сомнения по поводу подключения, думаю, следует опубликовать схему.
2. А что у Вас в программе делает Serial?
Serial надо бы удалить, осталось с одного примера, забыл убрать.
Ну подключение простое.
вот:
Я вот не очень понимаю, может библиотека для DHT11 troyka модуля писалась для ардуино только и к esp8266 не подходит ?
Serial не нужно удалять, Serial нужно использовать. Использовать по тому самому назначению, что записано в 20-й строке Вашего скетча. Ну, например, между строками 27 и 28 выводить полученное число в порт, чтобы понимать, где что происходит в программе.
Типо Serial.println(temp) ?