Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Fyrir nokkrum vikum eyddum við leit á netinu fyrir tölvusnápur: þeir byggðu herbergi, sem þeir fylltu af snjalltækjum og hófu YouTube útsendingu frá því. Spilarar gátu stjórnað IoT tækjum frá leikjavefsíðunni; Markmiðið var að finna vopn falið í herberginu (öflugan leysibendil), hakka það og valda skammhlaupi í herberginu.

Til að bæta við aðgerðina settum við tætara í herbergið, þar sem við hlóðum 200 rúblur: tætarinn borðaði einn seðil á klukkustund. Eftir að hafa unnið leikinn gætirðu stöðvað tætarann ​​og tekið alla peningana sem eftir eru.

Við höfum þegar sagt gegnumgangOg hvernig bakendinn var gerður verkefni. Það er kominn tími til að tala um vélbúnaðinn og hvernig hann var settur saman.


Það var mikið af beiðnum um að sýna augnablikið að þrífa herbergi - við sýnum hvernig við tökum það í sundur

Vélbúnaðararkitektúr: Herbergisstýring

Við byrjuðum að hanna vélbúnaðarlausn þegar atburðarásin var þegar orðin nokkurn veginn skilin, bakendinn var tilbúinn og við vorum með tómt herbergi tilbúið til að setja upp búnaðinn.

Við minnumst gamla brandarans „Sið í IoT stendur fyrir öryggi“ („Stafurinn S í IoT skammstöfuninni stendur fyrir öryggi“) ákváðum við að í þetta skiptið hafi leikmenn í leiksviðsmyndinni aðeins samskipti við framhlið og bakhlið. síðunnar, en fá ekki tækifæri til að komast beint í járnið.

Þetta var gert af öryggisástæðum og vegna sjónar á því sem var að gerast á skjánum: með beinum aðgangi að vélbúnaði leikmanna væri mun erfiðara að einangra öruggar og hugsanlega hættulegar aðgerðir, til dæmis hraðskrollun á tætara eða stjórna flugeldatækni.

Áður en hönnunin hófst, mótuðum við nokkrar meginreglur til að stjórna leikjatækjum, sem urðu grunnurinn að hönnuninni:

Ekki nota þráðlausar lausnir

Allt leikrýmið er í einum ramma þar sem hægt er að ná í hvert horn. Það var engin raunveruleg þörf fyrir þráðlausar tengingar og þær myndu einfaldlega verða enn einn bilunarstaðurinn.

Ekki nota nein sérstök snjallheimilistæki

Aðallega vegna sveigjanleika aðlögunar. Það er ljóst að við getum sérsniðið margar kassaútgáfur af snjallheimakerfum með tilbúnum stjórnanda og stjórntækjum fyrir verkefni okkar, en launakostnaður væri sambærilegur við að búa til þína eigin einföldu lausn.

Að auki var nauðsynlegt að koma með tæki sem myndu sýna greinilega að það voru leikmennirnir sem breyttu ástandi þess: þeir kveiktu/slökktu á því eða settu ákveðið ljós á stafina FALCON.

Við söfnuðum öllum hlutunum úr almenningi tiltækum vélbúnaði sem hægt er að kaupa í venjulegum útvarpsvarahlutaverslunum: á milli þess að skila pizzu og diet cola komu sendiboðarnir Chip and Dip og Leroy stöðugt á síðuna.

Valið að setja allt saman sjálf einfaldaði villuleit, sveigjanleika, hins vegar krafðist meiri aðgát við uppsetningu.

Öll relay og arudin ættu ekki að sjást í rammanum

Við ákváðum að koma öllum stjórnanlegum þáttum á einn stað og fela þá á bak við tjöldin til að geta fylgst með frammistöðu þeirra og, ef nauðsyn krefur, skriðið varlega út úr sjónarhorni myndavélarinnar og skipt um bilaða einingu.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Á endanum var allt falið undir borðinu og myndavélin sett upp þannig að ekkert sást fyrir neðan borðið. Þetta var „blindi blettur“ okkar fyrir verkfræðinginn til að læðast upp

