Im Wir haben angedeutet, dass im August alle Hubrausch-Nutzer einen Wettbewerb mit Preisen erwartet. Es ist an der Zeit, den Vorhang der Geheimhaltung zu lüften. Irgendwie kam uns der Gedanke, dass der Ausdruck „Server in den Wolken“ wörtlich verstanden werden kann. Warum nicht tatsächlich einen funktionierenden Server in den Himmel schicken, den man pingen kann? Zunächst schien die Idee verrückt, aber nachdem wir sie ausgiebig diskutiert und hin und her gewendet haben, fanden wir tatsächlich einen Weg, den Server in den Himmel zu bringen. Ende August wird der historische Start stattfinden, doch bis dahin arbeiten wir an der Hardware des Projekts. Details unter dem Cut.
- Der Server wird auf Basis eines Raspberry Pi 3 betrieben
Es wäre interessant, einen Einheitsserver in die Luft zu bringen, doch sein Gewicht plus das Gewicht des UPS… Dafür wäre eine erhebliche Auftriebskraft nötig. Und wozu, wenn man auf der kompakten Basis eines Raspberry Pi 3 einen durchaus anständigen Server mit einer Rechenleistung aufbauen kann, die mehrere Hundertmal größer ist als die Maschine, mit der Tim Berners-Lee 1991 spielte.
- Wir starten den Server an einem Luftballon
Wir hatten die Idee, den Server mit einem Heliumballon zu heben, aber dann wäre der Server nicht lange pingbar, bevor der Ballon in großer Höhe in der dünnen Atmosphäre platzt und die ganze Konstruktion zu Boden fällt. Wir wollten das "Fenster" der Sendezeit auf anderthalb Stunden erweitern. Daher beschlossen wir, einen Luftballon zu verwenden. Die Flugzeit beträgt zwei Stunden. Außerdem ist der Flug zwar nicht ganz steuerbar, jedoch könnte unser Ingenieur im Korb sein, der im Falle einer Fehlfunktion schnell vor Ort „einschalten und ausschalten“ kann.
- Für das Transportnetz nutzen wir das Mobilfunknetz
Moderne WiFi-Antennen können ziemlich große Distanzen überbrücken, allerdings müsste man hierfür ein Kommunikationssystem bauen, das in Bezug auf seine Parameter kaum einem militärischen Radarsystem nachsteht. Und nur für 1,5-2 Stunden Kommunikation ein solches System zu errichten, macht keinen Sinn, denn in der Höhe des Luftballonflugs muss das Mobilfunknetz stabil arbeiten.
Nachdem wir diese "Postulate" formuliert hatten, schien das Projekt nicht mehr unerreichbar, und bald begannen wir, in allen drei Richtungen zu arbeiten.
Zuerst wandten wir uns um Hilfe an die Jungs von , die viel Erfahrung mit dem Start von allerlei Geräten in die Luft (mit anschließender Suche und Rettung) haben.
Dann holten wir den Raspberry Pi 3, der in der Schublade unseres Administrators lag, und begannen mit der Einrichtung.

Wir schlossen die Kamera an:

Und testeten sie an unserem „Semen“:

Semen ist ein sehr nützlicher Modell und Helfer – er bittet nicht um Essen, lässt sich nicht vom Telefon ablenken, ist immer in bester Laune und hat ein breites Lächeln auf dem gesamten Helm. Natürlich benötigen wir so einen Raumanzug für den Flug nicht, aber er schafft die richtige Atmosphäre im Büro.
Das Projekt nimmt folgende Form an:

Die Powerbank wird für die Bodentests verwendet, für den Start brauchen wir etwas Zuverlässigeres.
Die interessanteste Hardware ist wohl die Platine zur Erfassung von Daten von allen Sensoren:

Die Jungs von haben lange mit verschiedenen Alternativen gekämpft und dann selbst einen Bordcomputer gebaut, da die Zuverlässigkeit entscheidend ist und das Schicksal des gesamten Projekts von den Telemetriedaten abhängt. Der Bordcomputer ist für den Empfang der Daten von allen angeschlossenen Sensoren zuständig und überträgt sie an den Raspberry Pi.
Wir starteten, richteten alles ein, und nach ein paar Wochen Programmierung und dem Tanzen mit Trommeln gelang es, Telemetriedaten und ein Foto von Semen mit der Weitwinkelkamera zu erhalten:

