NEWS
HC-SR04 an PiZeroW Messung nach ioBroker importieren...
-
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...
. 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
-
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...
. 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
@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
-
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...
. 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
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/ -
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/@nukleuz said in HC-SR04 an PiZeroW Messung nach ioBroker importieren...:
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....
-
@nukleuz said in HC-SR04 an PiZeroW Messung nach ioBroker importieren...:
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....
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
