Entwicklungsblog

Hier findet ihr einen ungefähr chronologischen Ablauf unseres Entwicklungsfortschritts.

  • Erste Schritte

    Vor kurzem haben wir mit unserer Planungsphase begonnen. Dafür haben wir erstmal über ein paar Tage ein Brainwriting via Google Docs (das Ergebnis findet ihr hier) gemacht, um ein paar Ideen zu sammeln und schonmal grob zu gucken, wer Interesse an welchen Teilbereichen des Projekts hat.
    Anschließend haben wir uns zusammengesetzt und daraus eine grobe Idee entwickelt, die wir umsetzen wollen: Generell soll es darum gehen, eine Art Klingel mit Extra-Feature zu entwickeln. Wir werden jetzt zunächst prüfen, inwiefern die von uns angedachten Features sinnvoll umsetzbar sind, und dann hier Genaueres veröffentlichen.

  • Verbesserungen

    Heute haben wir uns nochmal getroffen und unsere bisher eher grobe Planung etwas verfeinert – wir haben eine Überlegung ausgeschlossen und einige andere verbessert.

    In den nächsten Tagen wird einer von uns schonmal ein Case für den Raspberry Pi (auf dem bei uns NodeRED zur Verwaltung des Systems laufen soll) etwas anpassen und ein paar von uns werden den eingerichteten Makerspace besuchen um das Case zu drucken und mal zu gucken, was es dort schon an Hardware gibt, die wir verwenden oder Nachkaufen können. Sobald das getan ist werden wir uns dann daran setzen, die Ziele für das Projekt und den Zeitplan festzuhalten.

  • Raspberry Pi Gehäuse

    Heute hab ich das Gehäuse für den Pi fertiggestellt. Dabei habe ich das Gehäuse, dass wir ausgewählt haben angepasst. Da in den Kommentaren viele geschrieben haben, dass es nicht passt bzw. sehr eng ist, hab ich es auf 103,5% skaliert. Zudem habe ich eine Wandhalterung angebracht und eine Deckel für die Aussparung der GPIO Pins modelliert. Letzterer muss auf jeden Fall noch angepasst werden, je nachdem welche Pins schlussendlich benutzt werden.

  • Besuch im Maker-Space

    In der letzten Besprechung haben Jamal und ich uns für gestern um 12 einen Termin ausgemacht, um uns das Maker-Space anzuschauen. Dort wollten wir uns die vorhandene Hardware anschauen und prüfen, was sich davon für unser Projekt eignen würde. Dort angekommen haben wir uns mit Malte über unsere Ideen unterhalten, wobei er uns eine Infrarotlichtschranke für die Erkennung im Briefkasten vorschlug. Mit insgesamt 2 Mikrocontrollern, einem IR-Shield und einer Diode sind wir wieder gegangen um über die Discord-Gruppe den anderen zu berichten und die Idee der Lichtschranke vorzustellen.

  • Gehäuse für Komponenten

    Heute habe ich gemeinsam mit Jamal die Gehäuse für die Klingel und dem Briefdetector modelliert. Wir haben uns dafür überlegt, wie die einzelnen Bauteile innerhalb der Gehäuse angeordnet sein sollen und sie entprechend gelegt, um die Grundmaße der Gehäuse zu erhalten. Mehrmaliges messen und vergleichen der Maße der 3D-Modelle und der entsprechend gelegten Innereien, sollen unnöitge Drucke vermeiden.

    Der RasPi wurde nochmal ausgemessen, um das letztens angepasste Gehäuse nochmal zu überprüfen. Daraus eragb sich eine leichte Verkleinerung des Gehäuses.

  • Erster Arduino-Code

    Heute habe ich, basierend auf verschiedenen Aufgaben aus Vorlesungen und Übungen, die ersten Versionen des Codes angelegt, welcher auf den beiden Microcontrollern laufen soll. Aktuell enthält er erst eine statische WLAN-Verbindung und einen einfachen MQTT-Ablauf. Die statische WLAN-Verbindung werde ich in den kommenden Tagen durch den aus der Vorlesung bekannten WiFiManager austauschen, da uns dieser (von bekannten Vorteilen abgesehen) durch Custom Parameter erlaubt, die MQTT-Verbindungsdaten dynamisch zu übergeben, statt diese statisch im Code zu hinterlegen.

  • Erste NodeRED Funktionen

    In den letzten Tagen habe ich verstärkt an der NodeRED-Seite der Software gearbeitet.
    Hierfür habe ich zunächst alle Packages installiert, welche wir benötigen, und die Grundlegende Struktur der Flows aufgebaut. Außerdem habe ich einige Tests angestellt, um mich mit Nodes, welche ich zuvor nicht verwendet habe, vertraut zu machen.

    Aktuell implementiert sind bereits die grundsätzliche Struktur des Logik-Flows und eine einfache Version der Telegram-Notifications.

  • Historienfunktion und Discord-Notifications

    Heute habe ich unsere Arbeit an der Historientabelle im Dashboard, in welcher alle Events gespeichert (und betrachtet) werden können, abgeschlossen.
    Tritt ein Event auf so wird es, zusammen mit der aktuellen Zeit, in eine Datei geschrieben. Ein Benutzer kann diese Datei dann im Dashboard laden und anzeigen lassen.

    Außerdem habe ich die Möglichkeit hinzugefügt, Messenger-Notifications nicht nur an Telegram senden zu lassen sondern auch an Discord.

  • Klingel-LCD-Display

    Gestern und heute habe ich mein LCD gelötet und dem Arduino-Code der Klingel die Möglichkeit gegeben, das Display anzusteuern und zu beschreiben, wenn eine entsprechende Nachricht via MQTT empfangen wird. Es hat ein wenig Zeit gebraucht, die richtige Bibliothek zu finden und die per MQTT empfangene Nachricht tatsächlich ausgeben zu lassen, das Ergebnis sieht jedoch sehr gut aus.

    Nachrichten können vom Benutzer sowohl vom Dashboard aus als auch per Messenger (Telegram/Discord) über NodeRED an das Display gesendet werden.

  • Knopfproblem

    Wir haben beim Design des Cases den Durchmesser für den Klingelknopf anhand eines Knopfes bemessen, den wir noch nicht bestellt hatten. Nach dem bestellen stellte sich heraus, dass dieser Knopf zwar vom Durchmesser gut passt, deutlich zu lang ist. Danach folgte eine relativ lange Suche, da viele Drucktaster mit einer Lochgröße von 15mm deutlich länger sind als 20mm. Letztendlich habe ich einen kleineren Knopf bestellt und diesen mit einer Unterlegscheibe stabil befestigt. 

  • Zusammenbau der Klingel

    Ich habe heute die einzelnen Komponenten unserer Klingel zusammengebaut. Dabei hat alles größtenteils so gepasst wie erwartet. Allerdings leider nicht alles. Dadurch, dass das Kabel des Akkus vor dem MC langläuft kommt ca. ein mm zur Länge des MCs hinzu. Damit passte er nicht mehr in die dafür vorgesehene Halterung. Um dieses Problem zu lösen habe ich den MC versetzt auf der Halterung verlötet. Dadurch sind die letzten beiden Pins nicht angeschlossen, aber er passt in den Case. 

    Ansonsten habe ich die einzelnen Verbindungen verlötet und versucht die Kabellängen möglichst passend zu wählen.

  • Fertigstellung des Briefkasten-Detektors

    Dank der Hilfe von Malte konnte ich heute ein Problem lösen an dem ich nun schon seit fast einer Woche hing. Der Receiver des IR-Shields hat stets Werte von 1 bzw. HIGH empfangen, unabhängig davon, ob er ein Signal empfangen hat oder nicht. Auch nach langer Recherche im Internet konnte ich keine Lösung finden woraufhin ich mich an die Tutoren wenden wollte. Malte hat mir daraufhin einen Pull-Up-Widerstand empfohlen, welchen ich dann intern über den Code eingefügt habe. Tatsächlich waren die Daten des Receivers lediglich zu stark von äußeren Einflüssen beeinträchtigt, weshalb er den Emitter nicht erkennen konnte. Dank des Widerstands hat er anschließend funktioniert wie er es sollte, sodass der Detektor fertig zusammengesetzt werden kann.