Server in den Clouds: Vorbereitungen für den Start

В Beitrag über die Regatta Wir haben erwähnt, dass es im August einen Wettbewerb mit Preisen für alle Habrazhitels geben wird. Es ist an der Zeit, den Schleier der Geheimhaltung zu zerreißen. Irgendwie kamen wir auf die Idee, dass der Ausdruck „Server in den Clouds“ wörtlich genommen werden kann. Lassen Sie uns tatsächlich einen funktionierenden Server in den Himmel schicken, der angepingt werden kann! Zuerst sah die Idee verrückt aus, aber nachdem wir sie hin und her verdreht und auf jede erdenkliche Weise diskutiert hatten, kamen wir schließlich auf eine Möglichkeit, den Server zu den Vögeln zu schicken. Ein epochaler Start wird Ende August stattfinden, aber vorerst arbeiten wir am Hardware-Teil des Projekts. Details unter dem Schnitt.

Server in den Clouds: Vorbereitungen für den Start

  1. Der Server wird auf Raspberry Pi 3 basieren

    Es wäre interessant, einen Einzelserver in die Luft zu heben, aber sein Gewicht + das Gewicht der USV ... All dies würde eine beträchtliche Hebekraft erfordern. Und warum, wenn man auf der Basis eines kompakten Raspberry Pi 3 einen recht ordentlichen Server einsetzen kann, dessen Rechenleistung um ein Hundertfaches größer ist als die Maschine, auf der Tim Berners-Lee 1991 Spaß hatte.

  2. Lassen Sie uns den Server in einem Heißluftballon starten

    Wir hatten die Idee, den Server auf einer Heliumsonde anzuheben, aber dann pingte der Server nicht lange, bis der Ballon in großer Höhe in einer verdünnten Atmosphäre platzte und die gesamte Struktur zu Boden fiel. Ich wollte das Sendezeitfenster auf eineinhalb Stunden erweitern. Und dann entschieden sie sich für einen Ballon. Die Flugdauer beträgt zwei Stunden. Darüber hinaus ist der Flug zwar nicht vollständig kontrollierbar, aber es kann sein, dass unser Ingenieur im Korb ist, der im Falle einer Störung schnell und direkt vor Ort „ein- und ausschalten“ kann.

  3. Wir werden die Mobilfunkkommunikation als Transportnetzwerk nutzen

    Moderne WLAN-Antennen können ziemlich große Entfernungen „durchdringen“, dafür wäre jedoch der Bau eines Kommunikationskomplexes erforderlich, der in seinen Parametern einer militärischen Radarstation nicht viel nachsteht. Und für 1,5-2 Stunden Kommunikation macht es keinen Sinn, ein solches System aufzubauen, denn in der Höhe des Ballons muss die Mobilfunkkommunikation stabil funktionieren.

Nachdem wir diese „Postulate“ formuliert hatten, schien das Projekt nicht mehr undurchführbar zu sein, und bald begannen wir, in alle drei Richtungen gleichzeitig zu arbeiten.

Als erstes wandten wir uns an die Jungs von nearspace.ru, der den Hund gefressen hat, während er alle möglichen Eisenstücke in die Luft schleuderte (mit anschließender Suche und Rettung).

Dann holten wir den Raspberry Pi 3 heraus, der im Nachttisch unseres Administrators lag, und begannen mit der Einrichtung.

Server in den Clouds: Vorbereitungen für den Start
Kamera angeschlossen:

Server in den Clouds: Vorbereitungen für den Start
Und wir haben es an unserem „Semyon“ getestet:

Server in den Clouds: Vorbereitungen für den Start
Semyon ist als Model und Assistent sehr praktisch – er fragt nicht nach Essen, lässt sich nicht vom Telefon ablenken, ist immer gut gelaunt und hat ein breites Lächeln auf dem ganzen Helm. Natürlich brauchen wir für den Flug keinen solchen Raumanzug, aber er sorgt für die richtige Atmosphäre im Büro.

Die Projektskizze lautet wie folgt:

Server in den Clouds: Vorbereitungen für den Start
Powerbank wird für Bodentests verwendet; für den Start wird etwas Zuverlässigeres benötigt.

Die vielleicht interessanteste Hardware ist eine Platine zum Empfangen der Daten aller Sensoren:

