Булуттагы сервер: ишке киргизүүгө даярданууда

В регата жөнүндө билдирүү Август айында бардык хабражителдер үчүн байгелүү сынак болорун айттык. Жашыруун жабууну тытуучу мезгил келди. Кандайдыр бир жол менен биз "булуттагы сервер" деген сөздү түзмө-түз кабыл алса болот деген ойго келдик. Келгиле, чындыгында асманга пингге боло турган жумушчу серверди ишке киргизели! Адегенде бул идея жиндидей көрүндү, бирок аны тигил же бул жакка буруп, ар тараптан талкуулап, акыры серверди канаттууларга жөнөтүүнүн жолун таптык. Августтун аягында эпохалык ишке киргизилет, бирок азыр биз долбоордун аппараттык бөлүгүнүн үстүндө иштеп жатабыз. Кесилгендин астындагы чоо-жай.

Булуттагы сервер: ишке киргизүүгө даярданууда

  1. Сервер Raspberry Pi 3тин негизинде түзүлөт

    Бир блоктуу серверди абага көтөрүү кызыктуу болмок, бирок анын салмагы + UPSтин салмагы... Мунун баары көтөрүүчү күчтү талап кылат. Эмне үчүн, эгер компакттуу Raspberry Pi 3 базасында сиз 1991-жылы Тим Бернерс-Ли көңүл ачкан машинадан бир нече жүз эсе көп эсептөө кубаттуулугу менен татыктуу серверди орното аласыз.

  2. Келгиле, серверди ысык аба шарында ишке киргизели

    Бизде серверди гелий зондунда көтөрүү идеялары бар болчу, бирок андан кийин сейрек кездешүүчү атмосферада бийик бийиктикте шар жарылып, бүт структура жерге кулап түшкөнгө чейин сервер көпкө пинг кылбайт. Эфирдик “терезени” бир жарым саатка чейин кеңейтүүнү кааладым. Анан алар шар колдонууну чечишти. Учуунун узактыгы эки саат. Кошумчалай кетсек, учуу толугу менен башкарылбаса да, себеттин ичинде биздин инженерибиз болушу мүмкүн, алар бузулуп калса, тез эле, дароо эле "аны күйгүзүп жана өчүрө алышат".

  3. Биз уюлдук байланышты транспорт тармагы катары колдонобуз

    Заманбап WiFi антенналары бир топ алыс аралыктарды "тешип" алат, бирок бул үчүн өзүнүн параметрлери боюнча аскердик радар станциясынан анча деле кем эмес байланыш комплексин куруу зарыл. Ал эми 1,5-2 сааттык байланыш үчүн мындай системаны куруунун мааниси жок, анткени шардын бийиктигинде уюлдук байланыш туруктуу иштеши керек.

Бул “постулаттар” түзүлгөндөн кийин, долбоор ишке ашпай тургандай көрүндү жана көп өтпөй биз бир эле учурда бардык үч багытта иштей баштадык.

Биринчи кезекте биз жигиттерге кайрылдык nearspace.ru, темирдин ар кандай сыныктарын абага учуруп жатканда итти жеген (кийинки издөө-куткаруу иштери менен).

Андан кийин администраторубуздун тумбочкасында жаткан Raspberry Pi 3ти алып чыгып, орнотуп баштадык.

Булуттагы сервер: ишке киргизүүгө даярданууда
Камераны туташтырды:

Булуттагы сервер: ишке киргизүүгө даярданууда
Жана биз аны “Семёндо” сынап көрдүк:

Булуттагы сервер: ишке киргизүүгө даярданууда
Семён модель жана ассистент катары абдан ыңгайлуу – ал тамак сурабайт, телефонго алаксыбайт, ар дайым маанайы жакшы жана туулгасынын баардык жагынан жылмайып турат. Албетте, биз учуу үчүн мындай скафандрдын кереги жок, бирок ал кеңседе керектүү атмосфераны түзөт.

Долбоордун схемасы төмөнкүдөй:

Булуттагы сервер: ишке киргизүүгө даярданууда
Powerbank жерди сыноо үчүн колдонулат; ишке киргизүү үчүн дагы ишенимдүү нерсе керек.

Балким, эң кызыктуу аппараттык бөлүк бардык сенсорлордон маалыматтарды кабыл алуу үчүн такта болуп саналат:

