Server in the clouds: getting ready to run

    In the post about the regatta, we have mentioned that in August all the competition is awaited with prizes. It's time to rip the veils of secrecy veil. Somehow we got the idea that the phrase "server in the clouds" can be understood literally. And let's really launch into the sky a working server that can be pinged! At first the idea looked insane, but having turned it this way and that, having discussed it in every way, we still thought of a way to send the server towards the birds. Already at the end of August, a landmark launch will take place, but for now we are working on the hardware of the project. Details under the cut.


    1. The server will be based on the Raspberry Pi 3.

      It would be interesting to take the single-unit server into the air, but its weight + the weight of the UPS ... For all this, a considerable lifting force would be needed. And why, if on the basis of the compact Raspberry Pi 3 you can deploy quite a decent server, a computing power several hundred times larger than the machine that Tim Berners-Lee used to have fun in 1991.


    2. We will launch the server in a balloon . We had ideas to raise the server on a helium probe, but then the server would not respond long enough before the balloon bursts at high altitude in a rarefied atmosphere and the whole structure falls to the ground. I wanted to expand the "window" of airtime to one and a half hours. And then they decided to use a balloon. The flight duration is two hours. In addition, the flight, although not entirely controlled, however, can be our engineer in the basket, who can “turn on and turn off” in the event of a malfunction promptly, right on the spot.
    3. We will use cellular communication as a transport network.

      Modern WiFi antennas can “pierce” quite long distances, however, for this, we would have to build a communication complex that is not inferior in its parameters to a military radar station. And for the sake of 1.5-2 hours of communication, it does not make sense to build such a system, because at the height of the flight of a balloon, cellular communication should work steadily.

    After formulating these "postulates", the project ceased to seem impracticable, and soon we began to work in all three areas at once.

    First of all, they asked for help from the guys from nearspace.ru , who ate the dog on launches into the air of all kinds of pieces of iron (followed by search and rescue).

    Then we got Raspberry Pi 3, lying in the bedside table of our admin, and began to tweak it.


    We connected the camera:


    And tested it on our "Semen":


    Semyon is very convenient as a model and an assistant - he does not ask for food, he is not distracted by the phone, always in a good mood and with a wide smile full helmet. Of course, such a spacesuit will not be necessary for us to fly, but the atmosphere in the office creates the right one.

    The project outline is as follows:


    Powerbank is used for ground testing, you need something more reliable to run.

    Perhaps the most interesting piece of hardware is the board for receiving data from all sensors:


    The guys from nearspace.ru have long suffered from different analogs, and then they made the on-board computer themselves, because reliability is crucial, the fate of the entire project depends on the telemetry data. The on-board computer is responsible for receiving data from all connected sensors and transmits them to the Raspberry Pi.

    We started, set up, and after some couple of weeks of programming and squatting with tambourines, we managed to get telemetry data and photos of the Seeds from a wide-angle camera:


    Telemetry data is transmitted in one line in the following form:


    Then this code converts the string into an array and outputs the data to the site:

    $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);

    Description of some data:

    • N: 2432; - data packet number, always increasing
    • T: 40m39s; - time since the activation of the flight controller
    • MP.Stage: 0; - flight stage (0 - on the ground or below 1 km, 1 - ascent, 2 - hovering at height, 3 - descent)
    • MP.Alt: 54; - barometric height in meters from sea level - it should be displayed
    • MP.VSpeed: 0.0; - vertical speed in meters per second with a median filter
    • MP.AvgVSpeed: 0.0; - vertical speed in meters per second with averaging filter
    • Baro.Press:1006.49; - barometer pressure in millibars
    • Baro.Alt: 54; - height barometer
    • Baro.Temp: 36.99; - temperature of the barometer itself
    • GPS.Coord: N56d43m23s, E37d55m68s; - current coordinates
    • GPS.Home: N56d43m23s, E37d55m68s; - coordinates of the starting point
    • GPS.Alt: 165; - GPS altitude in meters
    • GPS.Dst: 10; - distance from the starting point in meters
    • DS.Temp: [fc] = 34.56; - temperature sensor on the board

    What the displayed data looks like:

    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 
    )
    

    And what to do if cellular communication "falls"? In this case, we have a second card, two SIM cards are inserted into the modem (in one slot at a time):


    He is able to automatically switch to the spare channel, if the main one suddenly stops responding.

    And what will happen if both cellular networks become unavailable?

    (The boy from the issue of “Yeralash” No. 45 does not read the “Probability Theory” for nothing).

    In this case, we will have an independent GPS tracker that sends a signal about its location. Please note that he does this not through a cellular network, the availability of which over a long distance is not guaranteed by anyone, but via satellite.


    Yes, the GPS tracker is somewhat larger than the one that was implanted under the skin of James Bond. Since our competition depends on the coordinates of the flying server, this part of the data received from the board will be the most important. But we will tell about this in the next post. Soon, follow our blog!

    We believe in the success of the whole enterprise, so much so that they even announced a competition for those who suddenly want to guess where the ball landed. Details in our new post .

    Also popular now: