Weitere Software-Projekte

Selbst gebaute Web-Anwendungen auf dem eigenen Server – von der Sensormessung bis zum interaktiven neuronalen Netz

Abgeschlossen

Neben den Projekten aus der Werkstatt entsteht eine zweite Sorte Eigenbau: Web-Anwendungen auf einem eigenen Server. Der Anlass ist meist derselbe wie bei einer Werkstattvorrichtung – es gibt eine Aufgabe, für die fertige Lösungen entweder fehlen oder laufende Kosten und Datenabfluss bedeuten.

Fünf davon sind frei zugänglich und unten verlinkt. Drei weitere haben eine eigene Beschreibung: MasViewer, MyCMS2026 und der Score Optimizer.

NeuroNet – neuronales Netz zum Ausprobieren

Ein bewusst sehr einfaches neuronales Netz, das im Browser läuft und vier Aufgaben lernen kann: XOR, AND, Addition und Multiplikation. Man wählt die Aufgabe, legt die Anzahl Trainingsepochen fest, lässt trainieren – und sieht, wie die Fehlerrate sinkt. Anschliessend lassen sich eigene Eingabewerte durchrechnen.

Der eigentliche Punkt ist die Darstellung darunter: Eingabeneuronen, Gewichte, Bias-Werte, Aktivierungsfunktion, versteckte Schicht, Ausgabeneuron – alle Zwischenwerte sichtbar. Wer die Rechenschritte einmal so vor Augen hatte, versteht besser, was in den grossen Modellen im Prinzip passiert. Dass XOR sich nicht ohne versteckte Schicht lösen lässt, wird hier nachvollziehbar statt behauptet.

Cowa – Temperaturverlauf eines Wärmespeichers

Hier kommen Hardware und Software zusammen. Ein DS18B20-Sensor misst die Speichertemperatur, ein Arduino MKR WiFi 1010 schickt die Werte in die Arduino IoT Cloud, von dort holt die Web-Anwendung sie ab und archiviert sie.

Die Darstellung zeigt Speicher- und Aussentemperatur auf zwei getrennten Achsen. Über frei verschiebbare Grenzlinien lässt sich auf einen Blick prüfen, ob der Speicher im vorgesehenen Bereich arbeitet – im Verlauf wird sichtbar, wann nachgeheizt wurde und wie schnell die Temperatur über Nacht abfällt.

Die Elektronik sitzt in einem selbst konstruierten, 3D-gedruckten Gehäuse mit herausgeführtem Fühler.

ArduinoDashboard – Raumluft überwachen

Dieselbe Bauweise, anderer Zweck: Ein Arduino MKR WiFi 1010 mit den Sensoren ENS160 und BME280 misst Temperatur, Luftfeuchtigkeit und Luftqualität. Der ENS160 liefert dabei nicht nur Rohwerte, sondern auch einen Luftqualitätsindex sowie geschätzte CO₂- und TVOC-Werte.

Nützlich ist das vor allem im Winter: Man sieht, wann der CO₂-Wert in einem geschlossenen Raum tatsächlich steigt – und dass die gefühlte „stickige Luft“ meist deutlich später einsetzt als der messbare Anstieg.

Rezepte – eine Rezeptbibliothek

Entstanden aus dem Ärger darüber, dass Rezepte im Netz zwischen Werbung und Lebensgeschichten verschwinden. Die Sammlung ist schlicht: Beschreibung, Klasse, benötigtes Gerät, Bemerkung – dazu das Rezept selbst als PDF.

Gefiltert wird nach Stichwort, Klasse und Gerät. Das Gerät als Filterkriterium klingt ungewöhnlich, ist im Alltag aber die häufigste Frage: Was lässt sich mit dem machen, was gerade frei ist?

gtmanalyzer – Sales-Pipelines analysieren

Der einzige Ausläufer meiner beruflichen Vergangenheit in dieser Sammlung. Das Werkzeug bildet eine Vertriebs-Pipeline als Modell ab und rechnet durch, woran es tatsächlich hakt.

Der Nutzen liegt weniger in der Prognose als in der Diagnose: Eine Pipeline, die vorne zu wenig Zufluss hat, braucht andere Massnahmen als eine, in der Abschlüsse in der letzten Phase liegen bleiben – von aussen sehen beide gleich aus, weil unter dem Strich derselbe Umsatz fehlt.

Weitere Anwendungen

Diese Anwendungen sind für einen bestimmten Zweck und Nutzerkreis gebaut und deshalb nicht öffentlich erreichbar.

AnwendungFunktion
PVMonitorPhotovoltaik-Produktion und Stromverbrauch am eigenen Haus, live und als Verlauf
ZEVMonitorAbrechnung des Stromverbrauchs in einem Zusammenschluss zum Eigenverbrauch
IndoorfriendsBuchungsplattform und Datenablage für eine Gruppe von Indoor-Golfern
DownloadsDateien hochladen und über einen geschützten Link bereitstellen
MasBUHADoppelte Buchhaltung mit KMU-Kontenplan und Mehrwertsteuerabrechnung
MasSafeVerschlüsselte Dokumentenablage
AnalyticsEigene Reichweitenmessung für ausgewählte Anwendungen – auch diese Website nutzt sie

Bei Fragen zu einem dieser Projekte: gern über das Kontaktformular.

Gemeinsame Technik

Alle Anwendungen laufen auf einem eigenen Windows-Server mit IIS, jede als eigenständige Anwendung mit eigenem Anwendungspool. Damit zieht ein Fehler in einer App die anderen nicht mit.

Verwendet werden zwei Stacks: PHP für überschaubare Anwendungen ohne Build-Schritt und ASP.NET Core mit Razor Pages, sobald es Benutzerverwaltung, Rollen und Sitzungen braucht.

Ein Punkt zieht sich durch alle Projekte: es gibt keinen Datenbankserver. Daten liegen als JSON-, JSONL- oder CSV-Dateien, bei relationalem Bedarf in SQLite. Messreihen wandern zeilenweise in monatlich getrennte Dateien – anhängen ist billig, archivieren ist ein Verschieben. Das klingt altmodisch, hat aber einen handfesten Vorteil: Die Sicherung ist ein Ordner, und ein Umzug auf andere Hardware ein Kopiervorgang.