Fyrir vikið fengum við í rauninni eitt snjalltæki: það fékk stöðu hvers hluta sinna frá bakendanum og breytti því með viðeigandi skipun.

Frá sjónarhóli vélbúnaðarútfærslu stjórnaði þetta tæki 6 þáttum:

  1. Nokkrir borðlampar, þeir hafa kveikt/slökkt ástand og er stjórnað af leikmönnum
  2. Stafir á vegg, þeir geta breytt um lit eftir stjórn leikmanna
  3. Aðdáendur sem snúast og opna flettitöfluna þegar þjónninn er undir álagi
  4. Laser stjórnað með PWM
  5. Tætari sem borðaði peninga á áætlun
  6. Reykvél sem fór í gang fyrir hvert laserskot


Reykvél að prófa með laser

Síðar var bætt við sviðsljósi sem stóð fyrir aftan grindina og var stjórnað nákvæmlega eins og lömpunum frá punkti 1. Sviðsljósið virkaði í tveimur tilfellum: það lýsti upp leysirinn þegar afl var sett á hann og það lýsti upp lóðina áður en laser var hleypt af stokkunum í bardagaham.

Hvað var þetta snjalltæki?

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit

Alla leiðina reyndi Yura, vélbúnaðargaurinn okkar, að flækja ekki hlutina og koma með einföldustu, lægstu lausnina sem mögulegt er.

Gert var ráð fyrir að VPS myndi einfaldlega keyra skriftu sem tekur á móti json með ástandi tækjanna og sendir það til Arduino sem er tengt með USB.

Tengt við tengi:

  • 16 venjuleg gengi (það voru þeir sem gerðu smellhljóðið sem heyrðist í myndbandinu. Við völdum þau aðallega vegna þessa hljóðs)
  • 4 solid state liða til að stjórna PWM rásum, svo sem viftur,
  • aðskilið PWM úttak fyrir leysir
  • framleiðsla sem framleiðir merki til LED ræmunnar

Hér er dæmi um json skipun sem kom til gengisins frá þjóninum

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

Og þetta er dæmi um aðgerð sem skipunin barst til Arudino með

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

Til að fylgjast með augnablikinu þegar leysirinn loksins brennur í gegnum strenginn og lóðin flýgur á fiskabúrið, gerðum við lítinn takka sem virkaði þegar þyngdin féll og gaf merki til kerfisins.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Hnappur til að fylgjast með hreyfingu þyngdar

Við þetta merki áttu reyksprengjur úr borðtennisboltum að kvikna. Við settum 4 reykblys beint inn í serverhólfið og tengdum þau með nichrome þræði sem átti að hitna og virka eins og kveikitæki.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Hús með reyksprengjum og kínverskum krans

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit

Arduino

Samkvæmt upphaflegu áætluninni fóru tvær aðgerðir fram á Arduino.

Í fyrsta lagi, þegar ný beiðni barst, var beiðnin flokkuð með því að nota ArduinoJson bókasafnið. Næst var hvert stýrt tæki borið saman við tvo eiginleika þess:

  • straumstaða „kveikt“ eða „slökkt“ (staðlað ástand)
  • tímabilið sem kveikt er á tækinu - tíminn í míkrósekúndum frá upphafi borðs, þegar það er kominn tími til að slökkva á því, það er að koma ástandinu í staðal

Síðast þegar það var stillt við móttöku samsvarandi færibreytu í JSON, en það var ekki hægt að senda það, þá var gildið stillt á 0 og engin endurstilling átti sér stað.

Önnur aðgerðin sem Arduino framkvæmdi í hverri lotu var að uppfæra ástand, það er að athuga hvort það væri þörf á að kveikja á einhverju eða hvort það væri kominn tími til að slökkva á einhverju tæki.

Laserbendill - sami Megatron 3000

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit

Þetta er venjulegur LSMVR450-3000MF 3000mW 450nm handvirkur fókus leysiskurður og merkingareining.

Bréf Fálki

Þeir voru gerðir á mjög einfaldan hátt - við einfaldlega afrituðum stafina af lógóinu, klipptum þá úr pappa og klæddum þá síðan með LED límbandi. Í þessu tilfelli þurfti ég að lóða límbandsstykkin saman, 4 snertingar á hvern sauma, en útkoman var þess virði. Bakvörðurinn okkar Pasha sýndi kraftaverk kunnáttu, gerði það á innan við nokkrum klukkustundum.

Fyrstu prófanir á iot tækinu og frágangur

Við gerðum fyrstu prófin og um leið komu ný verkefni til okkar. Staðreyndin er sú að í miðju ferlinu kom alvöru kvikmyndaframleiðandi og myndatökumaður frá VGIK, Ilya Serov, til liðs við liðið - hann smíðaði rammann, bætti við viðbótarlýsingu í kvikmyndahúsum og breytti aðeins handriti leiksins til að gera söguþráðinn tilfinningaríkari, og myndin dramatískari og leikrænni.

Þetta jók gæðin umtalsvert, en þættir komu fram sem einnig þurfti að tengja við gengið og mæla fyrir um rekstraralgrím.

Annað vandamál var leysirinn: við gerðum nokkrar tilraunir með mismunandi gerðir af reipi og leysigeislum af mismunandi krafti. Fyrir prófið hengdum við einfaldlega lóð lóðrétt á reipi.

Þegar keyrt var með prófunartákn var krafturinn sem stjórnað var í gegnum PWM minna en 10% og skemmdi ekki reipið jafnvel með langri útsetningu.

Fyrir bardagaham var leysirinn óljós á um það bil stað með 10 mm þvermál og hann brann örugglega í gegnum reipi með álagi úr um það bil metra fjarlægð.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Svo leysirinn virkaði fullkomlega í prófunum

Þegar við byrjuðum að prófa allt rétt í herberginu á upphengdu lóð, kom í ljós að það var ekki svo auðvelt að festa leysirinn á öruggan hátt. Síðan, þegar reipið brennur, bráðnar það, teygir sig og færist úr upprunalegum fókus.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
En það virkaði ekki lengur þannig: reipið færðist til

Ilya færði laserinn í enda herbergisins á móti strengnum þannig að lasergeislinn færi yfir allt sviðið og myndi líta fallega út í rammanum, sem tvöfaldaði fjarlægðina.

Eftir að hafa gert nokkrar tilraunir til viðbótar með að brenna reipið þegar í bardaga, ákváðum við að pynta ekki örlögin og tryggja að klippa reipið með nichrome vír. Það eyðilagði þráðinn 120 sekúndum eftir að kveikt var á leysinum í bardagaham. Við ákváðum að harðkóða þetta, sem og að aftengja vírinn og kveikja á reyksprengjum þegar aðskilnaðarsnertingin er virkjuð, beint inn í vélbúnað örstýringarinnar.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Þráðurinn sem að lokum brann í gegnum strenginn utan skjásins

Þannig virtist þriðja verkefnið sem Arduino leysti - að vinna úr röðunum sem tengjast framkvæmd þessara skipana.

Við ákváðum líka að gefa Arduino þörfinni á að telja peninga í sjónvarpinu og keyra tætarann. Upphaflega var gert ráð fyrir að bakendinn myndi gera þetta og núverandi jafnvægi væri sýnilegt á vefsíðunni, og í sjónvarpinu myndum við sýna athugasemdir frá YouTube sem auka gagnvirkan þátt og segja áhorfendum að atburðir í herberginu væru að gerast í alvöru. tíma.

En meðan á prufuhlaupinu stóð leit Ilya á svæðið og stakk upp á því að sýna stöðu leiksins á stærsta skjánum: hversu mikið fé er enn eftir, hversu mikið hefur verið borðað og niðurtalning til næstu byrjunar tætarans.

