Posted on Oktober 5, 2017
WLAN-Sensor: Temperatur und Feuchtigkeit
Beim Rumgucken im Netz fand ich den Wemos D1 Mini. Ein ESP8622 im ESP-12F Format.
Dieser lässt sich mit der Arduino IDE programmieren.
Mit dem DHT22 konnte ich einen ersten Ansatz eines Temperatur- und Feuchtsensors basteln.
Ist unkompliziert:
Der Aufruf erfolgt
Temperatur -> http://192.168.3.10/temp.html
Feuchtigkeit -> http://192.168.3.10/hum.html
Es wird ein auf eine Dezimalstelle gerundeter Wert ausgegeben.
Der Code ist recht einfach:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include "DHT.h"
#define DHTPIN D4 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
ESP8266WebServer server(80);
int value = 0;
const char* ssid = "GRAUPNER";
const char* password = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
void wificonnect(){
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
WiFi.config(IPAddress(192,168,3,10), IPAddress(192,168,0,1), IPAddress(255,255,252,0), IPAddress(192,168,0,1));
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Verbindung wiederherstellen...");
}
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void temp() {
server.send(200, "text/html", String(dht.readTemperature(), 1));
}
void hum() {
server.send(200, "text/html", String(dht.readHumidity(), 1));
}
void setup() {
Serial.begin(115200);
delay(10);
wificonnect();
server.begin();
dht.begin();
server.on("/temp.html",temp);
server.on("/hum.html",hum);
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
server.handleClient();
}
else {
wificonnect();
}
}
ToDo!
- Der D1 Mini entwickelt viel Eigenwärme, also den Sensor weit entfernen und
- um Strom zu sparen WakeUp-Intervalle festlegen.
Neueste Kommentare