Zahlavi

Sprache auswählen

Einführung in SW 1.x.x, Auswahl der Programmiersprache

 

Die ursprüngliche Steuereinheit ist ein separates elektronisches Teil ohne die Möglichkeit einer Fernbedienung. Das erscheint mir heutzutage etwas unpraktisch. Das neue Gerät mit dem Raspberry Pi kann über ein Netzwerk kommunizieren und kann daher von einem Programm auf jedem Computer gesteuert werden. Ein solches Programm befindet sich direkt im Satellitenempfänger als Plugin in Enigma und dreht die Schüssel entsprechend dem ausgewählten Programm. Es kann sich jedoch auch in einem Tablet oder Mobiltelefon befinden und dieses Gerät als Fernbedienung verwenden. Oder es kann sich um einen klassischen PC oder Laptop handeln und der große Monitor dieser Geräte kann in verschiedenen Experimenten für eine klare grafische Anzeige verwendet werden. Zum Beispiel, wenn Sie exotische Satelliten jagen, neue Voreinstellungen oder Einstellungen erstellen, Satelliten beobachten, die nicht geostationär sind, und so weiter.

Alle diese Optionen hängen davon ab, wie die Steuerungssoftware programmiert ist. Und hier muss ich eine Funktion erwähnen, die das Originalgerät hat und die ich sicherlich nicht bereitstellen kann. Volle Funktionalität auch nach 35 Jahren. Heutzutage ist die Welt der Software eine Zeit schneller Innovation und Aktualisierung, und es ist schwierig vorherzusagen, was in nur wenigen Jahren passieren wird. Das heißt, wenn die Steuerungssoftware von heute mit den Betriebssystemen von morgen kompatibel ist.

Wenn ich den Ehrgeiz hätte, ein Gerät zu entwickeln, das in 35 Jahren funktioniert, müsste ich den zweiten Raspberry Pi in eine Steuereinheit verwandeln, die sich in Reichweite des Bedieners befindet und die Steuerungssoftware enthält, ohne dass nachträgliche Änderungen erforderlich sind. Dies bedeutet, dass die beiden Teile mit einem separaten Datenkabel verbunden werden müssen, ohne dass eine Verbindung zu einem Computernetzwerk hergestellt werden muss. Und das ist ziemlich unpraktisch und restriktiv. Vielmehr würden die beiden Geräte über ein reguläres Netzwerk kommunizieren, das höchstwahrscheinlich mit dem Internet verbunden ist. Daher müssten immer mindestens Sicherheitsupdates für Betriebssysteme installiert werden. Die Vision eines völlig autonomen Geräts ist daher unrealistisch.

Wenn ich versuchen würde, die Auswirkungen von Änderungen in der Computersoftware so weit wie möglich zu beseitigen, müsste ich mein Programm in einem langfristig stabilen Programmierstandard schreiben. Verwenden Sie beispielsweise C, ohne externe Betriebssystembibliotheken zu verwenden. Es ist davon auszugehen, dass die Kompatibilität mit einem solchen Programm relativ lange nachhaltig sein könnte. Leider befürchte ich, dass mein Wissen für eine solche Programmierung nicht ausreicht. Und deshalb muss ich bei ähnlichen Funktionen zunächst ein wenig Kompromisse eingehen. Im Moment ist mein Hauptziel, die gesamte Anlage in Betrieb zu nehmen. Dies ist der wichtigste Parameter, dem ich alles andere unterordne.

Ich gehe also den Weg des geringsten Widerstands und wähle die einfachste Lösung, obwohl ich weiß, dass die verwendeten Komponenten bald aktualisiert werden müssen, sodass ich nicht abschätzen kann, wie sich dies auf die Funktionalität und damit auf die Lebensdauer meiner Software auswirkt. Aber weil ich nur ein Amateur bin, für den diese Aktivität ein Hobby ist, muss mich dieses Manko nicht so sehr stören. Vielleicht gibt es früher oder später fähigere Programmierer, die meine Arbeit ansprechen und in perfektere Formen umwandeln könnten.

Aus diesen Gründen habe ich mich schließlich entschlossen, kein separates Steuerungsprogramm zu schreiben. Stattdessen verwende ich einen Standard-Webbrowser zur Steuerung. Dies gewährleistet die Unabhängigkeit von der Plattform, von der aus der Positionierer gesteuert werden kann. Der Raspberry Pi verfügt über einen Webserver, der Befehle vom Webbrowser-Client empfängt und die gesamte Hardware gemäß diesen Anweisungen befolgt. Aufgrund der Notwendigkeit einer schnellen bidirektionalen Kommunikation zwischen dem Webbrowser des Clients und der leistungsstarken Anwendung des Servers habe ich mich für die Programmiersprache Javascript entschieden. Ich habe den Webserver Node.js für seine Interpretation ausgewählt. Aus der Sicht eines Amateurprogrammierers scheint mir dieser Ansatz der bisher praktikabelste zu sein.

Und am Ende dieser Überlegungen muss ich die schwierigste Entscheidung erwähnen, die mich erwartete. Ein solches Projekt verdient definitiv einen ursprünglichen Namen. Nach langem Überlegen habe ich mich endlich für den Namen "SatProwler" entschieden. Ich werde nicht leugnen, dass ich in der Gruppe AC / DC in ihrem Song Night Prowler Inspiration gefunden habe.

Keine Kommentare

Kommentar hinterlassen

Als Antwort auf Some User