Modul 1: Wetter Simulation¶
Unter Wettersteuerung findest du eine Fernsteuerung für das Wetter in unserer Smart City. So kannst du z.B. Starkregen bei Nacht oder Sonnenschein am Morgen einstellen. In diesem Modul programmierst du eine Website, die auf die eingestellten Werte reagiert und ein entsprechendes Wetter visualisiert. Das kann z.B. so aussehen:

Vorbereitung¶
Zur Durchführung benötigst du einen Editor (Visual Studio Code) und einen Browser (Firefox).
Öffne zunächst Visual Studio Code:

Der Editor glieder sich grob in zwei Bereiche: links die Dateiliste und rechts das Editorfenster.
Rechts-klicke nun links in die Dateiliste, um eine neue Datei zu erstellen.
Nenne sie z.B. index.html und fülle sie im Editorfenster rechts mit Inhalt:
<html>
<title>Wetter Simulation</title>
</head>
<body>
<h1>Herzlich Willkommen zur Wetter Simulation</h1>
</body>
Nun öffne die index.htmlin einem Browser.
Du solltest eine einfache Website mit einer entsprechenden Überschrift sehen
Als nächstes musst du dich mit dem MQTT-Broker verbinden.
Dafür benötigst du eine Programmierbibliothek, die du im <head> Block einfügst:
Nun kannst du dich in JavaScript mit dem MQTT-Broker verbinden und auf Nachrichten warten:
<html>
<title>Wetter Simulation</title>
<script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
</head>
<body>
<h1>Wetter Simulation</h1>
<script>
const client = mqtt.connect("wss://imiq-lab.et.uni-magdeburg.de/mqtt");
client.on("connect", () => {
client.subscribe("#")
client.on("message", (topic, payload) => {
document.body.append(topic + ":" + payload)
});
})
</script>
</body>
Info
Warte nun, bis alle Teilnehmenden sich mit dem Broker verbunden haben.
Deine Aufgabe¶
Passe den Code so an, dass er folgende Topics auswertet:
| Topic | Beschreibung | Beispiel |
|---|---|---|
| city/weather/hour | Uhrzeit in Stunden (0-24) | 12 |
| city/weather/rain | Regenstärke in Prozent, 0 bedeutet kein Regen, 100 Starkregen | 80 |
| city/weather/temperature | Temperatur in Grad Celcius | 21 |
Dies sind exakt die Topics, die mit der Wettersteuerung eingestellt werden.
Entsprechend der empfangenen Werte kannst du nun das passende Wetter darstellen. Du kannst auch deine Lieblings-KI zur Hilfe nehmen, um entsprechenden Code zu erzeugen.