Булуттагы сервер: ишке киргизүүгө даярданууда
Жигиттер келген nearspace.ru Биз көп убакыт бою ар кандай аналогдор менен күрөшүп, анан борттук компьютерди өзүбүз жасадык, анткени ишенимдүүлүк чечүүчү мааниге ээ, бүт долбоордун тагдыры телеметриялык маалыматтарга көз каранды. Борттук компьютер бардык туташкан сенсорлордон маалыматтарды кабыл алуу жана аларды Raspberry Piге өткөрүү үчүн жооптуу.

Биз аны ишке киргиздик, конфигурацияладык жана бир нече жумалык программалоодон жана дап менен чуркоодон кийин биз телеметриялык маалыматтарды жана кең бурчтуу камерадан Семендун сүрөтүн алууга жетиштик:

Булуттагы сервер: ишке киргизүүгө даярданууда
Телеметриялык маалыматтар бир линияда төмөнкү формада берилет:

Булуттагы сервер: ишке киргизүүгө даярданууда
Бул код сапты массивге айлантат жана маалыматтарды сайтка чыгарат:

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

Кээ бир маалыматтардын сүрөттөлүшү:

  • N:2432; - маалымат пакетинин саны, ар дайым өсүп жатат
  • T:40m39s; — учуу диспетчеринин иштетилген учурунан тартып
  • MP.Stage:0; — учуу баскычы (0 — жерде же 1 кмден төмөн, 1 — көтөрүлүү, 2 — бийиктикте абада жүрүү, 3 — түшүү)
  • MP.Alt:54; — деңиз деңгээлинен метр менен барометрдик бийиктик — көрсөтүлүшү керек
  • MP.VSpeed:0.0; — медианалык фильтр менен секундасына метр вертикалдык ылдамдык
  • MP.AvgVSpeed:0.0; — орточо фильтр менен секундасына метр вертикалдык ылдамдык
  • Baro.Press:1006.49; — миллибардагы барометр басымы
  • Baro.Alt:54; - барометр боюнча бийиктик
  • Baro.Temp:36.99; - барометрдин өзүнүн температурасы
  • GPS.Coord:N56d43m23s,E37d55m68s; — учурдагы координаттар
  • GPS.Home:N56d43m23s,E37d55m68s; — баштапкы чекиттин координаттары
  • GPS.Alt:165; — GPS бийиктиги метр менен
  • GPS.Dst:10; — баштапкы чекиттен чейинки аралык метр менен
  • DS.Temp:[fc]=34.56; - тактадагы температура сенсору

Чыгуу кандай көрүнөт:

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 
)

Уюлдук байланыш "түшүп кетсе" эмне кылуу керек? Бул учурда, бизде экинчи карта бар; модемге эки SIM карта киргизилген (бир эле учурда бир слот):

Булуттагы сервер: ишке киргизүүгө даярданууда
Негизги канал күтүлбөгөн жерден жооп бербей калса, ал автоматтык түрдө запастык каналга өтө алат.

Эки уюлдук тармак тең жеткиликсиз болуп калса эмне болот?

Булуттагы сервер: ишке киргизүүгө даярданууда(ден бала «Ералаш» №45 саны Ал бекеринен "Ыктымалдуулук теориясын" окуган эмес)

Бул учурда, биз анын жайгашкан жери жөнүндө сигнал жөнөтүүчү көз карандысыз GPS трекерге ээ болот. Белгилей кетчү нерсе, ал муну уюлдук тармак аркылуу эмес, алыскы аралыкта жеткиликтүүлүгүнө эч ким кепилдик бербейт, бирок спутник аркылуу.

Булуттагы сервер: ишке киргизүүгө даярданууда
Ооба, GPS трекер Джеймс Бонддун терисинин астына орнотулгандан бир аз чоңураак. Биздин атаандаштык учуучу сервердин координаттарынан көз каранды болгондуктан, тактадан алынган маалыматтардын бул бөлүгү эң маанилүү болот. Бирок бул тууралуу кийинки постто сөз кылабыз. Жакында, биздин блогго жазылыңыз!

Биз бүткүл ишкананын ийгилигине ушунчалык ишенгендиктен, топтун кайда түшөөрүн күтүүсүздөн билгиси келгендер үчүн да сынак жарыяладык. Толук маалымат бизде жаңы пост.

Source: www.habr.com

Комментарий кошуу