]> git.hoellein.online Git - Mikrocontroller/temp_mqqt_fhem/commitdiff
mqqt Test master
authorMario Höllein <mhoellein@freenet.de>
Thu, 1 Aug 2019 07:42:03 +0000 (09:42 +0200)
committerMario Höllein <mhoellein@freenet.de>
Thu, 1 Aug 2019 07:42:03 +0000 (09:42 +0200)
temp_mqqt_fhem.ino [new file with mode: 0644]

diff --git a/temp_mqqt_fhem.ino b/temp_mqqt_fhem.ino
new file mode 100644 (file)
index 0000000..c3e1134
--- /dev/null
@@ -0,0 +1,131 @@
+#include <DHT.h>
+#include <ESP8266WiFi.h>
+
+
+#define DHTTYPE DHT22
+#define DHTPIN 5
+#include <SoftwareSerial.h>
+
+#define trigger 3 // Arduino Pin an HC-SR04 Trig
+#define echo 2    // Arduino Pin an HC-SR04 Echo
+
+
+const char* host = "192.168.178.25";
+const char* ssid = "moellein";
+const char* password = "90628227476854167809";
+
+WiFiClient net;
+
+DHT dht(DHTPIN, DHTTYPE);
+
+void connect();
+
+void setup() {
+
+  dht.begin();
+
+  Serial.begin(115200);
+  Serial.println();
+  Serial.println("Booting...");
+
+  WiFi.mode(WIFI_AP_STA);
+  WiFi.begin(ssid, password);
+
+  connect();
+  Serial.println("Setup completed...");
+}
+
+void loop() {
+  //if (!mqtt.connected()) {
+  //  connect();
+  //}
+
+//  mqtt.loop();
+//  delay(30000);
+
+  float temp = dht.readTemperature();
+  float humidity = dht.readHumidity();
+ int entfernung=getEntfernung();
+ int mittelwert= getEntfernungGD();
+ Serial.write("Entfernung:");
+ Serial.print(entfernung, DEC) ;
+ Serial.write(" , Mittelwert (gewichtet): ");
+ Serial.print(mittelwert, DEC) ;
+ Serial.write(" cm\n");
+  Serial.print("Sending... ");
+  if (!isnan(humidity) || !isnan(temp)) {
+  //  mqtt.publish("/Wohnung/Buero/temp", String(temp));
+  //  mqtt.publish("/Wohnung/Buero/humidity", String(humidity));
+
+    Serial.print("Temp: ");
+    Serial.print(String(temp));
+    Serial.print(" Humidity: ");
+    Serial.println(String(humidity));
+    delay(1000);
+  }
+}
+// Entfernung in cm über gewöhnlichen Ultraschallsensor mit Echo und Trigger messen
+int getEntfernung(){ 
+ long entfernung=0;
+ long zeit=0;
+
+ digitalWrite(trigger, LOW); 
+ delayMicroseconds(3);
+ noInterrupts();
+ digitalWrite(trigger, HIGH); //Trigger Impuls 10 us
+ delayMicroseconds(10);
+ digitalWrite(trigger, LOW); 
+ zeit = pulseIn(echo, HIGH); // Echo-Zeit messen
+ interrupts(); 
+ zeit = (zeit/2); // Zeit halbieren
+ entfernung = zeit / 29.1; // Zeit in Zentimeter umrechnen
+ return(entfernung); 
+}
+
+//Entfernung Gleitender Durchschnitt (gewichtet)
+int getEntfernungGD(){ 
+
+int alt=0;
+int mittel;
+int entf;
+int i;
+
+ delay(10);
+ alt=getEntfernung();
+ delay(10);
+ for (i=0; i<10; i++)
+ {
+   entf=getEntfernung();
+   mittel=(0.8*alt) + (0.2*entf);
+   alt=mittel;
+   delay(10);
+ }
+ return (mittel);
+}
+void connect() {
+  while(WiFi.waitForConnectResult() != WL_CONNECTED) {
+    WiFi.begin(ssid, password);
+    Serial.println("WiFi connection failed. Retry.");
+  }
+
+  Serial.print("Wifi connection successful - IP-Address: ");
+  Serial.println(WiFi.localIP());
+
+  //while (!mqtt.connect(host)) {
+  //  Serial.print(".");
+  //}
+
+  //Serial.println("MQTT connected!");
+}
+
+void messageReceived(String topic, String payload, char * bytes, unsigned int length) {
+  Serial.print("incoming: ");
+  Serial.print(topic);
+  Serial.print(" - ");
+  Serial.print(payload);
+  Serial.println();
+}