# Bibliotheken laden
import time
from rotary import Rotary
import screens as screens
# GPIOs zum Rotary Encoder
pin_dt = 18
pin_clk = 19
pin_sw = 17
# Initialiserung Rotary Encoder
rotary = Rotary(pin_dt, pin_clk, pin_sw)
enc_value = 0
# States
menu_state = 1
def import_json(filename:str):
with open(filename) as f:
data = json.load(f)
return (data)
def export_json(filename:str, data:json):
with open(filename, "w") as f:
json.dump(data, f)
# Start
def default_loop():
screens.start_screen(60, 30, 30)
while menu_state == 1:
print("in measurement loop")
time.sleep(3)
# Funktion
def rotary_changed_default(change):
if change == Rotary.SW_RELEASE:
print("changing to settings")
else:
print("nothing to do")
# Wenn der Encoder bedient wird
rotary.add_handler(rotary_changed_default)
enc_value = 0
settings = {
"sys_settings":{
"description":"Systemeinstellungen",
"settings":[
["check_interval_min", 10, "Prüfinterval der Bodenfeuchte [m]"]
]
},
"sensor_1":{
"description":"Sensor 1",
"settings" :[
["max_moi", 65, "maximale Bodenfeuchte [%]"],
["min_moi", 35, "minimale Bodenfeuchte [%]"],
["max_pump_time", 50, "maximale Pumpenlaufzeit [s]"]
]
},
"sensor_2":{
"description":"Sensor 2",
"settings" :[
["max_moi", 65, "maximale Bodenfeuchte [%]"],
["min_moi", 35, "minimale Bodenfeuchte [%]"],
["max_pump_time", 50, "maximale Pumpenlaufzeit [s]"]
]
},
"sensor_3":{
"description":"Sensor 3",
"settings" :[
["max_moi", 65, "maximale Bodenfeuchte [%]"],
["min_moi", 35, "minimale Bodenfeuchte [%]"],
["max_pump_time", 50, "maximale Pumpenlaufzeit [s]"]
]
}
}
screens.gen_top_menu(settings)
# default_loop()Loading
epaper-2in9
epaper-2in9