WeckerMk2 - Wie geht es weiter?
Grundidee
Nun da der erste Prototyp abgeschlossen wurde, widme ich mich der Entwicklung der zweiten Iteration meines Wecker-Projektes. Dabei möchte ich einerseits mein Skill-Set bezüglich der Programmierung erweitern, meine Arbeit mit verschiedenen Bauteilen und ihren Libraries fortsetzen, und einige weitere Funktionen im Vergleich zum ersten Prototypen hinzufügen.
Der Mk1 war fähig, die einfachste Alarm-Funktion zu erfüllen. Nun sollen folgende weitere Funktionen hinzukommen:
- Sommer- und Winterzeit sollen unterschieden und beachtet werden
- Neben einem Weckton soll der Gebetsruf abgespielt werden
- die richtigen Gebetszeiten sollen entweder berechnet, oder abgefragt werden
- das Wetter/ die momentane Temperatur soll angezeigt werden
Da der Funktionsumfang sehr zugenommen hat, werden weitere Bauteile benötigt. Um die Funktionen zu realisieren verwende ich folgende Bauteile:
WeckerMk1 fertiggestellt - Aufbau der Platine und Gehäusedesign
Einige Wochen, nachdem ich die Platinen in Fertigung gegeben habe, kamen diese auch bei mir Zuhause an, und ich konnte diese genauer unter die Lupe nehmen. Es war schön zu sehen, wie etwas, was man zuvor aus seinen groben Ideen in einem Programm zusammengeführt hat, plötzlich in den eigenen Händen liegt. Die Vorfreude und die Aufregung waren riesengroß. Also hab ich mich so schnell es ging an den Lötkolben gesetzt und angefangen, die Platine fertigzustellen.
Mein Einstieg ins Homelabing
Seit längerem hat sich bei mir der Wunsch geäußert, unabhängiger in der digitalen Welt zu werden. Dazu gehört allem voran das Zurückgewinnen der Kontrolle über die eigenen Daten und das Durchbrechen Inkompatibilität verschiedener Plattformen wie Linux und Apple. Im Zuge dessen hab ich mich sehr mit NAS (Network Attached Storage), Heimservern und Netzwerken beschäftigt. Und ziemlich schnell den Entschluss gefasst: “Das brauche ich auch”. Somit fing ich an, extrem viele Artikel zu dem Thema zu lesen und etliche Videos anzuschauen. So hatte ich sofort ein großen Input an Möglichkeiten, gängigen Methoden und Zugang zu einem umfassenden Grundverständnis von Heimnetzwerken. Ziemlich hilfreich waren verschiedene Youtube-Kanäle wir Ardens, Switch and Click und Hardware Haven, die mit ihrer Darstellung eigener Projekte und Erfahrungen bereits auf einige Schwierigkeiten hinwiesen.
Erster Platinenversuch Mk1
Der Weg zur ersten Platine
Rückblick
Das Ziel für diesen Monat ist es gewesen, eine Leiterplatine für den Wecker Mk1 zu designen und produzieren zu lassen. Dafür sollte die auf dem Breadboard geplante Verschaltung in einem CAD-Programm umgesetzt werden.
Planung
Ich entschied mich für KiCAD als Software für das Platinendesign, da es ein sehr umfangreiches Tool ist, und dazu auch noch Open-Source, also sehr zugänglich für den Hobbygebrauch und sehr gut dokumentiert ist.
Wecker Mk1 Zwischenbericht
Grundidee und Umsetzung
Zuletzt habe ich mir 3 Ziele definiert, die ich für diesen Monat erreichen möchte. Kurz zur Wiederholung, waren es das Anzeigen der Uhrzeit, Einstellen der Weckzeit, und das Abspielen eines Wecktons bei Übereinstimmung der vorherigen.
Um das umzusetzen, wollte ich mich eines neuen Konzeptes bedienen, welches in der Hochschule kennen lernte: dem Zustandsautomaten. Im Grunde genommen wollte ich jede dieser drei Funktionen als eigenen Zustand definieren, um dann mit Hilfe der Tasteneingabe zwischen diesen zu wechseln und die Funktionen auszuführen.
Übersicht über ersten Projekte
Was will ich umsetzen und bis wann?
Die ersten Projekte sollen werden:
- Wecker mit Adhan und Wetterstation -> zuletzt AI/Assisstantintegration
- Server mit Selfhosting (Cloud-Speicher, Fotoverwaltung, VPN und Passkey-Manager)
Um nicht an zu vielen Projekten gleichzeitig zu arbeiten, ist die Zahl erstmal auf zwei Projekte beschränkt, um nicht den Fokus aus den Augen zu verlieren.
Stichtag für den endgültigen Wecker ist September 2026, während der Server bis Mai zumindest im eigenen Heimnetz lauffähig sein soll. Der Zugriff ausserhalb des Heimnetzes kann später ergänzt werden (Sicherheit der Daten > Schnelle Funktionalität des Servers).