Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Wiki chache zilizopita tulitumia utafutaji mtandaoni kwa wadukuzi: walijenga chumba, ambacho walikijaza na vifaa mahiri na kuzindua matangazo ya YouTube kutoka humo. Wachezaji wanaweza kudhibiti vifaa vya IoT kutoka kwa tovuti ya mchezo; Kusudi lilikuwa kupata silaha iliyofichwa ndani ya chumba (kiashiria cha laser chenye nguvu), kuibadilisha na kusababisha mzunguko mfupi ndani ya chumba.

Ili kuongeza hatua, tuliweka shredder kwenye chumba, ambacho tulipakia rubles 200: shredder alikula muswada mmoja kwa saa. Baada ya kushinda mchezo, unaweza kusimamisha shredder na kuchukua pesa zote zilizobaki.

Tumeshasema matembeziNa jinsi backend ilifanywa mradi. Ni wakati wa kuzungumza juu ya vifaa na jinsi vilikusanyika.


Kulikuwa na maombi mengi ya kuonyesha wakati wa kusafisha chumba - tunaonyesha jinsi tunavyotenganisha

Usanifu wa Vifaa: Udhibiti wa Chumba

Tulianza kuunda suluhisho la vifaa wakati hali ilikuwa tayari kueleweka, sehemu ya nyuma ilikuwa tayari, na tulikuwa na chumba tupu tayari kufunga vifaa.

Kukumbuka utani wa zamani "S katika IoT inasimamia Usalama" ("herufi S katika kifupi cha IoT inasimamia Usalama"), tuliamua kwamba wakati huu wachezaji katika hali ya mchezo wanaingiliana tu na mwisho wa mbele na nyuma. ya tovuti, lakini usipate fursa ya kupata moja kwa moja kwenye chuma.

Hii ilifanywa kwa sababu za usalama na tamasha la kile kilichokuwa kikifanyika kwenye skrini: kwa ufikiaji wa moja kwa moja wa maunzi na wachezaji, itakuwa ngumu zaidi kutenganisha vitendo salama na hatari, kwa mfano, kusongesha haraka kwa shredder au kudhibiti. pyrotechnics.

Kabla ya kuanza muundo, tulitengeneza kanuni kadhaa za kudhibiti vifaa vya michezo ya kubahatisha, ambayo ikawa msingi wa muundo:

Usitumie ufumbuzi wa wireless

Nafasi nzima ya kucheza iko kwenye fremu moja, ambayo kila kona inaweza kufikiwa. Hakukuwa na hitaji la kweli la miunganisho isiyo na waya na wangekuwa tu hatua nyingine ya kutofaulu.

Usitumie vifaa vyovyote maalum vya nyumbani mahiri

Hasa kwa ajili ya kubadilika kukufaa. Ni wazi kuwa tunaweza kubinafsisha matoleo mengi ya mifumo mahiri ya nyumbani yaliyowekwa kwenye sanduku kwa usimamizi na vidhibiti vilivyotengenezwa tayari kwa kazi yetu, lakini gharama za wafanyikazi zinaweza kulinganishwa na kuunda suluhisho lako rahisi.

Kwa kuongeza, ilikuwa ni lazima kuja na vifaa ambavyo vitaonyesha wazi kuwa ni wachezaji waliobadilisha hali yake: waliifungua / kuzima au kuweka mwanga maalum kwenye barua FALCON.

Tulikusanya vipengele vyote kutoka kwa maunzi yanayopatikana hadharani ambayo yanaweza kununuliwa katika maduka ya kawaida ya vipuri vya redio: kati ya kutoa pizza na kola ya chakula, wasafirishaji Chip na Dip na Leroy walikuja kwenye tovuti mara kwa mara.

Uchaguzi wa kukusanya kila kitu sisi wenyewe umerahisisha utatuzi, uimara, hata hivyo, ulihitaji uangalifu zaidi wakati wa usakinishaji.

Relay zote na arudin hazipaswi kuonekana kwenye sura

Tuliamua kuleta vipengele vyote vinavyoweza kudhibitiwa mahali pamoja na kuvificha nyuma ya pazia ili kuwa na uwezo wa kufuatilia utendaji wao na, ikiwa ni lazima, kutambaa kwa uangalifu nje ya macho ya kamera na kuchukua nafasi ya kitengo kilichoshindwa.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Mwishowe, kila kitu kilifichwa chini ya meza, na kamera iliwekwa ili hakuna kitu kinachoonekana chini ya meza. Hii ilikuwa "mahali pa upofu" wetu kwa mhandisi kutambaa