Die Telemetriedaten werden in einer Zeile in folgender Form übertragen:

Dann wandelt dieser Code die Zeile in ein Array um und gibt die Daten auf der Website aus:
$str = 'N:647;T:10m55s;MP.Stage:0;MP.Alt:49;MP.VSpeed:0.0;MP.AvgVSpeed:0.0;Baro.Press:1007.06;Baro.Alt:50;Baro.Temp:35.93;GPS.Coord:N56d43m23s,E37d55m68s;GPS.Home:N56d43m23s,E37d55m68s;Dst:5;GPS.HSpeed:0;GPS.Course:357;GPS.Time:11h17m40s;GPS.Date:30.07.2018;DS.Temp:[fc]=33.56;Volt:5.19,0.00,0.00,0.00,0.00,0.00,0.00,0.00';
parse_str(strtr($str, [
':' => '=',
';' => '&'
]), $result);
print_r($result);Beschreibung einiger Daten:
- N:2432; — Nummer des Datenpakets, steigt stets an
- T:40m39s; — Zeit seit dem Einschalten des Flugcontrollers
- MP.Stage:0; — Flugphase (0 – am Boden oder unter 1 km, 1 – Aufstieg, 2 – in der Höhe schweben, 3 – Abstieg)
- MP.Alt:54; — barometrische Höhe in Metern über dem Meeresspiegel – sollte ausgegeben werden
- MP.VSpeed:0.0; — vertikale Geschwindigkeit in Metern pro Sekunde mit Medianfilter
- MP.AvgVSpeed:0.0; — vertikale Geschwindigkeit in Metern pro Sekunde mit Durchschnittsfilter
- Baro.Press:1006.49; — Druck am Barometer in Millibars
- Baro.Alt:54; — Höhe laut Barometer
- Baro.Temp:36.99; — Temperatur des Barometers selbst
- GPS.Coord:N56d43m23s,E37d55m68s; — aktuelle Koordinaten
- GPS.Home:N56d43m23s,E37d55m68s; — Koordinaten des Startpunkts
- GPS.Alt:165; — Höhe laut GPS in Metern
- GPS.Dst:10; — Entfernung vom Startpunkt in Metern
- DS.Temp:[fc]=34.56; — Temperatursensor auf der Platine
Wie sehen die ausgegebenen Daten aus:
Array
(
[N] => 647
[Т] => 10m55s
[MP_Stage] => 0
[MP_Alt] => 49
[MP_VSpeed] => 0.0
[MP_AvgVSpeed] => 0.0
[Baro Рrеss] => 1007.06
[Baro_Alt] => 50
[Baro_Temp] => 35.93
[GPS_Coord] => N56d43m23s,E37d55m68s
[GPS_Home] => N56d43m23s,E37d55m68s
[Dst] => 5
[GPS_HSpeed] => 0
[GPS_Course] => 357
[GPS_Time] => 11h17m40s
[GPS_Date] => 30.07.2018
[DS_Temp] => [fc] 33.56
[Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00
)
Was ist zu tun, wenn das Mobilfunknetz ausfällt? In diesem Fall haben wir eine zweite Karte, zwei SIM-Karten sind in den Modemsteckplatz (abwechselnd einstecken):

Es kann automatisch auf den Ersatzkanal umschalten, wenn der Hauptkanal plötzlich nicht mehr reagiert.
Was passiert, wenn beide Mobilfunknetze nicht mehr verfügbar sind?
(Junge aus liest nicht umsonst die «Theorie der Wahrscheinlichkeiten»)
In diesem Fall haben wir einen unabhängigen GPS-Tracker, der ein Signal über seinen Standort sendet. Beachten Sie, dass er dies nicht über das Mobilfunknetz macht, dessen Verfügbarkeit in großer Entfernung nicht garantiert ist, sondern über Satellit.

Ja, der GPS-Tracker ist etwas größer als der, den man James Bond unter die Haut implantiert hat. Da unser Wettbewerb von den Koordinaten des fliegenden Servers abhängt, wird dieser Teil der an Bord erhältlichen Daten der wichtigste sein. Aber darüber werden wir in unserem nächsten Beitrag berichten. Bald, verfolgen Sie unseren Blog!
Wir glauben so sehr an den Erfolg des gesamten Unternehmens, dass wir sogar einen Wettbewerb für diejenigen ausgerufen haben, die den Landeplatz des Ballons erraten möchten. Details in unserem .
Quelle: habr.com
