Untitled

 avatar
unknown
plain_text
a year ago
915 B
5
Indexable
import paho.mqtt.client as mqtt
import RPi.GPIO as GPIO
import time

# MQTT-Konfiguration
MQTT_BROKER = "192.168.178.112"
MQTT_TOPIC = "s0_meter/impulses"

# GPIO-Konfiguration
S0_PIN = 17

GPIO.setmode(GPIO.BCM)
GPIO.setup(S0_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# Zähler
counter = 0

def on_pulse(channel):
    global counter
    counter += 1
    mqtt_client.publish(MQTT_TOPIC, counter)
    print(f"Impulse: {counter}")

# MQTT-Client konfigurieren
mqtt_client = mqtt.Client()
mqtt_client.connect(MQTT_BROKER, 1883, 60)

# GPIO-Ereignis
GPIO.add_event_detect(S0_PIN, GPIO.FALLING, callback=on_pulse, bouncetime=100)

try:
    print("Starte S0 zu MQTT...")
    mqtt_client.loop_start()
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    print("Beende Programm...")
finally:
    GPIO.cleanup()
    mqtt_client.loop_stop()
    mqtt_client.disconnect()
Editor is loading...
Leave a Comment