Kama matokeo, tulipata kifaa kimoja mahiri: kilipokea hali ya kila sehemu yake kutoka kwa sehemu ya nyuma na kuibadilisha kwa amri inayofaa.

Kwa mtazamo wa utekelezaji wa maunzi, kifaa hiki kilidhibiti vipengele 6:

  1. Taa kadhaa za meza, zina hali ya kuzima / kuzima na zinadhibitiwa na wachezaji
  2. Barua kwenye ukuta, wanaweza kubadilisha rangi zao kwa amri ya wachezaji
  3. Mashabiki wanaozunguka na kufungua chati mgeuzo seva inapopakia
  4. Laser inadhibitiwa kupitia PWM
  5. Shredder ambaye alikula pesa kwa ratiba
  6. Mashine ya moshi ambayo ilizimika kabla ya kila laser risasi


Kupima mashine ya moshi na laser

Baadaye, taa ya hatua iliongezwa, ambayo ilisimama nyuma ya fremu na ilidhibitiwa sawa na taa kutoka kwa hatua ya 1. Taa ya hatua ilifanya kazi katika matukio mawili: iliangazia laser wakati nguvu ilitumiwa juu yake, na iliangazia uzito kabla ya taa. laser ilizinduliwa katika hali ya kupambana.

Kifaa hiki mahiri kilikuwa nini?

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker

Kwa njia yote, Yura, kijana wetu wa vifaa, alijaribu kutofanya mambo magumu na kuja na suluhisho rahisi zaidi, ndogo iwezekanavyo.

Ilifikiriwa kuwa VPS ingeendesha tu hati inayopokea json na hali ya vifaa na kuituma kwa Arduino iliyounganishwa kupitia USB.

Imeunganishwa kwenye bandari:

  • Relay 16 za kawaida (ndio waliokuwa wakitoa kelele ya kubofya iliyosikika kwenye video. Tulizichagua hasa kwa sababu ya sauti hii)
  • Relay 4 za hali thabiti za kudhibiti chaneli za PWM, kama vile feni,
  • pato tofauti la PWM kwa laser
  • pato ambalo hutoa ishara kwa ukanda wa LED

Hapa kuna mfano wa amri ya json iliyokuja kwa upeanaji kutoka kwa seva

{"power":false,"speed":0,"period":null,"deviceIdentifier":"FAN"}

Na huu ni mfano wa kazi ambayo amri ilipata Arudino

def callback(ch, method, properties, body):    
request = json.loads(body.decode("utf-8"))    
print(request, end="n")     
send_to_serial(body)

Ili kufuatilia wakati ambapo laser hatimaye inawaka kupitia kamba na uzito unaruka kwenye aquarium, tulifanya kifungo kidogo ambacho kilisababishwa wakati uzito ulipoanguka na kutoa ishara kwa mfumo.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Kitufe cha kufuatilia harakati za uzito

Kwa ishara hii, mabomu ya moshi yaliyotengenezwa kutoka kwa mipira ya ping-pong yalipaswa kuwaka. Tuliweka miale 4 ya moshi moja kwa moja kwenye kifurushi cha seva na tukaunganisha na uzi wa nichrome, ambao ulipaswa kuwaka moto na kufanya kazi kama kiwasha.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Nyumba zilizo na mabomu ya moshi na maua ya Kichina

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker

Arduino

Kulingana na mpango wa asili, vitendo viwili vilifanyika kwenye Arduino.

Kwanza, ombi jipya lilipopokelewa, ombi hilo lilichanganuliwa kwa kutumia maktaba ya ArduinoJson. Ifuatayo, kila kifaa kinachosimamiwa kililinganishwa na sifa zake mbili:

  • hali ya nguvu "imewashwa" au "kuzima" (hali ya kawaida)
  • kipindi ambacho kifaa kimewashwa - wakati katika microseconds tangu mwanzo wa bodi, wakati ni wakati wa kuzima, yaani, kuleta hali kwa kiwango.

Mara ya mwisho iliwekwa wakati wa kupokea kigezo sambamba katika JSON, lakini haikuweza kusambazwa, kisha thamani iliwekwa kuwa 0 na hakuna uwekaji upya uliotokea.