Server in den Clouds: Vorbereitungen für den Start
Jungs aus nearspace.ru Wir haben lange mit verschiedenen Analoga gekämpft und dann selbst einen Bordcomputer gebaut, denn Zuverlässigkeit ist von entscheidender Bedeutung, das Schicksal des gesamten Projekts hängt von Telemetriedaten ab. Der Bordcomputer ist dafür verantwortlich, die Daten aller angeschlossenen Sensoren zu empfangen und an den Raspberry Pi zu übertragen.

Wir haben es gestartet, konfiguriert und nach ein paar Wochen Programmierung und Kniebeugen mit Tamburinen ist es uns gelungen, Telemetriedaten und ein Foto von Semyon von einer Weitwinkelkamera zu erhalten:

Server in den Clouds: Vorbereitungen für den Start
Telemetriedaten werden in einer Zeile in folgender Form übertragen:

Server in den Clouds: Vorbereitungen für den Start
Dieser Code wandelt dann die Zeichenfolge in ein Array um und gibt die Daten an die Site 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; — Anzahl der Datenpakete, ständig steigend
  • T:40m39s; — Zeit ab dem Moment, in dem der Flugregler eingeschaltet wurde
  • MP.Stage:0; – Flugphase (0 – am Boden oder unter 1 km, 1 – Aufstieg, 2 – Schweben in der Höhe, 3 – Sinkflug)
  • MP.Alt:54; – barometrische Höhe in Metern über dem Meeresspiegel – sollte angezeigt werden
  • MP.VGeschwindigkeit:0.0; — Vertikalgeschwindigkeit in Metern pro Sekunde mit Medianfilter
  • MP.AvgVSpeed:0.0; — Vertikalgeschwindigkeit in Metern pro Sekunde mit Mittelungsfilter
  • Baro.Press:1006.49; — Barometerdruck in Millibar
  • Baro.Alt:54; - Höhe laut Barometer
  • Baro.Temp:36.99; - Temperatur des Barometers selbst
  • GPS-Koordinaten: N56d43m23s, E37d55m68s; — aktuelle Koordinaten
  • GPS.Home:N56d43m23s,E37d55m68s; — Koordinaten des Startpunkts
  • GPS.Alt:165; — GPS-Höhe in Metern
  • GPS.Dst:10; — Entfernung vom Startpunkt in Metern
  • DS.Temp:[fc]=34.56; - Temperatursensor auf der Platine

So sieht die Ausgabe aus:

Array 
(
       [N] => 647
       [Т] => 10m55з
       [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] => [fс] ЗЗ.56
       [Volt] => 5.19, 0.00,0.00,0.00,0.00,0.00,0.00,0.00 
)

Was tun, wenn die Mobilfunkkommunikation „ausfällt“? Für diesen Fall haben wir eine zweite Karte; zwei SIM-Karten werden in das Modem eingelegt (ein Steckplatz nach dem anderen):

Server in den Clouds: Vorbereitungen für den Start
Es kann automatisch auf einen Ersatzkanal umgeschaltet werden, wenn der Hauptkanal plötzlich nicht mehr reagiert.

Was passiert, wenn beide Mobilfunknetze nicht verfügbar sind?

Server in den Clouds: Vorbereitungen für den Start(Junge aus Ausgabe „Yeralash“ Nr. 45 Nicht umsonst liest er „Die Wahrscheinlichkeitstheorie“)

In diesem Fall verfügen wir über einen unabhängigen GPS-Tracker, der ein Signal über seinen Standort sendet. Bitte beachten Sie, dass dies nicht über ein Mobilfunknetz geschieht, dessen Verfügbarkeit über große Entfernungen niemand garantiert, sondern über einen Satelliten.

Server in den Clouds: Vorbereitungen für den Start
Ja, der GPS-Tracker ist etwas größer als der, der James Bond unter die Haut implantiert wurde. Da unsere Konkurrenz von den Koordinaten des fliegenden Servers abhängt, wird dieser Teil der vom Board empfangenen Daten der wichtigste sein. Aber darüber werden wir im nächsten Beitrag sprechen. Bald verfügbar, folgen Sie unserem Blog!

Wir glauben so sehr an den Erfolg des gesamten Unternehmens, dass wir sogar einen Wettbewerb für diejenigen ausgeschrieben haben, die plötzlich raten wollen, wo der Ball landen wird. Details in unserem neuer Beitrag.

Source: habr.com

Kommentar hinzufügen