From: Mario Höllein Date: Thu, 1 Aug 2019 07:42:03 +0000 (+0200) Subject: mqqt Test X-Git-Url: https://git.hoellein.online/?a=commitdiff_plain;h=HEAD;p=Mikrocontroller%2Ftemp_mqqt_fhem mqqt Test --- 6f890c407b8d2b6512a4d66e5db2304b4744f651 diff --git a/temp_mqqt_fhem.ino b/temp_mqqt_fhem.ino new file mode 100644 index 0000000..c3e1134 --- /dev/null +++ b/temp_mqqt_fhem.ino @@ -0,0 +1,131 @@ +#include +#include + + +#define DHTTYPE DHT22 +#define DHTPIN 5 +#include + +#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(); +}