Hatua ya pili ambayo Arduino ilifanya kila mzunguko ilikuwa kusasisha majimbo, ambayo ni, kuangalia ikiwa kulikuwa na hitaji la kuwasha kitu au ikiwa ni wakati wa kuzima kifaa chochote.

Laser pointer - sawa Megatron 3000

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker

Hii ni sehemu ya kawaida ya LSMVR450-3000MF 3000mW 450nm mwongozo wa kukata na moduli ya kuashiria.

Barua Falcon

Zilifanywa kwa urahisi sana - tulinakili herufi kutoka kwa nembo, tukakata kutoka kwa kadibodi, na kisha kuzifunika kwa mkanda wa LED. Katika kesi hii, nililazimika kuuza vipande vya tepi pamoja, mawasiliano 4 kwenye kila mshono, lakini matokeo yalikuwa ya thamani yake. Pasha wetu wa nyuma alionyesha miujiza ya ustadi, akiifanya kwa chini ya masaa machache.

Vipimo vya kwanza vya kifaa cha iot na kumaliza

Tulifanya majaribio ya kwanza na wakati huo huo kazi mpya zilitufikia. Ukweli ni kwamba katikati ya mchakato huo, mtayarishaji wa filamu halisi na mpiga picha kutoka VGIK, Ilya Serov, alijiunga na timu - alijenga sura, akaongeza taa za ziada za sinema na akabadilisha kidogo hati ya mchezo ili kufanya njama iwe ya kihisia zaidi, na. picha ni ya kuigiza zaidi na ya kuigiza.

Hii iliongeza ubora kwa kiasi kikubwa, lakini vipengele vilionekana ambavyo pia vinahitajika kushikamana na relay na algorithm ya operesheni iliyowekwa.

Tatizo jingine lilikuwa laser: tulifanya majaribio kadhaa na aina tofauti za kamba na lasers za nguvu tofauti. Kwa mtihani, tulipachika uzito wima kwenye kamba.

Wakati wa kukimbia na ishara ya mtihani, nguvu iliyosimamiwa kwa njia ya PWM ilikuwa chini ya 10% na haikuharibu kamba hata kwa mfiduo mrefu.

Kwa hali ya mapigano, laser ilipunguzwa kwa takriban doa yenye kipenyo cha mm 10 na ilichomwa kwa ujasiri kupitia kamba na mzigo kutoka umbali wa karibu mita.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Kwa hivyo laser ilifanya kazi kikamilifu katika vipimo

Tulipoanza kupima kila kitu ndani ya chumba kwa uzito uliosimamishwa, ikawa kwamba kupata laser kwa usalama haikuwa rahisi sana. Kisha, wakati kamba inawaka, inayeyuka, kunyoosha na kuondoka kwenye mtazamo wake wa awali.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Lakini haikufanya kazi tena kama hiyo: kamba ilihama

Ilya alihamisha laser hadi mwisho wa chumba kinyume na kamba ili boriti ya laser iende kwenye hatua nzima na kuonekana nzuri katika sura, ambayo iliongezeka mara mbili umbali.

Baada ya kufanya majaribio kadhaa zaidi kwa kuchoma kamba tayari kwenye vita, tuliamua kutotesa hatima na kupata kukatwa kwa kamba kwa kutumia waya wa nichrome. Iliharibu uzi sekunde 120 baada ya kuwasha laser katika hali ya mapigano. Tuliamua kuweka msimbo huu kwa bidii, pamoja na kukatwa kwa waya na kuwasha kwa mabomu ya moshi wakati mawasiliano ya kutenganisha yanapoanzishwa, moja kwa moja kwenye vifaa vya kidhibiti kidogo.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Uzi ambao hatimaye ulichoma kupitia kamba iliyo nje ya skrini

Kwa hivyo, kazi ya tatu ilionekana ambayo Arduino ilitatua - kufanyia kazi mlolongo unaohusishwa na utekelezaji wa amri hizi.

Tuliamua pia kuwapa Arduino hitaji la kuhesabu pesa kwenye TV na kuendesha shredder. Hapo awali, ilichukuliwa kuwa upande wa nyuma ungefanya hivi na salio la sasa lingeonekana kwenye tovuti, na kwenye TV tungeonyesha maoni kutoka kwa YouTube kama kipengele cha ziada shirikishi, tukiwaambia watazamaji kwamba matukio katika chumba cha mkutano yalikuwa yanafanyika katika hali halisi. wakati.

