Toggle Navigation
Hatchery
Eggs
mqtt
__init__.py
Users
Badges
Login
Register
__init__.py
raw
Content
import badge import ugfx import time CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:',.<>/?|\\\"~` .:" CHAR_LIST = list(CHARS) def get_input(prompt, maxlen=64): ugfx.clear(ugfx.WHITE) ugfx.text(10, 10, prompt, ugfx.BLACK) input_str = "" char_idx = 0 while True: ugfx.clear(ugfx.WHITE) ugfx.text(10, 10, prompt, ugfx.BLACK) ugfx.text(10, 40, input_str + "_", ugfx.BLACK) ugfx.text(10, 70, "Aktuelles Zeichen: " + CHAR_LIST[char_idx], ugfx.BLACK) ugfx.text(10, 100, "Links/Rechts = Zeichen wechseln", ugfx.BLACK) ugfx.text(10, 120, "Oben = Zeichen einfügen, Unten = löschen", ugfx.BLACK) ugfx.text(10, 140, "BACK = Eingabe fertig", ugfx.BLACK) badge.eink.update() time.sleep(0.1) pressed = badge.button.pressed() if pressed == badge.BUTTON_LEFT: char_idx = (char_idx - 1) % len(CHAR_LIST) elif pressed == badge.BUTTON_RIGHT: char_idx = (char_idx + 1) % len(CHAR_LIST) elif pressed == badge.BUTTON_UP and len(input_str) < maxlen: input_str += CHAR_LIST[char_idx] elif pressed == badge.BUTTON_DOWN and len(input_str) > 0: input_str = input_str[:-1] elif pressed == badge.BUTTON_BACK: break return input_str def main(): broker = get_input("MQTT Broker-IP/Hostname eingeben:") topic = get_input("MQTT Topic eingeben:") message = get_input("MQTT Nachricht eingeben:") ugfx.clear(ugfx.WHITE) ugfx.text(10, 20, "Verbinde mit MQTT...", ugfx.BLACK) badge.eink.update() time.sleep(1) try: from umqtt.simple import MQTTClient client = MQTTClient("badge", broker) client.connect() client.publish(topic, message) client.disconnect() ugfx.text(10, 40, "MQTT gesendet!", ugfx.BLACK) except Exception as e: ugfx.text(10, 40, "MQTT Fehler: " + str(e), ugfx.BLACK) badge.eink.update() time.sleep(3)