Wemos d1 mini+ DHT22 shiel segítséget kérek.

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Vadlud
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2018. március 27. kedd, 19:50

Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: Vadlud » 2018. március 27. kedd, 21:01

Üdv Mindenkinek! Egy kis segítséget szeretnék kérni. Lenne egy projektem, ami nem nagy szám, de nekem ez az első és mindjárt meg is akadtam. Wemos d1 minivel és DHT22 shield párosításával szeretnék egy amolyan időjárásjelzőt építeni, amit neten nyomon tudok követni. Egy üvegház automatizálásához lenne kontroll célra. Hibakód nélkül feltelepítettem mindent, de Thingspeak-re csak egyszer küld adatot. Ha elveszem tőle a tápot és újra adok neki, újra küld egyet, tehát nincs automatikus frissítés. Ha valaki ismeri a probléma megoldását, kérem segítsen. Köszönöm!

vargham
Pákabűvész
Hozzászólások: 214
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: vargham » 2018. március 28. szerda, 5:24

A hardver és a forráskód ismerete nélkül sajnos senki sem tud távgyógyítani.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9860
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: Robert » 2018. március 28. szerda, 11:26

Ami hiányzik:


- Keretrendszer
- Használt kiegészítők/lib-ek verziója
- Programkód
- Hibaüzenetállapotjelző illetve a ThingSpeak belső hibajelzése
http://www.tavir.hu - a gazda :)

Vadlud
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2018. március 27. kedd, 19:50

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: Vadlud » 2018. március 28. szerda, 17:25

Több verziót is kipróbáltam mindegyikből, de rendre ugyanazt tapasztalom. Feltöltésnél hibaüzenet nincs.
A jelenlegi állapot:
Arduino-1.8.5
Alalap: WeMos D1 R2 & mini
DHT sensor library by adafruit 1.3.0.


/* DHT22 temperature and humidity data are uploaded to thingspeak using
* WeMOS ESP8266 MCU.
*
* Details: http://embedded-lab.com/blog/iot-temper ... ty-logger/
*/
#include <ESP8266WiFi.h>
#include <DHT.h>
#include "Math.h"
#define DHTTYPE DHT22
#define DHTPIN D4 // DHT22 data pin connects to D4

// Time to sleep (in seconds):
const int sleepTimeS = 0;

DHT dht(DHTPIN, DHTTYPE, 11); // 11 works fine for ESP8266


float prevTemp = 0;
const char* server = "api.thingspeak.com";
String apiKey ="xxxxxxxxxx";
const char* MY_SSID = "xxxxxxxx";
const char* MY_PWD = "xxxxxxxx";
int sent = 0;
void setup() {
Serial.begin(115200);
dht.begin();
connectWifi();

}

void loop() {
float t1,humidity;
//char buffer[10];
humidity = dht.readHumidity(); // Read humidity (percent)
t1 = dht.readTemperature(true); // Read temperature as Fahrenheit
// Check if any reads failed and exit early (to try again).
if (isnan(humidity) || isnan(t1)) {
Serial.println("Failed to read from DHT sensor!");
return;
}


Serial.print(String(sent)+" Temperature: ");
Serial.println(t1);
Serial.print(String(sent)+" Humidity: ");
Serial.println(humidity);
sendTeperatureTS(t1, humidity);
ESP.deepSleep(sleepTimeS*1000000, WAKE_RF_DEFAULT); // Sleep for 60 seconds
}

void connectWifi()
{
Serial.print("Connecting to "+*MY_SSID);
WiFi.begin(MY_SSID, MY_PWD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}

Serial.println("");
Serial.println("Connected");
Serial.println("");
}//end connect

void sendTeperatureTS(float temp1, float temp2)
{
WiFiClient client;

if (client.connect(server, 80)) { // use ip 184.106.153.149 or api.thingspeak.com
Serial.println("WiFi Client connected ");

String postStr = apiKey;
postStr += "&field1=";
postStr += String(temp1);
postStr += "&field2=";
postStr += String(temp2);
postStr += "\r\n\r\n";

client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
delay(1000);

}//end if
sent++;
client.stop();
}//end send


Thingspeak részéről sincs hibaüzenet.

Avatar
csegebiga
Chipgyilok
Hozzászólások: 270
Csatlakozott: 2015. március 27. péntek, 21:27

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: csegebiga » 2018. március 28. szerda, 21:19


Avatar
csegebiga
Chipgyilok
Hozzászólások: 270
Csatlakozott: 2015. március 27. péntek, 21:27

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: csegebiga » 2018. március 28. szerda, 21:36

ja, már értem.
nem szoltam. :)

Vadlud
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2018. március 27. kedd, 19:50

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: Vadlud » 2018. március 29. csütörtök, 7:34

Köszönöm Mindenkinek, megtaláltam a megoldást! A programkód volt a hibás, itt találtam egy jót: https://github.com/geofbaum/DHT22-Wemos

Avatar
csegebiga
Chipgyilok
Hozzászólások: 270
Csatlakozott: 2015. március 27. péntek, 21:27

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: csegebiga » 2018. március 29. csütörtök, 14:08

Na ja, csak ebben nem küldöd el az espt aludni.
Ez így csak félmegoldás nem?

Érdekes, hogy mennyire más a szervernek összerakott adatcsomag a két példában.

Vadlud
Újonc
Újonc
Hozzászólások: 4
Csatlakozott: 2018. március 27. kedd, 19:50

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: Vadlud » 2018. március 29. csütörtök, 16:01

Igen, ez nekem is feltűnt.

cslaci
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2016. december 31. szombat, 18:54

Re: Wemos d1 mini+ DHT22 shiel segítséget kérek.

HozzászólásSzerző: cslaci » 2018. április 6. péntek, 16:19

Igaz, nem DHT22, de én így csináltam (feszültségadatot küld fel percenként):

void loop() {

raw = analogRead(A0);
volt=raw/1023.0;
volt=volt*4.2;

if (client.connect(server,80)) { // api.thingspeak.com
String postStr = apiKey;
postStr +="&field1=";
postStr += String(volt);
postStr += "\r\n\r\n";

client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
}
client.stop();

ESP.deepSleep(60 * 1000000);
}


Vissza: “ExpressIf WiFi”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég