Nochmal 5 Tage durch die Crossplattform-Entwicklung

Ich hatte ja schon mal einen Teil 1 verfasst. der sich mit meinem Projekt einer Wetterstation beschäftigt. wer es noch nicht getan hat, dem rate ich diesen Teil zuerst zu lesen. Teil 2 knüpft nämlich daran an.

Ich habe mir das Ziel gesetzt eine eigene Wetterstation zu betreiben die automatisch eine Webseite aktualisiert und die Meßwerte dort laufend publiziert. Die Meßwetgeber stammen von Tinkerforge. Dazu gibt es auch einen separaten Testbericht. Die Steuerung erledigt ein Raspberry Pi. Er generiert auch die Bilder und die Webseite und lädt sie auf meinen Server hoch.

Stand Ende letzter Woche war, das die Anwendung im Prinzip lief, es aber noch einige Bugs auszuräumen gab und ich konkrete Pläne zur Verbesserung und Weiterentwicklung hatte. Auch war noch nicht geklärt ob ich die Charts selbst zeichne oder nicht eine Komponente nehme die Lazarus mitbringt.

Inzwischen hatte ich auch die Entwicklungskette im Griff: Die Entwicklung erfolgt zuerst auf einem Windows PC. Ohne Meßwertgeber geht dort die Hauptschleife mit einem Einlesen über einen Timer nicht, aber die war eigentlich auch erprobt und lief. Das Auswerten der Daten die auch auf die Disk geschrieben werden geht aber auch vom Windows PC aus. Danach wird das Programm von einem Raspberry PI 2 Model B übersetzt. Erst danach auf einen Raspberry Pi Model B+ (also mit nur einem CPU-Kern) überspielt. Das hat seinen Grund: Der Raspberry Pi 1 war nicht über Remote Desktop erreichbar, nur über Putty. Der Compiler läuft aber auf der grafischen Oberfläche. Zudem ist das Kompilieren auf dem Rechner mit nur 600 MHz und einem Kern ein echtes Geduldsspiel. Continue reading „Nochmal 5 Tage durch die Crossplattform-Entwicklung“

Fünf Tage durch die Hölle der Cross-Plattformentwicklung

Am vorletzten Samstag bekam ich meine Bauteile für die Wetterstation und nach einigen Versuchen ging ich an die Entwicklung der Anwendung. Was folgte waren 5 Tage in der Cross-Plattform Hölle. Doch für alle die das Projekt nicht kennen hier nochmal die Daten:

Es soll eine autonome Wetterstation sein, die regelmäßig Sensordaten abfragt und lokal in einer Datei ablegt, aber auch regelmäßig eine Seite in meiner Webseite aktualisiert. Das ist z.B. die Seite für heute. Das Projekt ist also nicht nur gedacht als reines Sensorabfragen und Aufbereiten auf dem PC – die Seiten werden von der Wetterstation erzeugt und derzeit alle 300 s aktualisiert.

Tag 1

Angesichts dessen, das es für die Bauteile von Tinkerforge Bindings für Delphi/Lazarus gibt, war die Entscheidung für die Programmiersprache schnell gefallen. Delphi „spreche“ ich seit 15 Jahren, Pascal seit fast 30. Lazarus gibt es als Compiler auch für den Raspberry. Der Weg erschien recht klar – erst mal die Anwendung in Delphi entwickeln, zumal ich den Lazarus Debugger als sehr absturzgefährdet in Erinnerung habe, dann auf Lazarus übertragen – hier sind Anpassungen nötig, vor allem weil Lazarus keine eingebaute FTP-Bibliothek hat und die dazugekommene von Synapse andere Befehle haben.

Das Delphi Projekt war in einem Tag fertig – es bestand aus einer kleinen visuellen Oberfläche, um die Erfassung zu starten und die Parameter (für grafische Ausgabe, FTP-Zugang, lokale Verzeichnisse und Dateien und die UID für die Messwert-Geber zu programmieren. Der eigentliche Teil, der die Daten gewinnt, war in einer nicht visuellen Unit ausgelagert, denn geplant war eine Konsolenapplikation – ich würde schließlich den Raspberry Pi nur für diesen Zweck einsetzen und dessen einzige beiden USB-Buchsen sind schön durch Wlan-Adapter und den Brick mit den Bricklets blockiert.

Diese letztere wollte ich in Lazarus wiederverwenden, nur eben in einer Konsolenanwendung. Die Startparameter stehen in einer Einstellungsdatei, die beim Start gelesen wird – Sie ändern sich ja kaum noch, wenn das Projekt mal läuft. Continue reading „Fünf Tage durch die Hölle der Cross-Plattformentwicklung“

Neues von der Wetterstation

Ich hatte ja schon mal im Blog angekündigt, dass ich mal ein Hardware Projekt anfangen will – man muss dazu sagen, dass ich zwei Linke Hände habe und besonders schlecht sehe, deswegen habe ich bisher immer um fummelige Hardware einen Bogen gemacht.

Ich wollte eine Wetterstation, allerdings kein 30 Euro Discountgerät ,das nur einige Werte anzeigt, sondern eines das die Messwerte laufend protokolliert ohne das man sie dauernd abfragen muss. Continue reading „Neues von der Wetterstation“