Við bundum Arduino við núverandi tíma: á heila klukkustund var tætari ræstur. Myndin var sýnd í sjónvarpinu með því að nota rasberry, sem á því augnabliki var þegar að fá beiðnir frá þjóninum og senda þær til arduino til framkvæmdar. Myndir með peningavísum voru teiknaðar með því að kalla leikjatölvuforritið fim eitthvað á þessa leið

image = subprocess.Popen(["fim", "-q", "-r", "1920×1080", fim_str]), где fim_str

Og það var myndað út frá tilskildu magni eða tíma.

Við bjuggum til myndirnar fyrirfram: við tókum einfaldlega tilbúið myndband með tímamæli og fluttum út 200 myndir.

Þetta er vélfræðin sem var forrituð í krossinn. Þegar síðasta niðurtalningin hófst fórum við öll á staðinn, vopnuðum okkur slökkvitæki og settumst niður til að bíða eftir eldinum (sem var aðeins í fullum gangi í ósætti)

Hvernig á að búa til útsendingu sem virkar í viku: að velja myndavél

Fyrir leitina þurftum við samfellda útsendingu á YouTube í 7 daga - það er nákvæmlega það sem við settum sem hámarkstíma leiksins. Það var tvennt sem gæti stoppað okkur:

  1. Ofhitnun myndavélarinnar vegna stöðugrar notkunar
  2. Netleysi

Myndavélin þurfti að gefa að minnsta kosti Full HD mynd til að spila og horfa á herbergið þægilegt.

Upphaflega skoðuðum við vefmyndavélar sem eru framleiddar fyrir straumspilara. Við vorum að skera niður kostnaðarhámarkið okkar, svo við vildum ekki kaupa myndavél, en eins og það kom í ljós leigja þeir hana ekki. Á sama augnabliki fundum við á kraftaverki Xbox Kinect myndavél liggjandi heima hjá mér, settum hana upp í herberginu mínu og hófum prufuútsendingu í viku.

Myndavélin virkaði vel og ofhitnaði ekki, en Ilya tók næstum strax eftir því að það vantaði stillingar, sérstaklega var ómögulegt að stilla lýsinguna.

Ilya leitaðist við að færa útsendingartegundina nær stöðlum kvikmynda- og myndbandsframleiðslu: að miðla kraftmikilli ljóssenu með björtum ljósgjöfum, myrkvuðum bakgrunni og hlutum í rammanum. Á sama tíma vildi ég varðveita útfærslu myndarinnar bæði í hápunktum og skuggum, með lágmarks stafrænum hávaða.

Þess vegna, þó að Kinect hafi reynst áreiðanlegt í prófunum og ekki krafist myndbandsupptökukorts (annar bilun), ákváðum við að hætta við það. Eftir þriggja daga prófanir á mismunandi myndavélum valdi Ilya Sony FDR-AX53 - litla, áreiðanlega upptökuvél sem er ódýr í leigu en hefur á sama tíma nægjanlega áreiðanleika og sjónræna eiginleika.

Við leigðum myndavél, kveiktum á henni í viku ásamt myndbandsupptökukorti og komumst að því að með henni gætum við treyst á samfellda útsendingu í gegnum allt leitina.

Að gera kvikmynd: sviðsetning og lýsing

Vinna við lýsinguna krafðist ákveðinnar þokka; við þurftum að byggja upp lýsingarstig með lágmarks aðferðum:

1. Lýsing á hlutum þegar leikmenn finna þá (leysir, þyngd), sem og stöðugt ljós á tætara. Hér notuðum við dedolight 150 - áreiðanleg og samsett kvikmyndaljósatæki með lágspennu halógenlömpum, sem gera þér kleift að stilla geislann á ákveðinn hlut án þess að hafa áhrif á bakgrunninn og aðra hluti.

