bin Anfänger und versuche mir 2Scripte zusammenzubasteln ...
Ich möchte meinen 3D Drucker über meine Haussteuerung überwachen.
Dies geschieht bereits über MQTT und funktioniert ganz gut.
Abgefragt werden Wete wie ENDSTELLUNG und LÄNGENMESSUNG.
Zusätzlich sollen jetzt weitere Sensordaten hinzukommen:
- WÄGEZELLE HX711 für das Filament Gewicht
- TEMPERATURMESSUNG über I2C des Druckerbetts
Für die Wägezelle habe ich folgendes Script zum Testen verwendet:
https://github.com/tatobari/hx711py/blob/master/example.py
Diese funktioniert für sich alleine auch sehr gut und ausreichend genau.
Aktuelles Script LÄNGENMESSUNG und ENDSCHALTER:
Code: Alles auswählen
#!/usr/bin/env python3
import paho.mqtt.client as mqtt
import time
import RPi.GPIO as GPIO
import threading
import sys
from hx711 import HX711
#MQTT
broker= "123.456.78.9"
port="1234"
topic="raspberry"
user="user"
pwd="passwort"
#COUNTER
count=0
#WAAGE
#referenceUnit = -410
#hx = HX711(5, 6)
#hx.set_reference_unit(referenceUnit)
def on_connect(client, userdata, flags, rc):
# print(f"Connected with code {rc}")
print("OK")
def set_interval(func, sec):
def func_wrapper():
set_interval(func, sec)
func()
t = threading.Timer(sec, func_wrapper)
t.start()
return t
def zeroI():
global count, state, val
state = GPIO.input(24)
print (count)
#print (val)
print (state)
count = count
client.publish("haussteuerung/counter", (count))
client.publish("haussteuerung/state", (state))
#client.publish("haussteuerung/value", (val))
set_interval(zeroI, 3.0) #nur zum Test auf 3 sec
client = mqtt.Client("RASPBERRY")
client.username_pw_set(username=user, password=pwd)
client.on_connect = on_connect
client.connect(broker, port, 60)
while True:
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.wait_for_edge(23, GPIO.RISING)
count = count + 1
GPIO.cleanup()
client.loop_forever()
val = hx.get_weight(5)
nicht so in mein vorhandenes Script integriert,dass es fehlerfrei läuft.
Kann mich bitte jemand bei meinem Problem unterstützen?
Danke im Voraus