Briefkasten-Alarm

Briefkasten-Alarm Bastelsession am 24. Oktober 2020

Was wir uns vorgenommen hatten

Wir wollten erstmal die Gundlagen aufbauen:

  • Das grundlegende Skript schreiben
  • Den ESP einrichten
  • Den ESP mit der Technik verknüpfen

Dann wollten wir schauen, wie wir beim Betätigen des Tasters eine Nachricht per Matrix in einen Chatraum senden können.

Ein Video mit dem Ergebnis gibt es hier auf EduVid

Was wir benutzt haben

Was wir gelernt haben

  • Wiederholung, was Spannung, Stromstärke und Widerstand sind
  • Wiederholung Python-Grundlagen
  • Wie man mit ESPs umgeht
  • Wie man in Python Text-Nachrichten an Matrix verschickt
  • Wie ein ESP sich mit dem WLAN verbindet
  • Dass Tux Sören nicht mag

Für die Experten oder solche, die es werden wollen

Wir haben außerdem einiges über MicroPython, ESP und Matrix herausgefunden:

  • Sich mit einem WLAN zu verbinden ist erstaunlich einfach
  • Nachrichten in einen Matrix-Raum zu versenden ist grundsätzlich einfach, aber was schwierig war:
    • Man muss mit jeder Nachrichte eine “transaction id” versenden, und diese darf sich nicht wiederholen
    • Zufallszahlen auf dem ESP sind ziemlich schlecht
    • Deshalb haben wir als erste Transaktions-ID nach dem Starten die aktuelle Uhrzeit als Unix-Timestamp benutzt. Dazu mussten wir herausfinden, wie man auf dem ESP die aktuelle Uhrzeit bekommt (nämlich mit dem Modul ntptime)
  • Nachrichten per Matrix zu empfangen ist etwas komplizierter, aber wenn man einmal weiß wie, geht es
    • Wir dachten zuerst, man müsste erst den kompletten Raum synchronisieren, um dann die neuen Nachrichten zu bekommen.
    • Das stimmt aber nicht, wenn man einfach einmal Nachrichten abruft, bekommt man die neuesten, nicht die ältesten Nachrichten

Was wir an Elektronik aufgebaut haben

Wir haben 2 Breadboards aufgebaut. Das eine ist dafür da, dass wenn man einen Knopf drückt und dass dann über Matrix eine Nachricht verschickt wird. Der andere ESP ist dafür zuständig die Nachricht zu empfangen und so die LED an oder aus zu machen.

Was wir an Code geschrieben haben

Wir haben ein Test-Skript für MicroPython geschrieben, das folgende Dinge tut:

  1. Zugangsdaten für WLAN und Matrix aus einem Modul importieren
  2. Mit dem WLAN verbinden
  3. Zustand des Matrix-Raums laden
  4. Hallo-Nachricht in den Matrix-Raum senden
  5. In einer Schleife:
    • Den Zustand des Buttons abfragen und bei Änderung eine nachricht in den Matrix-Raum schicken (!on oder !off)
    • Neue Nachrichten aus dem Matrix-Raum laden und schauen, ob die Nachrichten !on oder !off dabei sind, und wenn ja, den Zustand er LED ändern

Der Code ist jetzt auf EduGit als µtrix zu finden.

Wie es weitergeht

Wir werden höchstwarscheinlich wieder eine Bastelsession machen wo wir dann folgendes versuchen zu basteln:

  • Wir wollen noch nach einer Energieversorgung suchen
    • Möglichst ohne Batterie die man wechseln muss, z.B. einen kleinen Akku und eine Solarzelle
  • Wir wollen alles noch kleiner (ohne Breadboard) basteln
  • Wir müssen noch eine bessere Möglichkeit finden, ein Signal an den ESP zu leiten (z.B. indem ein Stromkreis unterbrochen wird)
  • Wir müssen noch alles in den Briefkasten einbauen.

Danke

Wir waren zu Gast bei der credativ GmbH und bedanken uns für die Unterstützung!

3 „Gefällt mir“