Palvelin pilvissä: valmistaudutaan julkaisuun

В postaus regatista Mainitsimme, että elokuussa järjestetään kilpailu, jossa palkitaan kaikki Habrazhitelit. On tullut aika repiä pois salaisuuden verho. Jotenkin saimme ajatuksen, että ilmaus "palvelin pilvissä" voidaan ottaa kirjaimellisesti. Laitetaanpa toimiva palvelin taivaalle, joka voidaan pingata! Aluksi idea näytti hullulta, mutta sitä suuntaan ja toiseen kierrettyään kaikin tavoin keskusteltuaan keksimme lopulta tavan lähettää palvelin lintuja kohti. Mullistava lanseeraus tapahtuu elokuun lopussa, mutta toistaiseksi työstämme projektin laitteisto-osaa. Yksityiskohdat leikkauksen alla.

Palvelin pilvissä: valmistaudutaan julkaisuun

  1. Palvelin perustuu Raspberry Pi 3:een

    Olisi mielenkiintoista nostaa yksiyksikköinen palvelin ilmaan, mutta sen paino + UPS:n paino... Kaikki tämä vaatisi melkoisen nostovoiman. Ja miksi, jos kompaktin Raspberry Pi 3:n pohjalta voit ottaa käyttöön melko kunnollisen palvelimen, jonka laskentateho on useita satoja kertoja suurempi kuin kone, jolla Tim Berners-Lee viihtyi vuonna 1991.

  2. Laukaistaan ​​palvelin kuumailmapallolla

    Meillä oli ideoita nostaa palvelin heliumluotaimella, mutta sitten palvelin ei pingannut kauaa ennen kuin ilmapallo puhkesi korkealla harvinaisessa ilmakehässä ja koko rakenne putosi maahan. Halusin laajentaa lähetysajan "ikkunaa" puoleentoista tuntiin. Ja sitten he päättivät käyttää ilmapalloa. Lennon kesto on kaksi tuntia. Lisäksi, vaikka lento ei ole täysin hallittavissa, korissa voi olla insinöörimme, joka voi toimintahäiriön sattuessa nopeasti, heti paikan päällä "sammuttaa sen päälle ja pois".

  3. Käytämme matkapuhelinverkkoa siirtoverkkona

    Nykyaikaiset WiFi-antennit voivat "lävistää" melko pitkiä etäisyyksiä, mutta tätä varten olisi tarpeen rakentaa viestintäkompleksi, joka ei ole paljoakaan huonompi kuin armeijan tutka-asema. Ja 1,5-2 tunnin viestinnän vuoksi ei ole järkevää rakentaa tällaista järjestelmää, koska ilmapallon korkeudessa matkapuhelinviestinnän on toimittava vakaasti.

Näiden "postulaattien" muotoilun jälkeen projekti ei enää vaikuttanut mahdottomalta, ja pian aloimme työskennellä kaikissa kolmessa suunnassa kerralla.

Ensinnäkin käänsimme miesten puoleen nearspace.ru, joka söi koiran heittäessään ilmaan kaikenlaisia ​​raudanpaloja (seuraava etsintä ja pelastus).

Sitten otimme esille Raspberry Pi 3:n, joka makasi järjestelmänvalvojamme yöpöydällä, ja aloitimme sen pystyttämisen.

Palvelin pilvissä: valmistaudutaan julkaisuun
Kamera liitetty:

Palvelin pilvissä: valmistaudutaan julkaisuun
Ja testasimme sitä "Semyonillamme":

Palvelin pilvissä: valmistaudutaan julkaisuun
Semyon on erittäin kätevä mallina ja avustajana - hän ei kysy ruokaa, ei häiritse puhelinta, on aina hyvällä tuulella ja leveä hymy ympäri kypärää. Emme tietenkään tarvitse sellaista avaruuspukua lennolle, mutta se luo oikeanlaisen tunnelman toimistoon.

Hankkeen hahmotelma on seuraava:

Palvelin pilvissä: valmistaudutaan julkaisuun
Powerbankia käytetään maatestaukseen, laukaisuun tarvitaan jotain luotettavampaa.

Ehkä mielenkiintoisin laitteisto on kortti, joka vastaanottaa tietoja kaikista antureista:

