Server sa ulap: naghahanda para sa paglulunsad

Π’ post tungkol sa regatta binanggit namin na noong Agosto isang kompetisyon na may mga premyo ang naghihintay sa lahat ng mga habrazhite. Oras na para alisin ang belo ng lihim. Sa paanuman nakuha namin ang ideya na ang pariralang "server sa mga ulap" ay maaaring kunin nang literal. At talagang maglunsad tayo ng gumaganang server sa kalangitan, na maaaring i-ping! Sa una, ang ideya ay mukhang baliw, ngunit pagkatapos na i-twist ito sa paraang ito at iyon, pag-usapan ito sa lahat ng paraan, nakaisip pa rin kami ng isang paraan upang ipadala ang server patungo sa mga ibon. Isang landmark na paglulunsad ang magaganap sa katapusan ng Agosto, ngunit sa ngayon ay nagtatrabaho kami sa hardware na bahagi ng proyekto. Mga detalye sa ilalim ng hiwa.

Server sa ulap: naghahanda para sa paglulunsad

  1. Ang server ay ibabatay sa Raspberry Pi 3

    Magiging kagiliw-giliw na iangat ang isang server ng isang yunit sa hangin, ngunit ang bigat nito + ang bigat ng UPS ... Ang lahat ng ito ay mangangailangan ng maraming puwersa sa pag-aangat. At bakit, kung batay sa isang compact na Raspberry Pi 3 maaari kang mag-deploy ng isang medyo disenteng server, na may kapangyarihan sa pag-compute ng ilang daang beses na mas malaki kaysa sa makina kung saan nagsaya si Tim Berners-Lee noong 1991.

  2. Ilunsad natin ang server sa isang lobo

    Nagkaroon kami ng mga ideya na itaas ang server sa isang helium probe, ngunit pagkatapos ay hindi nag-ping ang server nang matagal bago sumabog ang lobo sa mataas na altitude sa isang rarefied na kapaligiran at ang buong istraktura ay nahulog sa lupa. Gusto kong palawakin ang "window" ng air time sa isa't kalahating oras. At pagkatapos ay nagpasya kaming gumamit ng lobo. Ang tagal ng flight ay dalawang oras. Bilang karagdagan, kahit na ang paglipad ay hindi ganap na kontrolado, ang aming engineer ay maaaring nasa basket, na maaaring mabilis, sa mismong lugar, "i-on at i-off" kung sakaling magkaroon ng malfunction.

  3. Gagamitin natin ang cellular communication bilang isang transport network

    Ang mga modernong WiFi antenna ay maaaring "sumukin" sa medyo malalaking distansya, ngunit para dito kinakailangan na bumuo ng isang kumplikadong komunikasyon na hindi gaanong mababa sa mga tuntunin ng mga parameter nito sa isang istasyon ng radar ng militar. At para sa kapakanan ng 1,5-2 na oras ng komunikasyon, walang saysay na bumuo ng ganoong sistema, dahil sa taas ng paglipad ng isang lobo, ang mga komunikasyon sa cellular ay dapat gumana nang matatag.

Matapos mabuo ang mga "postulates" na ito, ang proyekto ay tumigil na tila imposible, at sa lalong madaling panahon nagsimula kaming magtrabaho sa lahat ng tatlong direksyon nang sabay-sabay.

Una sa lahat, bumaling kami sa mga lalaki mula sa nearspace.runa kumain ng aso sa paglulunsad sa hangin ng lahat ng uri ng mga piraso ng bakal (na may kasunod na paghahanap at pagsagip).

Pagkatapos ay nakuha namin ang Raspberry Pi 3 na nakahiga sa nightstand ng aming admin at sinimulan itong i-set up.

Server sa ulap: naghahanda para sa paglulunsad
Nakakonekta ang camera:

Server sa ulap: naghahanda para sa paglulunsad
At sinubukan nila ito sa aming "Buhi":

Server sa ulap: naghahanda para sa paglulunsad
Si Semyon ay napaka-komportable bilang isang modelo at katulong - hindi siya humihingi ng pagkain, hindi siya naabala sa telepono, palagi siyang nasa magandang kalagayan at may malaking ngiti sa kanyang helmet. Siyempre, hindi namin kakailanganin ang gayong spacesuit para sa paglipad, ngunit lumilikha ito ng tamang kapaligiran sa opisina.

Ang balangkas ng proyekto ay ang mga sumusunod:

Server sa ulap: naghahanda para sa paglulunsad
Ginagamit ang Powerbank para sa pagsubok sa lupa, kailangan ang isang bagay na mas maaasahan para tumakbo.

Marahil ang pinaka-kagiliw-giliw na piraso ng hardware ay isang board para sa pagtanggap ng data mula sa lahat ng mga sensor:

Server sa ulap: naghahanda para sa paglulunsad
Mga lalaki mula sa nearspace.ru nagdusa sila ng mahabang panahon sa iba't ibang mga analogue, at pagkatapos ay gumawa sila ng isang on-board na computer, dahil ang pagiging maaasahan ay mahalaga, ang kapalaran ng buong proyekto ay nakasalalay sa data ng telemetry. Ang on-board na computer ay may pananagutan sa pagtanggap ng data mula sa lahat ng konektadong sensor at pagpapadala sa kanila sa Raspberry Pi.

Inilunsad namin ito, na-set up, at pagkatapos ng ilang linggo ng programming at squats na may mga tamburin, nakuha namin ang data ng telemetry at isang larawan ni Semyon mula sa isang wide-angle na camera:

Server sa ulap: naghahanda para sa paglulunsad
Ang data ng telemetry ay ipinapadala sa isang linya sa sumusunod na anyo:

Server sa ulap: naghahanda para sa paglulunsad
Pagkatapos ay iko-convert ng code na ito ang string sa isang array at ilalabas ang data sa 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);

Paglalarawan ng ilang data:

  • N:2432; β€” data packet number, palaging tumataas
  • T:40m39s; - oras mula noong naka-on ang flight controller
  • Yugto ng MP:0; - yugto ng paglipad (0 - sa lupa o mas mababa sa 1 km, 1 - pag-akyat, 2 - pag-hover sa altitude, 3 - pagbaba)
  • MP Alt:54; - barometric altitude sa metro mula sa antas ng dagat - dapat itong ipakita
  • MP.VSspeed:0.0; β€” patayong bilis sa metro bawat segundo na may median na filter
  • MP.AvgVSspeed:0.0; β€” patayong bilis sa metro bawat segundo na may average na filter
  • Baro.Press:1006.49; - presyon ng barometer sa millibars
  • Baro.Alt:54; - altitude ng barometer
  • Baro.Temp:36.99; ay ang temperatura ng barometro mismo
  • GPS.Coord:N56d43m23s,E37d55m68s; - kasalukuyang mga coordinate
  • GPS.Home:N56d43m23s,E37d55m68s; - mga coordinate ng panimulang punto
  • GPS Alt:165; β€” Altitude ng GPS sa metro
  • GPS.Dst:10; β€” distansya mula sa panimulang punto sa metro
  • DS.Temp:[fc]=34.56; - sensor ng temperatura sa board

Ano ang hitsura ng output:

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 
)

Ngunit paano kung "bumaba" ang cellular connection? Sa kasong ito, mayroon kaming pangalawang card, dalawang SIM card ang ipinasok sa modem (sa isang puwang naman):

Server sa ulap: naghahanda para sa paglulunsad
Alam niya kung paano awtomatikong lumipat sa isang ekstrang channel kung ang pangunahing channel ay biglang tumigil sa pagtugon.

At ano ang mangyayari kung ang parehong mga cellular network ay hindi magagamit?

Server sa ulap: naghahanda para sa paglulunsad(Boy from ilabas ang "Yeralash" No. 45 hindi walang kabuluhan ang pagbabasa ng "Probability Theory")

Sa kasong ito, magkakaroon tayo ng independiyenteng GPS tracker na nagpapadala ng signal tungkol sa lokasyon nito. Mangyaring tandaan na ginagawa niya ito hindi sa pamamagitan ng isang cellular network, ang pagkakaroon nito ay hindi ginagarantiyahan ng sinuman sa isang mahabang distansya, ngunit sa pamamagitan ng isang satellite.

Server sa ulap: naghahanda para sa paglulunsad
Oo, ang GPS tracker ay medyo mas malaki kaysa sa isa na itinanim sa ilalim ng balat ni James Bond. Dahil ang aming kumpetisyon ay nakasalalay sa mga coordinate ng lumilipad na server, ang bahaging ito ng data na natanggap mula sa board ang magiging pinakamahalaga. Ngunit pag-uusapan natin ito sa susunod na post. Malapit na, sundan ang aming blog!

Naniniwala kami sa tagumpay ng buong negosyo kaya nag-anunsyo pa kami ng kumpetisyon para sa mga biglang gustong hulaan ang lugar kung saan dadaan ang bola. Mga detalye sa aming bagong post.

Pinagmulan: www.habr.com

Magdagdag ng komento