Программа чтения температуры с DHT11 wifi модулем esp8266 и отправка в приложение Blynk

morrice
Offline
Зарегистрирован: 17.03.2017

Всем привет. Недавно начал эксперементировать с ардуино. И вот решил поиграться с 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.

Или программа неправильно написана ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

1. Если у Вас возникают сомнения по поводу подключения, думаю, следует опубликовать схему. 

2. А что у Вас в программе делает Serial?

morrice
Offline
Зарегистрирован: 17.03.2017

Serial надо бы удалить, осталось с одного примера, забыл убрать.

Ну подключение простое.

вот:

Я вот не очень понимаю, может библиотека для DHT11 troyka модуля писалась для ардуино только и к esp8266 не подходит ?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Serial не нужно удалять, Serial нужно использовать. Использовать по тому самому назначению, что записано в 20-й строке Вашего скетча. Ну, например, между строками 27 и 28 выводить полученное число в порт, чтобы понимать, где что происходит в программе.

morrice
Offline
Зарегистрирован: 17.03.2017

Типо Serial.println(temp) ?