Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. HC-SR04 an PiZeroW Messung nach ioBroker importieren...

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    258

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

HC-SR04 an PiZeroW Messung nach ioBroker importieren...

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 3 Kommentatoren 522 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Albyricus
    schrieb am zuletzt editiert von
    #1

    Hi Leute,

    ich habe einen Pi4 als ioBroker Master laufen und an einem PiZeroW habe ich ein HC-SR04 Modul angeschlossen und kann über ein Pythonskipt auch wunderbar Entfernungen messen, jetzt wollte ich das ganze über den rpi adapter (wg. GPIO) und blocky in den iobroker aufnehmen und habe festgestellt, dass blocky wohl "nur" in millisekunden rechnen / messen kann...:dizzy_face: . Das ist für eine Entfernungsmessung viel zu ungenau.... Javascript kann ich leider nicht, und nach meinen bisherigen Recherchen ist javascript auch auf millisekunden beschränkt.... (oder sitzte ich hier einem Irrtum auf)

    wie bringe ich denn jetzt die cm Werte aus folgendem Python-Skript am besten / einfachsten in meinen ioBroker???

    #Bibliotheken einbinden
    import RPi.GPIO as GPIO
    import time
    
    #GPIO Modus (BOARD / BCM)
    GPIO.setmode(GPIO.BCM)
    
    #GPIO Pins zuweisen
    GPIO_TRIGGER = 18
    GPIO_ECHO = 24
    
    #Richtung der GPIO-Pins festlegen (IN / OUT)
    GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
    GPIO.setup(GPIO_ECHO, GPIO.IN)
    
    def distanz():
        # setze Trigger auf HIGH
        GPIO.output(GPIO_TRIGGER, True)
    
        # setze Trigger nach 0.01ms aus LOW
        time.sleep(0.00001)
        GPIO.output(GPIO_TRIGGER, False)
    
        StartZeit = time.time()
        StopZeit = time.time()
    
        # speichere Startzeit
        while GPIO.input(GPIO_ECHO) == 0:
            StartZeit = time.time()
    
        # speichere Ankunftszeit
        while GPIO.input(GPIO_ECHO) == 1:
            StopZeit = time.time()
    
        # Zeit Differenz zwischen Start und Ankunft
        TimeElapsed = StopZeit - StartZeit
        # mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren
        # und durch 2 teilen, da hin und zurueck
        distanz = (TimeElapsed * 34300) / 2
    
        return distanz
    
    if __name__ == '__main__':
        try:
            while True:
                abstand = distanz()
                print ("Gemessene Entfernung = %.1f cm" % abstand)
                time.sleep(1)
    
            # Beim Abbruch durch STRG+C resetten
        except KeyboardInterrupt:
            print("Messung vom User gestoppt")
            GPIO.cleanup()
    

    Vielen Dank vorab und viele Grüße

    bahnuhrB nukleuzN 2 Antworten Letzte Antwort
    0
    • A Albyricus

      Hi Leute,

      ich habe einen Pi4 als ioBroker Master laufen und an einem PiZeroW habe ich ein HC-SR04 Modul angeschlossen und kann über ein Pythonskipt auch wunderbar Entfernungen messen, jetzt wollte ich das ganze über den rpi adapter (wg. GPIO) und blocky in den iobroker aufnehmen und habe festgestellt, dass blocky wohl "nur" in millisekunden rechnen / messen kann...:dizzy_face: . Das ist für eine Entfernungsmessung viel zu ungenau.... Javascript kann ich leider nicht, und nach meinen bisherigen Recherchen ist javascript auch auf millisekunden beschränkt.... (oder sitzte ich hier einem Irrtum auf)

      wie bringe ich denn jetzt die cm Werte aus folgendem Python-Skript am besten / einfachsten in meinen ioBroker???

      #Bibliotheken einbinden
      import RPi.GPIO as GPIO
      import time
      
      #GPIO Modus (BOARD / BCM)
      GPIO.setmode(GPIO.BCM)
      
      #GPIO Pins zuweisen
      GPIO_TRIGGER = 18
      GPIO_ECHO = 24
      
      #Richtung der GPIO-Pins festlegen (IN / OUT)
      GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
      GPIO.setup(GPIO_ECHO, GPIO.IN)
      
      def distanz():
          # setze Trigger auf HIGH
          GPIO.output(GPIO_TRIGGER, True)
      
          # setze Trigger nach 0.01ms aus LOW
          time.sleep(0.00001)
          GPIO.output(GPIO_TRIGGER, False)
      
          StartZeit = time.time()
          StopZeit = time.time()
      
          # speichere Startzeit
          while GPIO.input(GPIO_ECHO) == 0:
              StartZeit = time.time()
      
          # speichere Ankunftszeit
          while GPIO.input(GPIO_ECHO) == 1:
              StopZeit = time.time()
      
          # Zeit Differenz zwischen Start und Ankunft
          TimeElapsed = StopZeit - StartZeit
          # mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren
          # und durch 2 teilen, da hin und zurueck
          distanz = (TimeElapsed * 34300) / 2
      
          return distanz
      
      if __name__ == '__main__':
          try:
              while True:
                  abstand = distanz()
                  print ("Gemessene Entfernung = %.1f cm" % abstand)
                  time.sleep(1)
      
              # Beim Abbruch durch STRG+C resetten
          except KeyboardInterrupt:
              print("Messung vom User gestoppt")
              GPIO.cleanup()
      

      Vielen Dank vorab und viele Grüße

      bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @albyricus sagte in HC-SR04 an PiZeroW Messung nach ioBroker importieren...:

      PiZeroW

      wemos d1 mini
      tasmota drauf
      HC-sr04 anschließen
      fertig.

      Kosten ca 5,- Euro für den D1


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • A Albyricus

        Hi Leute,

        ich habe einen Pi4 als ioBroker Master laufen und an einem PiZeroW habe ich ein HC-SR04 Modul angeschlossen und kann über ein Pythonskipt auch wunderbar Entfernungen messen, jetzt wollte ich das ganze über den rpi adapter (wg. GPIO) und blocky in den iobroker aufnehmen und habe festgestellt, dass blocky wohl "nur" in millisekunden rechnen / messen kann...:dizzy_face: . Das ist für eine Entfernungsmessung viel zu ungenau.... Javascript kann ich leider nicht, und nach meinen bisherigen Recherchen ist javascript auch auf millisekunden beschränkt.... (oder sitzte ich hier einem Irrtum auf)

        wie bringe ich denn jetzt die cm Werte aus folgendem Python-Skript am besten / einfachsten in meinen ioBroker???

        #Bibliotheken einbinden
        import RPi.GPIO as GPIO
        import time
        
        #GPIO Modus (BOARD / BCM)
        GPIO.setmode(GPIO.BCM)
        
        #GPIO Pins zuweisen
        GPIO_TRIGGER = 18
        GPIO_ECHO = 24
        
        #Richtung der GPIO-Pins festlegen (IN / OUT)
        GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
        GPIO.setup(GPIO_ECHO, GPIO.IN)
        
        def distanz():
            # setze Trigger auf HIGH
            GPIO.output(GPIO_TRIGGER, True)
        
            # setze Trigger nach 0.01ms aus LOW
            time.sleep(0.00001)
            GPIO.output(GPIO_TRIGGER, False)
        
            StartZeit = time.time()
            StopZeit = time.time()
        
            # speichere Startzeit
            while GPIO.input(GPIO_ECHO) == 0:
                StartZeit = time.time()
        
            # speichere Ankunftszeit
            while GPIO.input(GPIO_ECHO) == 1:
                StopZeit = time.time()
        
            # Zeit Differenz zwischen Start und Ankunft
            TimeElapsed = StopZeit - StartZeit
            # mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren
            # und durch 2 teilen, da hin und zurueck
            distanz = (TimeElapsed * 34300) / 2
        
            return distanz
        
        if __name__ == '__main__':
            try:
                while True:
                    abstand = distanz()
                    print ("Gemessene Entfernung = %.1f cm" % abstand)
                    time.sleep(1)
        
                # Beim Abbruch durch STRG+C resetten
            except KeyboardInterrupt:
                print("Messung vom User gestoppt")
                GPIO.cleanup()
        

        Vielen Dank vorab und viele Grüße

        nukleuzN Offline
        nukleuzN Offline
        nukleuz
        schrieb am zuletzt editiert von
        #3

        @albyricus

        Du musst in deinem Skript lediglich über pip oder pip3 paho.mqtt installieren und im ioBroker den MQTt Adapter/Server installieren.

        Hier ne Anleitung, die weiterhelfen sollte:
        https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/

        Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

        A 1 Antwort Letzte Antwort
        0
        • nukleuzN nukleuz

          @albyricus

          Du musst in deinem Skript lediglich über pip oder pip3 paho.mqtt installieren und im ioBroker den MQTt Adapter/Server installieren.

          Hier ne Anleitung, die weiterhelfen sollte:
          https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/

          A Offline
          A Offline
          Albyricus
          schrieb am zuletzt editiert von
          #4

          @nukleuz said in HC-SR04 an PiZeroW Messung nach ioBroker importieren...:

          @albyricus

          Du musst in deinem Skript lediglich über pip oder pip3 paho.mqtt installieren und im ioBroker den MQTt Adapter/Server installieren.

          Hier ne Anleitung, die weiterhelfen sollte:
          https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/

          Merci....

          nukleuzN 1 Antwort Letzte Antwort
          0
          • A Albyricus

            @nukleuz said in HC-SR04 an PiZeroW Messung nach ioBroker importieren...:

            @albyricus

            Du musst in deinem Skript lediglich über pip oder pip3 paho.mqtt installieren und im ioBroker den MQTt Adapter/Server installieren.

            Hier ne Anleitung, die weiterhelfen sollte:
            https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/

            Merci....

            nukleuzN Offline
            nukleuzN Offline
            nukleuz
            schrieb am zuletzt editiert von
            #5

            @albyricus

            :+1:

            Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            615

            Online

            32.7k

            Benutzer

            82.5k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe