import network
import time
import umqtt.robust
from machine import Pin
import mip # Micropython integrated Package Manager
print("Connecting to WiFi", end="") # end="" --> bleib in der gleichen Zeile
wlan = network.WLAN(network.STA_IF) # Station-Modus --> Mit AP verbinden
wlan.active(True) # Interface aktivieren
wlan.connect('Wokwi-GUEST', '') # Verbinden mit SSID, PW
while not wlan.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Connected!")
mip.install("ssd1306")
import ssd1306
from machine import Pin, I2C
# using default address 0x3C
i2c = I2C(sda=Pin(21), scl=Pin(22))
display = ssd1306.SSD1306_I2C(128, 64, i2c)
display.text("Hallo",5,5) # ("Text", wie weit nach rechts verschoben, wie weit nach unten verschoben)
display.show()
def tu_das_wenn_Nachricht_kommt(topic,msg):
print(topic.decode(),msg.decode())
top = topic.decode()
mes = msg.decode()
if top == TOPIC1:
display.fill(0)
#display.fillrect(0,15,20,10,0) # Gefülltes Rechteck --> Start bei 0,15 - Breite 20, Tiefe 10 Pixel, 0 für schwarz
display.text(mes,5,15) # ("Text", wie weit nach rechts verschoben, wie weit nach unten verschoben)
display.show()
CLIENT_ID = "richard-1hu99p8dfjhoi" # Gerätename, Bitte mit eurem Namen füllen
BROKER = "mqtt.chaos4all.de"
TOPIC1 = "richard/wasser"
mq = umqtt.robust.MQTTClient(CLIENT_ID,BROKER)
print("Verbinde mit Broker")
mq.set_callback(tu_das_wenn_Nachricht_kommt)
mq.connect()
mq.subscribe(TOPIC1)
while True:
mq.wait_msg()
#Die Schleife ist jetzt durch MQTT blockiert,
#hier brauchen wir nichts mehr reinschreiben,
#weil es eh nichts bringt