2. Hagnýtt leikljós - borðlampi, gólflampi, stjarna, krans. Allt hagnýtt ljós dreifðist samfellt í rammanum til að lýsa upp myndflötinn, það voru LED lampar með 3200K litahita inni, lampinn í gólflampanum var þakinn rauðri Rosco filmusíu til að skapa óvenjulegan litahreim.

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Ég er verkfræðingur hjá mömmu eða kynningin er á morgun

Hvernig við pöntuðum internet og rafmagn

Þeir nálguðust vandamálið um bilanaþol næstum eins og í gagnaveri: þeir ákváðu að víkja ekki frá grunnreglunum og áskildu samkvæmt venjulegu N+1 kerfi.

Ef útsendingin á YouTube hættir þýðir það að ómögulegt verður að tengjast aftur með sama hlekk og halda áfram straumnum. Þetta var mikilvæg stund og herbergið var staðsett á venjulegri skrifstofu.

Til þess notuðum við OpenWRT-beini og mwan3 pakkann. Það prófaði sjálfkrafa framboð rásarinnar á 5 sekúndna fresti og skipti yfir í öryggisafrit mótaldið með Yota ef hlé varð. Þess vegna var skipt yfir í vararásina á innan við mínútu.
Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit
Það var líka jafn mikilvægt að koma í veg fyrir rafmagnstruflanir, því jafnvel skammvinn rafstraumur myndi valda endurræsingu á öllum tölvum.

Þess vegna tókum við ippon innova g2 3000 aflgjafa, sem myndi taka öryggisafrit af öllum leikjatækjum: heildarorkunotkun kerfisins okkar var um 300 vött. Það myndi endast í 75 mínútur, alveg nóg fyrir okkar tilgang.

Við ákváðum að fórna viðbótarlýsingu ef ske kynni að rafmagnið í herberginu færi út - það væri ekki tengt við aflgjafa.

Viðurkenningar

  • Til alls liðsins RUVDS, sem fann upp og útfærði leikinn.
  • Sérstaklega, fyrir stjórnendur RUVDS, fyrir eftirlit með vinnu netþjónanna, var álagið ásættanlegt og allt virkaði eins og venjulega.
  • Til besta yfirmannsins ntsaplin fyrir þá staðreynd að sem svar við símtalinu: „Ég er með hugmynd: við tökum miðlara, setjum fiskabúr á hann og hengjum lóð fyrir ofan það, búmm, bang, allt er flætt af vatni, skammhlaup, eldur !“ hann segir alltaf sjálfstraust "gerðu það!"
  • Takk Tilda útgáfu og sérstaklega til Mikhail Karpov fyrir að hittast ekki aðeins á miðri leið og leyfa okkur að brjóta notkunarskilmálana, heldur jafnvel gefa okkur viðskiptareikning í eitt ár þegar við ræddum verkefnið.
  • Ilya Serov S_ILya fyrir að vera með og gerast meðframleiðandi að verkefninu, tilbúinn að skríða hálfa nóttina, líma LED ræmur, leita að tæknilausnum og gera allt til að við fáum alvöru bíó.
  • zhovner fyrir að vera alltaf tilbúinn til að bjarga ástandinu þegar aðrir kastuðu upp höndunum, borscht, siðferðisstuðning og samtöl fram á morgun.
  • samat fyrir að tengja okkur við besta pentester landsins, sem ráðlagði okkur og hjálpaði okkur við verkefni.
  • danímjólk fyrir flotta myndbandsframleiðslu allra myndskeiða.
  • delphe fyrir trausta hönd og vinnuvilja til hins síðasta.
  • Jæja Dodo Pizza verkfræði fyrir næstum alltaf heita pizzu.

Og mesta þakklætið fær leikmönnunum fyrir allar tilfinningarnar sem við upplifðum á meðan þú stormaðir í leitina í tvo daga án svefns og jafnvel að fresta vinnu.

Aðrar greinar um leitina til að eyðileggja þjóninn

Verkefnavélbúnaður: hvernig við byggðum herbergi með tölvuþrjótaleit

Heimild: www.habr.com

Bæta við athugasemd