Projekta aparatÅ«ra: kÄ mÄs izveidojÄm istabu ar hakeru meklÄjumiem
Pirms pÄris nedÄļÄm pavadÄ«jÄm tieÅ”saistes meklÄjumi hakeriem: viÅi uzcÄla istabu, kuru piepildÄ«ja ar viedierÄ«cÄm un no tÄs uzsÄka YouTube pÄrraidi. SpÄlÄtÄji varÄja kontrolÄt IoT ierÄ«ces no spÄles vietnes; MÄrÄ·is bija atrast telpÄ paslÄptu ieroci (jaudÄ«gu lÄzera rÄdÄ«tÄju), uzlauzt to un izraisÄ«t telpÄ Ä«ssavienojumu.
Lai papildinÄtu darbÄ«bu, mÄs ievietojÄm telpÄ smalcinÄtÄju, kurÄ ievietojÄm 200 000 rubļu: smalcinÄtÄjs Äda vienu rÄÄ·inu stundÄ. PÄc spÄles uzvaras jÅ«s varÄtu apturÄt smalcinÄtÄju un paÅemt visu atlikuÅ”o naudu.
Bija ļoti daudz lÅ«gumu parÄdÄ«t telpas uzkopÅ”anas brÄ«di - rÄdÄm, kÄ izjaucam
Aparatūras arhitektūra: telpas kontrole
MÄs sÄkÄm izstrÄdÄt aparatÅ«ras risinÄjumu, kad scenÄrijs jau bija aptuveni izprasts, aizmugure bija gatava un mums bija tukÅ”a telpa, kas bija gatava aprÄ«kojuma uzstÄdÄ«Å”anai.
Atceroties veco joku āThe S in IoT nozÄ«mÄ Securityā (āBurts S in the IoT abreviaration apzÄ«mÄ Securityā), nolÄmÄm, ka Å”oreiz spÄles scenÄrija spÄlÄtÄji mijiedarbojas tikai ar priekÅ”galu un aizmuguri. no vietnes, bet nesaÅem iespÄju nokļūt tieÅ”i pie gludekļa.
Tas tika darÄ«ts droŔības un ekrÄnÄ notiekoÅ”Ä skata dÄļ: ja spÄlÄtÄjiem bÅ«tu tieÅ”a piekļuve aparatÅ«rai, bÅ«tu daudz grÅ«tÄk izolÄt droÅ”as un potenciÄli bÄ«stamas darbÄ«bas, piemÄram, Ätru smalcinÄtÄja ritinÄÅ”anu vai kontroli. pirotehnika.
Pirms dizaina uzsÄkÅ”anas mÄs formulÄjÄm vairÄkus spÄļu ierÄ«Äu vadÄ«bas principus, kas kļuva par dizaina pamatu:
Neizmantojiet bezvadu risinÄjumus
Visa spÄles telpa ir vienÄ kadrÄ, kura katrs stÅ«ris ir sasniedzams. Nebija reÄlas vajadzÄ«bas pÄc bezvadu savienojumiem, un tie vienkÄrÅ”i kļūtu par vÄl vienu neveiksmes punktu.
GalvenokÄrt pielÄgoÅ”anas elastÄ«bas labad. Ir skaidrs, ka mÄs varam pielÄgot daudzas viedÄs mÄjas sistÄmu kastes versijas ar gatavu administratoru un kontroli mÅ«su uzdevumam, taÄu darbaspÄka izmaksas bÅ«tu salÄ«dzinÄmas ar sava vienkÄrÅ”Ä risinÄjuma izveidi.
TurklÄt bija jÄizdomÄ ierÄ«ces, kas skaidri parÄdÄ«tu, ka tieÅ”i spÄlÄtÄji mainÄ«ja tÄ stÄvokli: ieslÄdza/izslÄdza vai uzlika konkrÄtu gaismiÅu uz burtiem FALCON.
MÄs apkopojÄm visus elementus no publiski pieejamÄs aparatÅ«ras, ko var iegÄdÄties parastajos radio detaļu veikalos: starp picas un diÄtiskÄs kolas piegÄdi vietnei pastÄvÄ«gi ieradÄs kurjeri Chip and Dip un Leroy.
Visiem relejiem un arudÄ«nam nevajadzÄtu bÅ«t redzamiem kadrÄ
NolÄmÄm visus vadÄmos elementus salikt vienuviet un paslÄpt aizkulisÄs, lai varÄtu sekot lÄ«dzi to darbÄ«bai un nepiecieÅ”amÄ«bas gadÄ«jumÄ uzmanÄ«gi izrÄpot no kameras redzesloka un nomainÄ«t bojÄto bloku.
Galu galÄ viss tika paslÄpts zem galda, un kamera tika uzstÄdÄ«ta tÄ, ka zem galda nekas nebija redzams. Å Ä« bija mÅ«su āaklÄ vietaā, lai inženieris varÄtu piezagties
RezultÄtÄ mÄs faktiski ieguvÄm vienu viedierÄ«ci: tÄ saÅÄma katras savas daļas stÄvokli no aizmugursistÄmas un mainÄ«ja to ar atbilstoÅ”u komandu.
No aparatÅ«ras ievieÅ”anas viedokļa Ŕī ierÄ«ce kontrolÄja 6 elementus:
VairÄkas galda lampas, tÄm ir ieslÄgts/izslÄgts stÄvoklis un tÄs kontrolÄ spÄlÄtÄji
Burti uz sienas, tie var mainÄ«t savu krÄsu pÄc spÄlÄtÄju pavÄles
Ventilatori, kas griežas un atver tÄfeli, kad serveris ir noslogots
LÄzera vadÄ«ba caur PWM
SmalcinÄtÄjs, kurÅ” Äda naudu pÄc grafika
DÅ«mu maŔīna, kas noslÄdzÄs pirms katra lÄzera Å”Äviena
DÅ«mu maŔīnas pÄrbaude ar lÄzeru
VÄlÄk tika pievienota skatuves gaisma, kas stÄvÄja aiz rÄmja un tika vadÄ«ta tieÅ”i tÄpat kÄ lampas no punkta 1. Skatuves gaisma darbojÄs divos gadÄ«jumos: tÄ apgaismoja lÄzeru, kad tam tika pieslÄgta jauda, āāun tas apgaismoja svaru pirms lÄzers tika palaists kaujas režīmÄ.
Kas bija Ŕī viedierīce?
Visu ceļu Yura, mÅ«su aparatÅ«ras puisis, centÄs nesarežģīt lietas un izdomÄt vienkÄrÅ”Äko, minimÄlistiskÄko iespÄjamo risinÄjumu.
Tika pieÅemts, ka VPS vienkÄrÅ”i palaist skriptu, kas saÅem json ar ierÄ«Äu stÄvokli un nosÅ«ta to uz Arduino, kas savienots, izmantojot USB.
Savienots ar portiem:
16 parastie stafeti (tie bija tie, kas radÄ«ja klikŔķu troksni, kas bija dzirdams video. Tos galvenokÄrt izvÄlÄjÄmies Ŕīs skaÅas dÄļ)
Lai izsekotu brÄ«dim, kad lÄzers beidzot izdeg cauri virvei un svars uzlido uz akvÄriju, mÄs izveidojÄm nelielu pogu, kas nostrÄdÄja, kad svars kritÄs un deva signÄlu sistÄmai.
Poga svara kustības uzraudzībai
PÄc Ŕī signÄla vajadzÄja iedegties dÅ«mu bumbÄm, kas izgatavotas no galda tenisa bumbiÅÄm. IelikÄm 4 dÅ«mu lÄpas tieÅ”i servera korpusÄ un savienojÄm ar nihroma vÄ«tni, kam vajadzÄja uzkarst un darboties kÄ aizdedzei.
MÄjoklis ar dÅ«mu bumbÄm un Ä·Ä«nieÅ”u vÄ«tni
Arduino
SaskaÅÄ ar sÄkotnÄjo plÄnu Arduino notika divas darbÄ«bas.
PirmkÄrt, kad tika saÅemts jauns pieprasÄ«jums, pieprasÄ«jums tika parsÄts, izmantojot ArduinoJson bibliotÄku. PÄc tam katra pÄrvaldÄ«tÄ ierÄ«ce tika saskaÅota ar diviem tÄs rekvizÄ«tiem.
baroÅ”anas stÄvoklis "ieslÄgts" vai "izslÄgts" (standarta stÄvoklis)
periods, uz kuru ierÄ«ce ir ieslÄgta - laiks mikrosekundÄs no tÄfeles sÄkuma, kad ir pienÄcis laiks to izslÄgt, tas ir, panÄkt stÄvokli lÄ«dz standartam
PÄdÄjo reizi tas tika iestatÄ«ts, saÅemot atbilstoÅ”o parametru JSON, bet to nevarÄja pÄrsÅ«tÄ«t, tad vÄrtÄ«ba tika iestatÄ«ta uz 0 un atiestatÄ«Å”ana nenotika.
OtrÄ darbÄ«ba, ko Arduino veica katrÄ ciklÄ, bija stÄvokļu atjauninÄÅ”ana, tas ir, pÄrbaude, vai ir nepiecieÅ”ams kaut ko ieslÄgt, vai ir pienÄcis laiks izslÄgt kÄdu ierÄ«ci.
LÄzera rÄdÄ«tÄjs - tas pats Megatron 3000
Å is ir parasts LSMVR450-3000MF 3000mW 450nm manuÄlÄ fokusa lÄzergrieÅ”anas un marÄ·ÄÅ”anas modulis.
Burti Falcon
Tie tika izgatavoti ļoti vienkÄrÅ”i - mÄs vienkÄrÅ”i nokopÄjÄm burtus no logotipa, izgriezÄm tos no kartona un pÄc tam pÄrklÄjÄm ar LED lenti. Å ajÄ gadÄ«jumÄ nÄcÄs salodÄt kopÄ lentes gabaliÅus, uz katras Å”uves 4 kontakti, bet rezultÄts bija tÄ vÄrts. MÅ«su aizmugure Pasha parÄdÄ«ja meistarÄ«bas brÄ«numus, paveicot to mazÄk nekÄ dažu stundu laikÄ.
Pirmie iot ierīces testi un apdare
VeicÄm pirmos testus un pie mums pienÄca jauni uzdevumi. Fakts ir tÄds, ka procesa vidÅ« komandai pievienojÄs Ä«sts filmu producents un operators no VGIK Iļja Serovs - viÅÅ” uzbÅ«vÄja kadru, pievienoja papildu kinoteÄtra apgaismojumu un nedaudz mainÄ«ja spÄles scenÄriju, lai padarÄ«tu sižetu emocionÄlÄku, un aina dramatiskÄka un teatrÄlÄka.
Tas bÅ«tiski paaugstinÄja kvalitÄti, bet parÄdÄ«jÄs elementi, kas arÄ« bija jÄpievieno relejam un noteiktajam darbÄ«bas algoritmam.
VÄl viena problÄma bija lÄzers: mÄs veicÄm vairÄkus eksperimentus ar dažÄda veida virvÄm un dažÄdu jaudu lÄzeriem. PÄrbaudei mÄs vienkÄrÅ”i pakarinÄjÄm svaru vertikÄli uz virves.
Skrienot ar testa marÄ·ieri, caur PWM regulÄtÄ jauda bija mazÄka par 10% un nesabojÄja virvi pat ar ilgu ekspozÄ«ciju.
CÄ«Åas režīmÄ lÄzers tika defokusÄts lÄ«dz aptuveni 10 mm diametra vietai un pÄrliecinoÅ”i izdegÄs cauri virvei ar slodzi no aptuveni metra attÄluma.
TÄtad lÄzers testos strÄdÄja perfekti
Kad sÄkÄm visu pÄrbaudÄ«t tieÅ”i telpÄ uz piekÄrta svara, izrÄdÄ«jÄs, ka droÅ”i nostiprinÄt lÄzeru nav nemaz tik vienkÄrÅ”i. Tad, kad virve deg, tÄ kÅ«st, izstiepjas un iziet no sÄkotnÄjÄ fokusa.
Bet tas vairs nedarbojÄs tÄ: virve nobÄ«dÄ«jÄs
Iļja pÄrvietoja lÄzeru telpas galÄ pretÄ« virvei, lai lÄzera stars iet pÄri visai skatuvei un skaisti izskatÄ«tos kadrÄ, kas dubultoja attÄlumu.
Veicot vÄl vairÄkus eksperimentus ar virves dedzinÄÅ”anu jau kaujÄ, nolÄmÄm nespÄ«dinÄt likteni un nodroÅ”inÄt virves nogrieÅ”anu, izmantojot nihroma stiepli. Tas iznÄ«cinÄja pavedienu 120 sekundes pÄc lÄzera ieslÄgÅ”anas kaujas režīmÄ. MÄs nolÄmÄm to kodÄt, kÄ arÄ« vadu atvienoÅ”anu un dÅ«mu bumbu aizdegÅ”anos, kad tiek aktivizÄts atdalÄ«Å”anas kontakts, tieÅ”i mikrokontrollera aparatÅ«rÄ.
VÄ«tne, kas galu galÄ izdega cauri virvei Ärpus ekrÄna
TÄdÄjÄdi parÄdÄ«jÄs treÅ”ais uzdevums, ko Arduino atrisinÄja - izstrÄdÄt secÄ«bas, kas saistÄ«tas ar Å”o komandu izpildi.
MÄs arÄ« nolÄmÄm dot Arduino vajadzÄ«bu skaitÄ«t naudu televizorÄ un palaist smalcinÄtÄju. SÄkotnÄji tika pieÅemts, ka to darÄ«s aizmugure un mÄjaslapÄ bÅ«s redzams paÅ”reizÄjais atlikums, un televizorÄ kÄ papildu interaktÄ«vu elementu rÄdÄ«sim komentÄrus no YouTube, stÄstot skatÄ«tÄjiem, ka notikumi telpÄ notiek pa Ä«stam. laiks.
Bet testa laikÄ Iļja aplÅ«koja ainu un ieteica parÄdÄ«t spÄles bilanci lielÄkajÄ ekrÄnÄ: cik daudz naudas vÄl ir palicis, cik daudz ir apÄsts un laika atskaiti lÄ«dz nÄkamajam smalcinÄtÄja startam.
MÄs saistÄ«jÄm Arduino ar paÅ”reizÄjo laiku: katru pilnu stundu tika iedarbinÄts smalcinÄtÄjs. AttÄls tika parÄdÄ«ts televizorÄ, izmantojot rasberry, kas tajÄ brÄ«dÄ« jau saÅÄma pieprasÄ«jumus no servera un nosÅ«tÄ«ja tos uz arduino izpildei. AttÄli ar naudas rÄdÄ«tÄjiem tika uzzÄ«mÄti, nosaucot konsoles utilÄ«tu fim kaut ko lÄ«dzÄ«gu Å”im
Un tas tika veidots, pamatojoties uz nepiecieŔamo daudzumu vai laiku.
Bildes Ä£enerÄjÄm iepriekÅ”: vienkÄrÅ”i uzÅÄmÄm gatavu video ar taimeri un eksportÄjÄm 200 bildes.
Å Ä« ir mehÄnika, kas tika ieprogrammÄta krustÄ. BrÄ«dÄ«, kad sÄkÄs pÄdÄjÄ laika atskaite, mÄs visi devÄmies uz vietu, bruÅojÄmies ar ugunsdzÄÅ”amajiem aparÄtiem un apsÄdÄmies, lai gaidÄ«tu ugunsgrÄku (kas nesaskaÅÄs ritÄja tikai pilnÄ sparÄ)
KÄ izveidot raidÄ«jumu, kas darbojas nedÄļu: kameras izvÄle
Lai veiktu uzdevumu, mums bija nepiecieÅ”ama nepÄrtraukta apraide pakalpojumÄ YouTube 7 dienas ā tieÅ”i tÄdu mÄs noteicÄm kÄ maksimÄlo spÄles ilgumu. Bija divas lietas, kas mÅ«s varÄja apturÄt:
Kamerai bija jÄnodroÅ”ina vismaz Full HD attÄls, lai telpÄ bÅ«tu Ärti spÄlÄt un skatÄ«ties.
SÄkotnÄji mÄs skatÄ«jÄmies uz tÄ«mekļa kamerÄm, kas tiek ražotas straumÄtÄjiem. MÄs samazinÄjÄm savu budžetu, tÄpÄc negribÄjÄm pirkt kameru, bet, kÄ izrÄdÄ«jÄs, viÅi to nenomÄ. TajÄ paÅ”Ä brÄ«dÄ« mÄs brÄ«numainÄ kÄrtÄ atradÄm manÄ mÄjÄ guļoÅ”u Xbox Kinect kameru, uzstÄdÄ«jÄm to manÄ istabÄ un uzsÄkÄm testa pÄrraidi nedÄļas garumÄ.
Kamera darbojÄs labi un nepÄrkarsa, taÄu Iļja gandrÄ«z uzreiz pamanÄ«ja, ka tai trÅ«kst iestatÄ«jumu, jo Ä«paÅ”i nebija iespÄjams iestatÄ«t ekspozÄ«ciju.
Iļja centÄs tuvinÄt apraides veidu filmu un video producÄÅ”anas standartiem: nodot dinamiski mainÄ«gu gaismas ainu ar spilgtiem gaismas avotiem, aptumÅ”otu fonu un objektiem kadrÄ. TajÄ paÅ”Ä laikÄ vÄlÄjos saglabÄt attÄla izsmalcinÄtÄ«bu gan izgaismotajos, gan ÄnÄs, ar minimÄlu digitÄlo troksni.
TÄpÄc, lai gan Kinect testos izrÄdÄ«jÄs uzticams un tam nebija nepiecieÅ”ama video uzÅemÅ”anas karte (vÄl viens neveiksmes punkts), mÄs nolÄmÄm no tÄ atteikties. PÄc trÄ«s dienu ilgas dažÄdu kameru testÄÅ”anas Iļja izvÄlÄjÄs Sony FDR-AX53 ā mazu, uzticamu videokameru, kuru ir lÄti Ä«rÄt, taÄu tajÄ paÅ”Ä laikÄ tai ir pietiekama uzticamÄ«ba un vizuÄlÄs Ä«paŔības.
MÄs noÄ«rÄjÄm kameru, ieslÄdzÄm to uz nedÄļu kopÄ ar video uzÅemÅ”anas karti un sapratÄm, ka ar to mÄs varam paļauties uz nepÄrtrauktu apraidi visu uzdevumu laikÄ.
Filmas veidoÅ”ana: skatuves iestudÄÅ”ana un apgaismojums
Darbs pie apgaismojuma prasÄ«ja zinÄmu pieklÄjÄ«bu; mums vajadzÄja izveidot apgaismojuma partitÅ«ru ar minimÄliem lÄ«dzekļiem:
1. Objektu apgaismojums, kad spÄlÄtÄji tos atrod (lÄzers, svars), kÄ arÄ« pastÄvÄ«ga smalcinÄtÄja gaisma. Å eit izmantojÄm dedolight 150 ā uzticamas un kompaktas plÄves apgaismes ierÄ«ces ar zemsprieguma halogÄna lampÄm, kas ļauj fokusÄt staru uz konkrÄtu objektu, neietekmÄjot fonu un citus objektus.
2. Praktiska rotaļu gaisma - galda lampa, stÄvlampa, zvaigzne, vÄ«tne. Visa praktiskÄ gaisma tika harmoniski sadalÄ«ta kadrÄ, lai apgaismotu attÄla laukumu, iekÅ”Ä bija LED lampas ar krÄsu temperatÅ«ru 3200K, lampa stÄvlampÄ bija pÄrklÄta ar sarkanu Rosco folijas filtru, lai radÄ«tu neparastu krÄsu akcentu.
Es esmu inženieris pie savas mammas, vai arī palaiŔana notiks rīt
KÄ mÄs rezervÄjÄm internetu un elektrÄ«bu
Kļūmju tolerances jautÄjumam viÅi piegÄja gandrÄ«z kÄ datu centrÄ: nolÄma neatkÄpties no pamatprincipiem un rezervÄja pÄc ierastÄs N+1 shÄmas.
Ja apraide pakalpojumÄ YouTube tiek pÄrtraukta, tas nozÄ«mÄ, ka nebÅ«s iespÄjams atkÄrtoti izveidot savienojumu, izmantojot to paÅ”u saiti, un turpinÄt straumi. Tas bija kritisks brÄ«dis, un telpa atradÄs parastajÄ birojÄ.
Å im nolÅ«kam mÄs izmantojÄm uz OpenWRT balstÄ«tu marÅ”rutÄtÄju un mwan3 pakotni. Tas automÄtiski pÄrbaudÄ«ja kanÄla pieejamÄ«bu ik pÄc 5 sekundÄm un pÄrtraukuma gadÄ«jumÄ pÄrslÄdzÄs uz rezerves modemu ar Yota. RezultÄtÄ pÄrslÄgÅ”anÄs uz rezerves kanÄlu notika mazÄk nekÄ minÅ«tes laikÄ.
Tikpat svarÄ«gi bija arÄ« novÄrst strÄvas padeves pÄrtraukumus, jo pat Ä«slaicÄ«gs elektroenerÄ£ijas pÄrspriegums izraisÄ«tu visu datoru pÄrstartÄÅ”anu.
TÄpÄc mÄs izmantojÄm ippon innova g2 3000 nepÄrtrauktÄs baroÅ”anas avotu, kas dublÄtu visas spÄļu ierÄ«ces: mÅ«su sistÄmas kopÄjais enerÄ£ijas patÄriÅÅ” bija aptuveni 300 vati. Tas ilgtu 75 minÅ«tes, mÅ«su mÄrÄ·iem pilnÄ«gi pietiekami.
NolÄmÄm upurÄt papildu apgaismojumu gadÄ«jumam, ja telpÄ pazustu elektrÄ«ba ā tÄ nebija pieslÄgta pie nepÄrtrauktÄs baroÅ”anas avota.
Pateicības
Visai komandai RUVDS, kurÅ” izgudroja un ieviesa spÄli.
AtseviŔķi RUVDS administratoriem par serveru darba uzraudzÄ«bu slodze bija pieÅemama un viss darbojÄs kÄ parasti.
LabÄkajam priekÅ”niekam ntsaplin par to, ka atbildot uz aicinÄjumu āman ir ideja: paÅemsim serveri, uzliksim akvÄriju un pakarinÄsim virs tÄ atsvaru, bums, blÄ«kŔķis, viss ir pÄrpludinÄts ar Å«deni, Ä«ssavienojums, uguns. !ā viÅÅ” vienmÄr pÄrliecinoÅ”i saka "dari to!"
Paldies ApgÄds Tilda un atseviŔķi Mihailam Karpovam par to, ka ne tikai sanÄca pusceÄ¼Ä un ļÄva mums pÄrkÄpt LietoÅ”anas noteikumus, bet pat iedeva mums biznesa kontu uz gadu, kad runÄjÄm par projektu.
Iļja Serovs S_ILya par pievienoÅ”anos un kļūŔanu par projekta lÄ«dzproducentu, gatavs pusnakts rÄpot, lÄ«mÄt LED lenti, meklÄt tehniskos risinÄjumus un darÄ«t visu, lai mÄs iegÅ«tu Ä«stu filmu.
zhovner par vienmÄr gatavÄ«bu glÄbt situÄciju, kad citi atmet rokas, borÅ”Äu, morÄlo atbalstu un sarunas lÄ«dz rÄ«tam.
samat par mÅ«su saikni ar valsts labÄko pentesteri, kurÅ” mÅ«s konsultÄja un palÄ«dzÄja veikt uzdevumus.
Un vislielÄkÄ pateicÄ«ba ir spÄlÄtÄjiem par visÄm emocijÄm, kuras mÄs piedzÄ«vojÄm, kamÄr jÅ«s divas dienas bez miega un pat darbu atlikÅ”anas uzbrukÄt meklÄjumos.
Citi raksti par servera iznÄ«cinÄÅ”anas meklÄjumiem