monitores del módulo de DHT11 la temperatura y humedad en la casa para obtener los datos y el número público de micro-canales

prefacio

Antes de que usted está interesado en el conocimiento de las cosas, muy ocupado recientemente debido a la epidemia en el país, sino que también vio una serie de vídeos relacionados intentará tratar

listo

hardware

ESP-01s y con su firmware escritor, la temperatura DHT11 y sensor de humedad

Plataforma de desarrollo

Arduino IDE, dweet, número público de micro-canales plataforma de desarrollo

lenguaje de desarrollo

c ++, php

c ++ biblioteca necesaria

DHT.h, dweetESP8266.h necesidad de descarga y añadir el siguiente en la prensa github
Aquí Insertar imagen Descripción

proceso

En primer lugar, la idea es leer la DHT temperatura y la información de la humedad -> a la dweet Internet -> establece la tarea del servidor de tiempo, sincronización de los datos escritos en el dweet acceso a continuación, iniciar sesión -> se devuelve leer datos de registro cuando el número de consulta pública
(más que el paso intermedio cronometrados tarea, porque es dweet sitios web extranjeros, la velocidad de acceso es demasiado lento, el número de la respuesta del público a través del tiempo en el error ...)

Parte del código en cuestión

Código no da el todo sólo para, de hecho, parte, muy simple, a lo largo de las líneas es fácil de lograr

c ++:
#include "DHT.h"
#include "dweetESP8266.h"
 
char ssid[] = "";//wifi 名
char pswd[] = "";//wifi 密码

#define DHTPIN 2      //定义DHT11模块连接管脚io2
 
#define DHTTYPE DHT11   // 使用DHT 11温度湿度模块 

#define THIG_NAME "xxx" //指定dweet的标题

dweet dweetClient; //定义dweet
DHT dht(DHTPIN, DHTTYPE);    //定义dht


void setup() {
	Serial.begin(115200);
	dht.begin();
    dweetClient.wifiConnection(ssid, pswd);
}

void loop() {
	float h = dht.readHumidity();
	float t = dht.readTemperature();
	dweetClient.wifiConnection(ssid, pswd);
	dweetClient.add("dht", String(h) + "," + String(t));
	dweetClient.sendAll(THIG_NAME);
	delay(3000);
}
Establecer trabajo cron crond:
*/2 * * * * /usr/bin/curl -o /home/cron/iot/dht.txt https://dweet.io/get/latest/dweet/for/xxx

Los resultados proporcionados aquí cada dos minutos por el rizo de escritura adquirida /home/cron/iot/dht.txten

php:
// 当用户向公众号发送关键字 '家里温湿度' 时,读取日志并返回数据的逻辑
if ($keyword == '家里温湿度') {
   $path = '/home/cron/iot/dht.txt';
         $oldData = json_decode(file_get_contents($path), true);

         if(empty($oldData) || $oldData['this'] == "failed") {
             $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, "设备可能存在异常");
             echo $resultStr;
         }

         $str = explode(",", $oldData['with'][0]['content']['dht']);
         $humidity = $str[0];
         $temperature = $str[1];
         $contenStr = "湿度:" . $humidity . "%\r\n" . "温度:" . $temperature . "℃\r\n";
         $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contenStr);
         echo $resultStr;
     }

hoyo escalonada

1. No capaz de encontrar la biblioteca ArduinoJson (resueltos) en tiempo de compilación

Solución:
dweet esta biblioteca con la versión 5. ArduinoJson * de la biblioteca, por lo que es necesario descargar la versión 5. *, debido a que la función con dweet por encima de donde la llamada es la versión 5. *. . .
descargar

2. El dispositivo no puede continuar enviando datos a la dweet (Resuelto)

Dado que el servidor está en el extranjero, de vez en cuando, cuando los datos postales en tiempo extra, después de publicar sus variables para bloquear la
Aquí Insertar imagen Descripción
solución:
Modificar el comienzo descargan dweetESP8266código de archivo de la biblioteca
dweetESP8266.cpp:

165   while(!_client.available());
166   while (_client.available()){
168    	char c = _client.read();
169     Serial.write(c);
   }

Eliminar esta sección de código, y devuelve el resultado no ha leído en la línea. Porque antes de que la tarjeta haya sido devuelto porque esperar a leer los resultados, ahora eliminado, la información que tiró y salió corriendo, por lo que no va a tapar vivo

Publicado 48 artículos originales · ganado elogios 56 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/zhetmdoubeizhanyong/article/details/104305257
Recomendado
Clasificación