Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Testpilot 0

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    T
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 4
    • Best 0
    • Groups 1

    Testpilot 0

    @Testpilot 0

    Starter

    0
    Reputation
    3
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Testpilot 0 Follow
    Starter

    Latest posts made by Testpilot 0

    • RE: Temperatur/Luftfeuchtigkeitssensor einbinden

      @michi_pi Verstehe, ich dachte es kann der Webserver abgefragt werden. Dann muss ich ein Script suchen welches die Daten per IP übergibt?

      posted in Skripten / Logik
      T
      Testpilot 0
    • RE: Temperatur/Luftfeuchtigkeitssensor einbinden

      @homoran So sieht der Code aus:

      #include <ESP8266WiFi.h>
      #include "DHT.h"
       
      const char* ssid = ""; //SSID aus dem Router
      const char* password = ""; //Passwort für den Zugang zum WLAN
       
      int ledPin = D5; //digitaler PIN 5 des Wemos D1 an welchem die LED angeschlossen ist.
      int ledStatus = LOW; //aktueller Status der LED (default / start  -> AUS)
      WiFiServer server(80); //Port auf welchem der Server laufen soll.
      
       #define DHT11PIN 2 
       #define DHT11TYPE DHT11
       DHT dht11(DHT11PIN, DHT11TYPE);
       
      void setup() {
        Serial.begin(115200); //Baudrate für die Serielle Geschwindigkeit.
        delay(10); //10ms. Warten damit die Seriele Kommunikation aufgebaut wurde.
        
        pinMode(ledPin, OUTPUT); //Den LEDPin als ausgang setzen.
        digitalWrite(ledPin, ledStatus); //Die LED initial auf den Status "AUS" setzen.
         
        Serial.print("Aufbau der Verbindung zu: "); //Ausgabe der SSID auf der Seriellen Schnittstelle.
        Serial.println(ssid);
        
        WiFi.begin(ssid, password); //Initialisieren der Wifi Verbindung.
       
        while (WiFi.status() != WL_CONNECTED) { //Warten bis die Verbindung aufgebaut wurde.
          delay(500);
          //Einen Punkt auf der Seriellen Schnittstelle ausgeben so das der Benutzer erkennt dass, das Sketch noch läuft.
          Serial.print("."); 
        }
        //Bei erfolgreicher Verbindung wird der folgende Text ausgeben.
        Serial.print("Mit ");
        Serial.print(ssid);
        Serial.print("erfolgreich verbunden!");
      
        dht11.begin();
        
        server.begin(); // Starten des Servers.
        Serial.println("Server gestartet"); //Ausgabe auf der Seriellen Schnittstelle das der Server gestartet wurde.
       
        // Ausgabe der IP Adresse 
        Serial.print("Adresse : http://");
        Serial.print(WiFi.localIP());
        Serial.println("/");
      }
      
      /**
       * Die Funktion gibt den HTML Kopf auf dem Client aus.
       * Dieses wird für jeden Respond verwendet.
       **/
      void writeResponse(WiFiClient client, float tempValue, float humidityValue){  
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println("");
        client.println("<!DOCTYPE HTML>");
        client.println("<html>"); 
        client.println("<head>"); 
        client.println("<script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>"); 
        client.println("<script type='text/javascript' src='http://progs.draeger-it.blog/wemosd1/dht11/gauges.js'></script>"); 
        client.println("<link rel='stylesheet' href='http://progs.draeger-it.blog/wemosd1/dht11/styles.css'/>");   
        client.println("</head>"); 
        client.println("<body>"); 
        client.println("<div id='tempChart' class='chartContainer'></div>"); 
        client.println("<div id='pressChart' class='chartContainer'></div>"); 
        client.println("<script>"); 
        client.println("google.charts.load('current', {'packages':['gauge']});"); 
        client.println("google.charts.setOnLoadCallback(drawCharts);"); 
        client.println("function drawCharts() {"); 
        client.print("drawTempChart(");
        client.print(tempValue); 
        client.print(");");
        client.print("drawPressChart(");
        client.print(humidityValue); 
        client.print(");");
        client.println("}"); 
        client.println("</script>"); 
        client.println("</body>"); 
        client.println("</html>"); 
      }
      
      void loop() {
        //Prüfen ob sich ein Client verbunden hat, wenn nicht die Loop "verlassen"
        WiFiClient client = server.available();
        if (!client) {
          return;
        }
       
        // Wenn sich ein Client verbunden hat solange warten bis Daten gesendet werden.
        Serial.println("Neuer Client verbunden.");
        while(!client.available()){
          delay(1);
        }
       
        String request = client.readStringUntil('\r');
        Serial.println(request);
        client.flush(); 
      
        float tempValue = dht11.readTemperature(); //Temperatur vom Sensor DHT11 lesen
        float humidityValue = dht11.readHumidity(); //relative Luftfeuchtigkeit vom Sensor DHT11 lesen
      
       if (isnan(tempValue) || isnan(humidityValue)) {
           Serial.println("DHT11 konnte nicht ausgelesen werden");
           tempValue = 0;
           humidityValue = 0;
       }
       
        writeResponse(client, tempValue, humidityValue);
        
        delay(1); //1ms. Pause
      }
      
      posted in Skripten / Logik
      T
      Testpilot 0
    • RE: Temperatur/Luftfeuchtigkeitssensor einbinden

      @homoran ok, so langsam verstehe ich. D.h. ich muss den Sensor z.B. mit dem MQTT-Client in den IO-Broker einbinden?

      posted in Skripten / Logik
      T
      Testpilot 0
    • Temperatur/Luftfeuchtigkeitssensor einbinden

      Hallo zusammen,

      ich habe mit einem ESP8266 und DHT11 einen Sensor gebaut .

      Diesen Sensor möchte ich nun mittels Vis im IO-Broker einbinden. Da ich Neuling auf dem Gebiet bin, bitte ich um einen Tip zum weiteren vorgehen.

      Muss ich den Sensor ersteinmal als Objekt in IO-Broker einbinden oder erfolgt die Abfrage direkt per Vis?

      Danke und Gruß!

      posted in Skripten / Logik
      T
      Testpilot 0
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo