Ankündigung

Einklappen
Keine Ankündigung bisher.

Autostellplatz visualisieren …

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Autostellplatz visualisieren …

    Hallo Zusammen!

    Ich bin dabei ein Carport zu errichten, es wird aus zwei Autoabstellplätze bestehen. Ich würde gerne visualisieren ob ein Auto am Stellplatz steht, so wie bei einen Parkhaus.

    Hat jemand so etwas umgesetzt oder einen Tipp mit welchen Sensoren man dies Lösen könnte?

    Danke
    Stefan


    #2
    Hallo Stefan,

    ich habe das ganze für meine Garage umgesetzt. Dazu genügt ein Ultraschallsensor, ein Nodemcu und die Datenübertragung per MQTT. Der Ultraschallsensor gibt eine Entfernung zurück. Du musst dann lediglich definieren bei welcher Entfernung ein Auto anwesend oder abwesend ist. Es ist das gleiche Prinzip wie bei modernen Parkhäusern mit der Anzeige, ob der Platz frei ist oder nicht. Die genaue Anleitung zum Projekt findest du hier: https://zukunftathome.de/anwesenheit...aschallsensor/

    Viele Grüße
    Patrick

    Kommentar


      #3
      Hallo Patrick!

      Dankeschön für die schnelle Antwort. Super Beschreibung, mit gefällt leider nur nicht, dass es mit WLAN gelöst ist und über einen offenen Server laufen muss. Hast du Probiert es direkt ins KNX zu bringen? Mit einen Schalteingang oder so!?

      Hast du für den Ultraschallsensor vielleicht auch noch einen Amazon link..

      LG Stefan

      Kommentar


        #4
        Zitat von zukunftathome Beitrag anzeigen
        Hallo Stefan,

        ich habe das ganze für meine Garage umgesetzt. Dazu genügt ein Ultraschallsensor, ein Nodemcu und die Datenübertragung per MQTT. Der Ultraschallsensor gibt eine Entfernung zurück. Du musst dann lediglich definieren bei welcher Entfernung ein Auto anwesend oder abwesend ist. Es ist das gleiche Prinzip wie bei modernen Parkhäusern mit der Anzeige, ob der Platz frei ist oder nicht. Die genaue Anleitung zum Projekt findest du hier: https://zukunftathome.de/anwesenheit...aschallsensor/

        Viele Grüße
        Patrick
        Hallo Patrick!

        Noch eine frage ... Hab gerade den Temperatursensor auf deiner Homepage gesehen ... Da fällt mir gleich ein zweites Problem ein ... Ich würde gerne die Temperatur meines Pool auslesen und an Openhab senden! Ich habe leider keine Kabel mehr dort und kann nicht mehr verlegen, deswegen ist die Lösung per WLAN in diesen Beispiel perfekt ...

        Zwei Fragen:
        Kannst du mir einen Temperatursensor, der eben die Wassertemperatur messen kann empfehlen?
        Kannst du noch genauer beschreiben wie du die Daten deiner Lösung in Openhab integrieren kann?

        LG Stefan

        Kommentar


          #5
          Hi Stefan,

          zum Abstandssensor:
          Mit KNX habe ich es nicht versucht. Zu diesem Zeitpunkt hatte ich noch keine ETS um ein neues Gerät zu installieren und das Kabel war (wie es immer ist) an der falschen Stelle.
          Ich nutze für die MQTT Übertragung einen eigenen MQTT Server, der per LAN Kabel im eigenen Netzwerk operiert. Die Daten verlassen das eigene Netzwerk also nicht.
          Falls dir ein WPA2 abgesichertes WLAN dennoch Bauchschmerzen bereitet, kannst du alternativ sicher auch einen Raspberry mit dem Abstandssensor nutzen, um die Daten dann via LAN Kabel zu übertragen.

          Link zum Ultraschallsensor: https://www.ebay.de/itm/RCW-0001-Mic...item4b3feb448a
          Wenn du einen NodeMCU nutzt, musst du darauf achten, dass der Sensor mit 3,3V arbeitet. Beim Raspberry geht auch der Sensor mit 5V

          Zum Temperatursensor:
          Hier nutze ich ebenfalls zur Datenübertragung das MQTT Protokoll. Server bildet der gleiche MQTT Server auf dem Raspberry, wie beim Abstandssensor.
          Google spuckt mir diesen Sensor aus: https://www.banggood.com/DS18B20-Wat..._warehouse=USA

          Habe das Teil natürlich noch nicht getestet, aber auch hier würde auch zur Übertragung wieder auf MQTT setzen. Das Protokoll ist schlank und openHAB stellt ein Binding zur Verfügung, mit dem es Daten empfangen und senden kann.

          Viele Grüße
          Patrick

          Kommentar


            #6
            Zitat von zukunftathome Beitrag anzeigen

            Habe das Teil natürlich noch nicht getestet, aber auch hier würde auch zur Übertragung wieder auf MQTT setzen. Das Protokoll ist schlank und openHAB stellt ein Binding zur Verfügung, mit dem es Daten empfangen und senden kann.
            Kannst du mir bei den Punkt noch weiterhelfen wie ich beim Temperatursensor die jonsen werte. In Openhab bringe?

            Kommentar


              #7
              WLAN mit WPA2 ist doch sicherer als LAN oder KNX Kabel im Carport...
              Wenn es um die Stabilität der Verbindung geht, dann ist das natürlich was anderes...

              Kommentar


                #8
                Wenn du per MQTT überträgst, werden die Werte als String übertragen. Hier habe ich erklärt, wie man die Werte in OpenHAB integriert: https://zukunftathome.de/mqtt-bindin...konfigurieren/

                Wie du einen MQTT Server aufbaust, kannst du hier nachlesen: http://www.instructables.com/id/Inst...-Raspberry-Pi/

                Du kannst natürlich auch anstelle des MQTT Protokolls einen Webserver starten, um die Werte im JSON Format zu übertragen. Das habe ich mit einem Luftfeuchtigkeitssensor und einem NodeMCU umgesetzt: https://zukunftathome.de/nodemcu-luf...eratur-messen/

                Viel Lesestoff

                Kommentar


                  #9
                  Zitat von zukunftathome Beitrag anzeigen

                  Viel Lesestoff
                  Stimmt, da habe ich einiges jetzt zum lesen. Vielleicht eines noch ... dann lege ich mal mit dem Lesen los ...

                  Ist es auch möglich einen Magnetkontakt statt den Ultraschallsensor zu verwenden?
                  Und statt den MQTT Server einfach einen Schaltkontakt zu schalten um es mit einen Binäraktor ins KNX zu bringen!?

                  Hast du dazu auch ein paar Links?

                  LG Stefan

                  Kommentar


                    #10
                    Zitat von Eugenius Beitrag anzeigen
                    WLAN mit WPA2 ist doch sicherer als LAN oder KNX Kabel im Carport...
                    Wenn es um die Stabilität der Verbindung geht, dann ist das natürlich was anderes...
                    Genau um diese Stabilität geht es mir ... mir wäre es lieber mit einen Schaltausgang zu arbeiten der wiederum einen Binäraktor im KNX bescheid gibt. Da fällt die Unsicherheit eines MQTT Server und des Wlan komplett weg.

                    Kommentar


                      #11
                      Das kommt davon, wenn man alles doppelt erstellen muss. Vielleicht schaust Du mal in deinen anderen Thread: https://knx-user-forum.de/forum/%C3%...eren-%E2%80%A6

                      Kommentar


                        #12
                        Grundsätzlich ist ein MQTT Server kein Unsicherheitsfaktor. Wenn es um Datensicherheit geht, kann man die Verbindung mit Zertifikaten absichern.

                        MQTT hat einen entscheidenden Vorteil, nämlich, dass es sich um einen Standard handelt. Auch wenn selbst gebaute Sensoren und Aktoren immer gebastelt sind (das ist nicht abwertend gemeint!), bietet es sich an, etablierte Technik zu verwenden.
                        Ich habe z.B. meine beiden Torantriebe (einer Marantec, der andere Sommer, beide zweiflügelig) über ein paar Optokoppler mit Darlington-Stufe und jeweils einen 6-Fach Binäreingang (bei dem man zwei Eingänge als LED-Ausgang konfigurieren kann) an knx gebracht. Ist gebastelt, aber die Signale (Tor fährt/Richtung) landen auf knx und stehen damit als GA zur Verfügung. Genauso kann ich über andere GA die Tore steuern.
                        Eine RGB-LED-Schlange habe ich an einem Raspberry angeschlossen. Bis vor kurzem habe ich über socat die Steuerinformationen übertragen, seit ein paar Wochen läuft aber ein einfaches Python Script, welches die Verbindung über MQTT aufbaut.
                        Dabei sind es gerade die zusätzlichen Funktionen, die die Sache so angenehm machen, man kann z.B. ein LastWill für Topics setzen. Wenn der Kontakt zum Client abbricht, setzt der Server automatisch den LastWill. Damit kann man eine zuverlässige Anzeige realisieren, ob ein Client (also z.B. der Garagensensor) online ist.

                        Kommentar


                          #13
                          Zitat von zukunftathome Beitrag anzeigen
                          Hi Stefan,

                          Zum Temperatursensor:
                          Hier nutze ich ebenfalls zur Datenübertragung das MQTT Protokoll. Server bildet der gleiche MQTT Server auf dem Raspberry, wie beim Abstandssensor.
                          Google spuckt mir diesen Sensor aus: https://www.banggood.com/DS18B20-Wat..._warehouse=USA

                          Habe das Teil natürlich noch nicht getestet, aber auch hier würde auch zur Übertragung wieder auf MQTT setzen. Das Protokoll ist schlank und openHAB stellt ein Binding zur Verfügung, mit dem es Daten empfangen und senden kann.

                          Viele Grüße
                          Patrick
                          Hallo Patrick!

                          Habe mir diesen Sensor jetzt zugelegt, jedoch bekomme ich ihm nicht zum laufen. Hättest du für mich ein Beispiel dass mit einen MQTT Server arbeitet und dem NodeMCU verwendet?

                          LG Stefan

                          Kommentar


                            #14
                            Hallo Stefan,
                            hier mein Code mit einem DHT22 Temperatur und Luftfeuchtigkeitessensor und MQTT. Die Teile mit "humidity" kannst du dir dann einfach sparen Du musst natürlich noch deine Wlan Daten eintragen.

                            Code:
                            #include <ESP8266WiFi.h>
                            #include <PubSubClient.h>
                            #include <DHT.h>
                            
                            #define DHTTYPE   DHT22
                            #define DHTPIN    5
                            
                            DHT dht(DHTPIN, DHTTYPE, 22);
                            
                            
                            float temperature, humidity;
                            
                            // Update these with values suitable for your network.
                            const char* ssid = "Idelahm";
                            const char* password = "xxxxxxxx";
                            const char* mqtt_server = "192.168.x.xx";
                            
                            
                            WiFiClient espClient;
                            PubSubClient client(espClient);
                            long lastMsg = 0;
                            char msg[50];
                            int value = 0;
                            
                            void setup_wifi() {
                              delay(100);
                              // We start by connecting to a WiFi network
                              Serial.print("Connecting to ");
                              Serial.println(ssid);
                              WiFi.begin(ssid, password);
                              while (WiFi.status() != WL_CONNECTED)
                              {
                                delay(500);
                                Serial.print(".");
                              }
                              randomSeed(micros());
                              Serial.println("");
                              Serial.println("WiFi connected");
                              Serial.println("IP address: ");
                              Serial.println(WiFi.localIP());
                            }
                            
                            
                            
                            void reconnect() {
                              // Loop until we're reconnected
                              while (!client.connected())
                              {
                                Serial.print("Attempting MQTT connection...");
                                // Create a random client ID
                                String clientId = "ESP8266Client-";
                                clientId += String(random(0xffff), HEX);
                                // Attempt to connect
                                //if you MQTT broker has clientID,username and password
                                //please change following line to    if (client.connect(clientId,userName,passWord))
                                if (client.connect(clientId.c_str()))
                                {
                                  Serial.println("connected");
                                  //once connected to MQTT broker, subscribe command if any
                                  client.subscribe("OsoyooCommand");
                                } else {
                                  Serial.print("failed, rc=");
                                  Serial.print(client.state());
                                  Serial.println(" try again in 5 seconds");
                                  // Wait 6 seconds before retrying
                                  delay(6000);
                                }
                              }
                            } //end reconnect()
                            
                            
                            void setup() {
                              Serial.begin(115200);
                              Serial.setTimeout(2000);
                            
                              // Wait for serial to initialize.
                              while(!Serial) { }
                            
                              Serial.begin(115200);
                              setup_wifi();
                              client.setServer(mqtt_server, 1883);
                            
                              dht.begin();
                              humidity = dht.readHumidity();
                              temperature = dht.readTemperature();
                            
                            
                            
                              if (!client.connected()) {
                                reconnect();
                              }
                            }
                            
                            void loop() {
                            
                              dht.begin();
                              humidity = dht.readHumidity();
                              temperature = dht.readTemperature();
                              if (isnan(humidity) || isnan(temperature)) {
                                return;
                              }
                            
                              if (!client.connected()) {
                                reconnect();
                              }
                              client.loop();
                              long now = millis();
                              // read DHT11 sensor every 6 seconds
                              if (now - lastMsg > 10000) {
                                lastMsg = now;
                            
                            
                              String msg = (String)humidity;
                              char messagehumidity[58];
                              msg.toCharArray(messagehumidity, 58);
                              Serial.println(messagehumidity);
                              //publish sensor data to MQTT broker
                              client.publish("Haus/EG/Essen/Sensor/Feuchtigkeit", messagehumidity);
                            
                              String msg2 = (String)temperature;
                              char messagetemperature[58];
                              msg2.toCharArray(messagetemperature, 58);
                              Serial.println(messagetemperature);
                              //publish sensor data to MQTT broker
                              client.publish("Haus/EG/Essen/Sensor/Temperatur", messagetemperature);
                            
                              }
                            }

                            Kommentar


                              #15
                              Zitat von zukunftathome Beitrag anzeigen
                              Hallo Stefan,
                              hier mein Code mit einem DHT22 Temperatur und Luftfeuchtigkeitessensor und MQTT. Die Teile mit "humidity" kannst du dir dann einfach sparen Du musst natürlich noch deine Wlan Daten eintragen.

                              Code:
                              #include <ESP8266WiFi.h>
                              #include <PubSubClient.h>
                              #include <DHT.h>
                              
                              #define DHTTYPE DHT22
                              #define DHTPIN 5
                              
                              DHT dht(DHTPIN, DHTTYPE, 22);
                              
                              
                              float temperature, humidity;
                              
                              // Update these with values suitable for your network.
                              const char* ssid = "Idelahm";
                              const char* password = "xxxxxxxx";
                              const char* mqtt_server = "192.168.x.xx";
                              
                              
                              WiFiClient espClient;
                              PubSubClient client(espClient);
                              long lastMsg = 0;
                              char msg[50];
                              int value = 0;
                              
                              void setup_wifi() {
                              delay(100);
                              // We start by connecting to a WiFi network
                              Serial.print("Connecting to ");
                              Serial.println(ssid);
                              WiFi.begin(ssid, password);
                              while (WiFi.status() != WL_CONNECTED)
                              {
                              delay(500);
                              Serial.print(".");
                              }
                              randomSeed(micros());
                              Serial.println("");
                              Serial.println("WiFi connected");
                              Serial.println("IP address: ");
                              Serial.println(WiFi.localIP());
                              }
                              
                              
                              
                              void reconnect() {
                              // Loop until we're reconnected
                              while (!client.connected())
                              {
                              Serial.print("Attempting MQTT connection...");
                              // Create a random client ID
                              String clientId = "ESP8266Client-";
                              clientId += String(random(0xffff), HEX);
                              // Attempt to connect
                              //if you MQTT broker has clientID,username and password
                              //please change following line to if (client.connect(clientId,userName,passWord))
                              if (client.connect(clientId.c_str()))
                              {
                              Serial.println("connected");
                              //once connected to MQTT broker, subscribe command if any
                              client.subscribe("OsoyooCommand");
                              } else {
                              Serial.print("failed, rc=");
                              Serial.print(client.state());
                              Serial.println(" try again in 5 seconds");
                              // Wait 6 seconds before retrying
                              delay(6000);
                              }
                              }
                              } //end reconnect()
                              
                              
                              void setup() {
                              Serial.begin(115200);
                              Serial.setTimeout(2000);
                              
                              // Wait for serial to initialize.
                              while(!Serial) { }
                              
                              Serial.begin(115200);
                              setup_wifi();
                              client.setServer(mqtt_server, 1883);
                              
                              dht.begin();
                              humidity = dht.readHumidity();
                              temperature = dht.readTemperature();
                              
                              
                              
                              if (!client.connected()) {
                              reconnect();
                              }
                              }
                              
                              void loop() {
                              
                              dht.begin();
                              humidity = dht.readHumidity();
                              temperature = dht.readTemperature();
                              if (isnan(humidity) || isnan(temperature)) {
                              return;
                              }
                              
                              if (!client.connected()) {
                              reconnect();
                              }
                              client.loop();
                              long now = millis();
                              // read DHT11 sensor every 6 seconds
                              if (now - lastMsg > 10000) {
                              lastMsg = now;
                              
                              
                              String msg = (String)humidity;
                              char messagehumidity[58];
                              msg.toCharArray(messagehumidity, 58);
                              Serial.println(messagehumidity);
                              //publish sensor data to MQTT broker
                              client.publish("Haus/EG/Essen/Sensor/Feuchtigkeit", messagehumidity);
                              
                              String msg2 = (String)temperature;
                              char messagetemperature[58];
                              msg2.toCharArray(messagetemperature, 58);
                              Serial.println(messagetemperature);
                              //publish sensor data to MQTT broker
                              client.publish("Haus/EG/Essen/Sensor/Temperatur", messagetemperature);
                              
                              }
                              }
                              Danke, das Projekt habe ich bereits erfolgreich umgesetzt! Die Genauigkeit des DHT22 lässt etwas zum wünschen übrig aber sonst klappt es. Ich brauche noch ein beispiel für den Sensor DS18B20 den du mir oben empfohlen hast ... soll die Temperatur des Pools messen!

                              LG Stefan DS18B20 Waterproof Digital Temperature Temp Sensor Probe 1M 2M 3M 5M 10M 15M

                              Kommentar

                              Lädt...
                              X