Palvelin pilvissä: valmistaudutaan julkaisuun
Pojat ko nearspace.ru Taistelimme pitkään erilaisten analogien kanssa, ja sitten teimme itse ajotietokoneen, koska luotettavuus on ratkaisevaa, koko projektin kohtalo riippuu telemetriatiedoista. Ajotietokone vastaa tietojen vastaanottamisesta kaikilta liitetyiltä antureilta ja välittämisestä Raspberry Pi:lle.

Käynnistimme sen, konfiguroimme sen ja parin viikon ohjelmoinnin ja tamburiinien kyykkyjen jälkeen onnistuimme saamaan telemetriatiedot ja valokuvan Semjonista laajakulmakamerasta:

Palvelin pilvissä: valmistaudutaan julkaisuun
Telemetriatiedot välitetään yhdellä rivillä seuraavassa muodossa:

Palvelin pilvissä: valmistaudutaan julkaisuun
Tämä koodi muuntaa sitten merkkijonon taulukoksi ja tulostaa tiedot sivustolle:

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

Joidenkin tietojen kuvaus:

  • N: 2432; — datapakettien määrä, aina kasvava
  • T:40m39s; — aika siitä hetkestä, kun lennonjohtaja käynnistettiin
  • MP.Stage:0; — lentovaihe (0 — maassa tai alle 1 km, 1 — nousu, 2 — leijuu korkeudessa, 3 — laskeutuminen)
  • MP.Alt:54; — barometrinen korkeus metreinä merenpinnasta — se on näytettävä
  • MP.VSpeed:0.0; — pystynopeus metreinä sekunnissa mediaanisuodattimella
  • MP.AvgVSpeed:0.0; — pystysuuntainen nopeus metreinä sekunnissa keskiarvosuodattimella
  • Baro.Press: 1006.49; — Barometrin paine millibaareina
  • Baro.Alt:54; - korkeus barometrin mukaan
  • Baro. Lämpö: 36.99; - itse barometrin lämpötila
  • GPS.Coord: N56d43m23s,E37d55m68s; — nykyiset koordinaatit
  • GPS.Koti:N56d43m23s,E37d55m68s; — lähtöpisteen koordinaatit
  • GPS.Alt:165; — GPS-korkeus metreinä
  • GPS.Dst:10; — etäisyys aloituspisteestä metreinä
  • DS. Temp: [fc] = 34.56; - lämpötila-anturi levyllä

Miltä tulos näyttää:

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 
)

Mitä tehdä, jos matkapuhelinviestintä "putoaa"? Tätä varten meillä on toinen kortti, kaksi SIM-korttia asetetaan modeemiin (yksi paikka kerrallaan):

Palvelin pilvissä: valmistaudutaan julkaisuun
Se voi vaihtaa automaattisesti varakanavalle, jos pääkanava yhtäkkiä lakkaa vastaamasta.

Mitä tapahtuu, jos molemmat matkapuhelinverkot eivät ole käytettävissä?

Palvelin pilvissä: valmistaudutaan julkaisuun(Poika alkaen numero "Yeralash" nro 45 Ei turhaan hän lukee "Todennäköisyysteoriaa")

Tässä tapauksessa meillä on itsenäinen GPS-seurantalaite, joka lähettää signaalin sijainnistaan. Huomaa, että se ei tee tätä matkapuhelinverkon kautta, jonka saatavuutta pitkiä matkoja ei takaa kukaan, vaan satelliitin kautta.

Palvelin pilvissä: valmistaudutaan julkaisuun
Kyllä, GPS-seurantalaite on hieman suurempi kuin se, joka istutettiin James Bondin ihon alle. Koska kilpailumme riippuu lentävän palvelimen koordinaateista, tämä osa laudalta vastaanotetusta tiedosta on tärkein. Mutta puhumme tästä seuraavassa postauksessa. Tulossa pian, seuraa blogiamme!

Uskomme koko yrityksen menestykseen niin paljon, että julistimme jopa kilpailun niille, jotka yhtäkkiä haluavat arvata minne pallo laskeutuu. Yksityiskohdat sivuillamme uusi postaus.

Lähde: will.com

Lisää kommentti