Server in den Clouds: Wir bereiten den Start vor

Im Beitrag ĂŒber die Regatta 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.

Server in den Clouds: Wir bereiten den Start vor

  1. 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.

  2. 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.

  3. 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 nearspace.ru, 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.

Server in den Clouds: Wir bereiten den Start vor
Wir schlossen die Kamera an:

Server in den Clouds: Wir bereiten den Start vor
Und testeten sie an unserem „Semen“:

Server in den Clouds: Wir bereiten den Start vor
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:

Server in den Clouds: Wir bereiten den Start vor
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:

Server in den Clouds: Wir bereiten den Start vor
Die Jungs von nearspace.ru 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:

Server in den Clouds: Wir bereiten den Start vor
Die Telemetriedaten werden in einer Zeile in folgender Form ĂŒbertragen:

Server in den Clouds: Wir bereiten den Start vor
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):

Server in den Clouds: Wir bereiten den Start vor
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?

Server in den Clouds: Wir bereiten den Start vor(Junge aus Episoden «Eralash» Nr. 45 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.

Server in den Clouds: Wir bereiten den Start vor
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 neuen Beitrag.

Quelle: habr.com

60GB SSD 8Gb DDR4