Lakini wakati wa jaribio, Ilya alitazama eneo la tukio na akapendekeza kuonyesha usawa wa mchezo kwenye skrini kubwa zaidi: ni pesa ngapi bado imesalia, ni kiasi gani kimeliwa, na kuhesabu hadi kuanza kwa shredder.

Tulifunga Arduino kwa wakati wa sasa: kila saa kamili shredder ilianzishwa. Picha ilionyeshwa kwenye TV kwa kutumia rasberry, ambayo wakati huo ilikuwa tayari kupokea maombi kutoka kwa seva na kuwatuma kwa arduino kwa utekelezaji. Picha zilizo na viashirio vya fedha zilichorwa kwa kuita shirika la console fim kitu kama hiki

image = subprocess.Popen(["fim", "-q", "-r", "1920Γ—1080", fim_str]), Π³Π΄Π΅ fim_str

Na iliundwa kulingana na kiasi kinachohitajika au wakati.

Tulitengeneza picha mapema: tulichukua video iliyotengenezwa tayari na kipima saa na tukasafirisha picha 200.

Hii ni mechanics ambayo iliwekwa kwenye msalaba. Kufikia wakati hesabu ya mwisho ilianza, sote tulienda kwenye tovuti, tukiwa na vifaa vya kuzimia moto na tukaketi kusubiri moto (ambao ulikuwa ukipamba moto tu katika mafarakano)

Jinsi ya kufanya utangazaji unaofanya kazi kwa wiki: kuchagua kamera

Kwa pambano hili, tulihitaji matangazo ya mara kwa mara kwenye YouTube kwa siku 7 - ndivyo tulivyoweka kama upeo wa muda wa mchezo. Kulikuwa na mambo mawili ambayo yanaweza kutuzuia:

  1. Kamera ina joto kupita kiasi kwa sababu ya operesheni inayoendelea
  2. Kukatika kwa mtandao

Ilibidi kamera itoe angalau picha ya HD Kamili ili kufanya kucheza na kutazama chumba vizuri.

Hapo awali, tuliangalia kamera za wavuti ambazo hutolewa kwa vipeperushi. Tulikuwa tunapunguza bajeti yetu, kwa hivyo hatukutaka kununua kamera, lakini, kama ilivyotokea, hawakukodisha. Wakati huo huo, tulipata kimiujiza kamera ya Xbox Kinect iliyolala nyumbani kwangu, tukaiweka kwenye chumba changu na kuanza matangazo ya majaribio kwa wiki.

Kamera ilifanya kazi vizuri na haikuzidi joto, lakini Ilya karibu mara moja aligundua kuwa haikuwa na mipangilio, haswa haikuwezekana kuweka mfiduo.

Ilya alitaka kuleta aina ya utangazaji karibu na viwango vya utengenezaji wa filamu na video: kuwasilisha eneo la mwanga linalobadilika kwa nguvu na vyanzo vya mwanga mkali, mandharinyuma yenye giza na vitu kwenye fremu. Wakati huo huo, nilitaka kuhifadhi ufafanuzi wa picha katika mambo muhimu na vivuli, na kelele ndogo ya digital.

Kwa hivyo, ingawa Kinect ilithibitika kuwa ya kuaminika katika majaribio na haikuhitaji kadi ya kunasa video (hatua nyingine ya kutofaulu), tuliamua kuiacha. Baada ya siku tatu za kupima kamera tofauti, Ilya alichagua Sony FDR-AX53 - camcorder ndogo, ya kuaminika ambayo ni ya gharama nafuu kukodisha, lakini wakati huo huo ina uaminifu wa kutosha na sifa za kuona.

Tulikodisha kamera, tukaiwasha kwa wiki moja kwa kushirikiana na kadi ya kunasa video, na tukagundua kuwa nayo tunaweza kutegemea utangazaji unaoendelea katika jitihada zote.

Kutengeneza sinema: kuweka jukwaa na taa

Kufanya kazi kwenye taa kulihitaji neema fulani; tulihitaji kujenga alama ya taa kwa njia ndogo:

1. Mwangaza wa vitu wakati wachezaji wanazipata (laser, uzito), pamoja na mwanga wa mara kwa mara kwenye shredder. Hapa tulitumia dedolight 150 - vifaa vya taa vya kuaminika na vyema vya filamu na taa za halogen za chini-voltage, ambayo inakuwezesha kuzingatia boriti kwenye kitu maalum bila kuathiri historia na vitu vingine.

