parent
72ed90e722
commit
6f89c8f73a
49
main.py
49
main.py
|
@ -1,3 +1,4 @@
|
||||||
|
from string import whitespace
|
||||||
import time
|
import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
try:
|
try:
|
||||||
|
@ -64,7 +65,51 @@ def get_water_level():
|
||||||
def get_temperature():
|
def get_temperature():
|
||||||
i2c = busio.I2C(board.SCL, board.SDA)
|
i2c = busio.I2C(board.SCL, board.SDA)
|
||||||
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address=0x76)
|
bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address=0x76)
|
||||||
return int(bmp280.temperature)
|
rounded_temp = int(bmp280.temperature)
|
||||||
|
return str(rounded_temp)
|
||||||
|
|
||||||
print(get_water_level())
|
print(get_water_level())
|
||||||
print(get_temperature())
|
print(get_temperature())
|
||||||
|
|
||||||
|
def mqtt_on_connect(client):
|
||||||
|
client.subscribe("strawberry-pi-greenhouse/relay/channel/1")
|
||||||
|
client.subscribe("strawberry-pi-greenhouse/relay/channel/2")
|
||||||
|
client.subscribe("strawberry-pi-greenhouse/relay/channel/3")
|
||||||
|
client.subscribe("strawberry-pi-greenhouse/relay/channel/4")
|
||||||
|
|
||||||
|
def mqtt_on_message(msg):
|
||||||
|
print("topic: " ,str(msg.topic))
|
||||||
|
print("payload: " ,str(msg.payload.decode("utf-8")))
|
||||||
|
topic = str(msg.topic)
|
||||||
|
payload = str(msg.payload.decode("utf-8"))
|
||||||
|
|
||||||
|
if topic == "strawberry-pi-greenhouse/relay/channel/1":
|
||||||
|
pass
|
||||||
|
elif topic == "strawberry-pi-greenhouse/relay/channel/2":
|
||||||
|
pass
|
||||||
|
elif topic == "strawberry-pi-greenhouse/relay/channel/3":
|
||||||
|
pass
|
||||||
|
elif topic == "strawberry-pi-greenhouse/relay/channel/4":
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
mqttBroker ="homeassistant.ping-mee.local"
|
||||||
|
client = mqtt.Client("greenhouse_client")
|
||||||
|
client.username_pw_set("mqtt", "pmMQTT_11!")
|
||||||
|
debug_print("Connecting to MQTT Broker "+str(mqttBroker))
|
||||||
|
client.connect(mqttBroker)
|
||||||
|
client.on_connect = mqtt_on_connect
|
||||||
|
client.on_message = mqtt_on_message
|
||||||
|
client.loop_start()
|
||||||
|
|
||||||
|
try:
|
||||||
|
client.loop_start()
|
||||||
|
while True:
|
||||||
|
client.publish("strawberry-pi-greenhouse/sensor/temperature", get_temperature())
|
||||||
|
debug_print("Published current temperature: "+get_temperature())
|
||||||
|
client.publish("strawberry-pi-greenhouse/sensor/water-level", get_water_level())
|
||||||
|
debug_print("Published current water level: "+get_water_level())
|
||||||
|
time.sleep(1)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
GPIO.cleanup()
|
Loading…
Reference in New Issue