2. Nuru ya kucheza kwa vitendo - taa ya meza, taa ya sakafu, nyota, kamba. Nuru zote za vitendo zilisambazwa kwa usawa katika sura ili kuangazia eneo la picha, kulikuwa na taa za LED zilizo na joto la rangi ya 3200K ndani, taa kwenye taa ya sakafu ilifunikwa na kichujio cha foil nyekundu ya Rosco ili kuunda lafudhi ya rangi isiyo ya kawaida.

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Mimi ni mhandisi kwa mama yangu au uzinduzi ni kesho

Jinsi tulivyohifadhi mtandao na umeme

Walishughulikia suala la uvumilivu wa makosa karibu kama katika kituo cha data: waliamua kutokengeuka kutoka kwa kanuni za msingi na kuhifadhiwa kulingana na mpango wa kawaida wa N + 1.

Ikiwa matangazo kwenye YouTube yatakoma, hii inamaanisha kuwa haitawezekana kuunganisha tena kwa kutumia kiungo sawa na kuendelea na mtiririko. Ilikuwa wakati muhimu, na chumba kilikuwa katika ofisi ya kawaida.

Kwa hili tulitumia kipanga njia cha OpenWRT na kifurushi cha mwan3. Ilijaribu kiotomatiki upatikanaji wa chaneli kila baada ya sekunde 5 na, ikiwa kuna mapumziko, ilibadilisha hadi modemu ya chelezo na Yota. Kwa hivyo, kubadili kwa kituo cha chelezo kulitokea chini ya dakika moja.
Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker
Pia ilikuwa muhimu kwa usawa kuondoa kukatika kwa umeme, kwa sababu hata kuongezeka kwa nguvu kwa muda mfupi kungesababisha kuanza tena kwa kompyuta zote.

Kwa hivyo, tulichukua umeme wa ippon innova g2 3000 usiokatizwa, ambao ungehifadhi nakala za vifaa vyote vya michezo: matumizi ya jumla ya nishati ya mfumo wetu yalikuwa karibu Wati 300. Ingedumu kwa dakika 75, za kutosha kwa madhumuni yetu.

Tuliamua kutoa taa za ziada ikiwa umeme kwenye chumba utazimika - haukuunganishwa na usambazaji wa umeme usioweza kukatika.

Shukrani

  • Kwa timu nzima RUVDS, ambaye aligundua na kutekeleza mchezo.
  • Kwa kando, kwa wasimamizi wa RUVDS, kwa ufuatiliaji wa kazi ya seva, mzigo ulikubalika na kila kitu kilifanya kazi kama kawaida.
  • Kwa bosi bora ntsaplin kwa ukweli kwamba kwa kujibu simu, "Nina wazo: tutachukua seva, kuweka aquarium juu yake, na kunyongwa uzito juu yake, boom, bang, kila kitu kimejaa maji, mzunguko mfupi, moto. !” kila mara anasema kwa ujasiri β€œfanya hivyo!”
  • Shukrani Uchapishaji wa Tilda na kando kwa Mikhail Karpov kwa sio tu kukutana nusu na kuturuhusu kukiuka Masharti ya Matumizi, lakini hata kutupa akaunti ya biashara kwa mwaka tulipozungumza juu ya mradi huo.
  • Ilya Serov S_ILya kwa kujiunga na kuwa mtayarishaji mwenza wa mradi, tayari kutambaa nusu usiku, kuunganisha ukanda wa LED, kutafuta ufumbuzi wa kiufundi na kufanya kila kitu ili tupate filamu halisi.
  • zhovner kwa kuwa daima tayari kuokoa hali wakati wengine walitupa mikono yao, borscht, usaidizi wa maadili na mazungumzo hadi asubuhi.
  • samat kwa kutuunganisha na pentester bora zaidi nchini, ambaye alitushauri na kutusaidia na kazi.
  • daniemilk kwa utengenezaji mzuri wa video za video zote.
  • delphe kwa mkono thabiti na utayari wa kufanya kazi hadi mwisho.
  • Vizuri Uhandisi wa Pizza ya Dodo kwa karibu kila mara pizza ya joto.

Na shukrani kubwa zaidi ziwaendee wachezaji kwa mihemko yote tuliyopata wakati mlivamia harakati kwa siku mbili bila kulala na hata kuahirisha kazi.

Makala mengine kuhusu jitihada ya kuharibu seva

Vifaa vya mradi: jinsi tulivyojenga chumba na jitihada ya hacker

Chanzo: mapenzi.com

Kuongeza maoni