áá¬áá¬ááᯠáá»ááºáá®ážááŒááºážááŸáá·áºá¡áá° áá»áœááºá¯ááºááá¯á·á áá±áá¬ááŸá¬ááœá±ááŸá¯ááᯠáááºááá¯á·á
á®á
ááºáá¬ážááŒá±á¬ááºáž ááá·áºá¡á¬áž áááºáááºááŒá±á¬ááŒáá«áááºá ááááºááœááºá
áááºáá«á
á á¯á á¯áá±á«ááºážá ááááºážááá±á¬ááºááœááºááœáẠá á¯á á¯áá±á«ááºáž áááá¯áá¬áá°áá Ạá áá¯áá«ááŸáááŒá®ážá á€áá±á¬ááºážáá«ážááœáẠáá»áœááºá¯ááºááá¯á· ááœá²ááŒááºážá áááºááŒá¬áá«áááºá
- ááááºážááá¹ááá¬ážáá»á¬ážá¡ááœáẠáá¬áááºááŸááá±á¬ ááááºážá¡ááœá²á·á¡á ááºážáá»á¬ážá áá±á¬ááºááœááºááŸ
- VPS ááŸá Backend ááŸáá·áº site data áááŸááºáá±á¬ bus
- áá±á¬ááºáá¶áá±á¬ááºážááá¯ááŸá¯áá»á¬áž (ááááºážá¡á áááºá¡ááá¯ááºážáá»á¬áž) á០Arduino ááŸáá·áº site ááŸá áá¬á·ááºáá²áá»á¬ážááá¯á· áá¬áá¬ááŒááºáá°
- relays áá»á¬ážááᯠááááºážáá»á¯ááºááẠáá¬áááºááŸááá±á¬ Arduino ááẠáá¬áá¬ááŒááºáá°áá¶á០á¡áááá·áºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž á¡ááŸááºáááẠá¡áá¯ááºááŒá áºáá²á·áá«áááºá
- á¡ááŸááºáááẠáááááá¬áá»á¬áž- áááºáá¬á áááºážáá¯á¶ážáá»á¬ážá ááŒááºážááŒáẠáá®ážá¡ááẠá áááºááá¯á·á
- Frontend - áá á¬ážááá¬ážáá»á¬áž ááááºážáá»á¯ááºáá¬ážááá·áº áááááá¬áá»á¬ážá០Falcon áááºááá¯áẠááá¯ááºááá¯ááº
áá
áºáá¯áá»ááºážá
á®ááᯠááŒááºáááºážááŒáá¡á±á¬ááºá
ááááºážáá áºáá¯ááá±á¬ááºáá¶
áá±á¬ááºáá¶ááá¯ááºááᯠspring boot á¡ááá®áá±ážááŸááºážá¡ááŒá Ạá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááº- áááºážááœáẠá¡áá¬ážáá°ááá·áº ááááºážáá»á¯ááºáááááá¬áá»á¬ážá áœá¬á websocket á¡áá¯á¶ážááŸááºááŸáá·áº ááááºážáá¯áá¹ááááŸááá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬áž áá«áááºáááºá
Controller áá¯á¶ážáá¯áá¬ááŸááá²á·áááºá
- áá®áá«áááœááºá áááºááŸá Megatron á á¬áá»ááºááŸá¬ááᯠGET áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸáá áºááá·áº áá±ážááá¯á·áá²á·áááº- áá«áá«áááœáá·áºáá®ááŸáá·áº á¡ááŒá®ážááœááºá POST áá±á¬ááºážááá¯ááŸá¯ááŸáá áºááá·áº áá±áá¬ááŒáá·áº áá áºáááºáá²á·áááºá
- áááºážááá¯á·ááᯠá á¬áá»ááºááŸá¬á¡áááºááŒáá·áº áá±á¬ááºááœááºáá±ážááá¯ááºááẠtilde á á¬áá»ááºááŸá¬áá»á¬ážááᯠáá¯á¶áá±á¬áºááŒááºážá Tilde ááẠáá°áááºážá¡áááºáá»á¬ážááŒáá·áºááá¯ááºáá² ááŒááºááœááºáž ID ááŸáá·áº ááá¯ááºáá¬ááŸá¯ááá¯ááºáᬠá¡áá»ááºá¡áááºáá»á¬ážááŒáá·áº á á¬áá»ááºááŸá¬áá»á¬ážááᯠáá¯ááºáá¯ááºáááºá
- pseudo-high-load server captcha ááᯠáá±á¬ááºááœááºáá±ážáááºá¡ááœáẠCaptcha ááááºážáá»á¯ááºáááááá¬á
Websocket endpoint ááᯠgadgets áá»á¬áž- áá®ážáá»á±á¬ááºážáá»á¬ážá áááºážáá¯á¶ážááŸáá·áº á á¬áá¯á¶ážáá»á¬ážááᯠááááºážáá»á¯ááºááẠá¡áá¯á¶ážááŒá¯áá²á·áááºá á ááºááááºááŸáá¡ááŒá±á¡áá±á¡á¬áž áá á¬ážááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· áááŒáá¯ááºáááºážááŒáááẠááœá±ážáá»ááºáá¬ážáááº- áááºážááẠááœáá·áºáááºááŒá áºá á±á ááááºáá¬ážáááºááŒá áºá á± áááºááŒáœáááºááŒá áºá á± ááááºáááºááŒá áºá á± áá¶áá¶áá±á«áºááœáẠáá±á¬áá±á¬áááºáááºážáá±ááá·áº á á¬áá¯á¶ážá¡áá±á¬ááºááᯠááŒáááẠááœá±ážáá»ááºáá¬ážáááºá áá±áá¬ááœáá·áºááŒááºážáá¯ááºáááºážááᯠá¡áááºážáááºááá¯áááºáá²á á±áááºá¡ááœááºá áá°áá®áá±á¬ login ááŸáá·áº password admin/admin ááá¯á·ááŒáá·áº áááºážáá¯á¶ážááŸáá·áº áá±áá¬ááá¯á· ááœáá·áºááŒá¯áá»ááºáááºááá·áºáá«áááºá
áá á¬ážááá¬ážáá»á¬ážááẠáááºážáá¯á¶ážááá¯ááœáá·áºáᬠáá±áá¬ááŒáá·áº á¡áá¬ážáá°áááºáá¯ááºááŒááºážááŒáá·áº áááºážááᯠá ááºážáááºááá¯ááºáááºá
áááá¯á¡ááºáá±á¬ááœá±ážáá»ááºááŸá¯áá»á¬ážááŒáá·áº áá á¬ážááá¬ážáá»á¬ážá¡á¬áž ááŸááºážáááºážááŸáááºá ááºááŒááºážááá¶áá á±ááẠááá¯áá²á·ááá¯á·áá±á¬á¡áá±ážá¡ááœá² áá±á¬á·ááºá¡ááº-á áá¬ážááŸááºá¡ááœá²ááᯠáá»áœááºá¯ááºááá¯á·ááœá±ážáá»ááºáá²á·áááºá
áá¯ááºáááºážááᯠá¡áááºážááẠááá¯á áááºáááºá á¬ážááá¯á·áá±á¬ááºážá á±áááºá mongodb á០object ID áá»á¬ážááᯠá¡áááºážá¡ááœááºážááŸá device identifiers á¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá²á·áááºá
ObjectId ááœáẠá¡áá»áááºáá¶ááááºáá¯á¶ážáá áºáá¯áá«ááŸááááº- áá»áááºážáááºááá¯ážááŸá áºáá¯á áá áºáá¯ááẠá ááºáá á¹á ááºáž identifier ááá¯á¡ááŒá±áá¶á áááºážááá¯áá¯ááºáá±ážááá·áº áá¯ááºáááºážá ááºá pid ááŸáá·áº áááºááŒááºáááºááá¯ážá¡áá±á«áºá¡ááŒá±áá¶ááá·áº áá¯ááááááºááá¯ážáá»á¬ážá áá¯á¶ááŸááºááŒá¬ážáá¬ááá»á¬ážááŸáá·áº ááá°áá®áá±á¬ pid áá¯ááºáááºážá ááºáá»á¬ážááŒáá·áº áá¯ááºáá±ážáá±á¬ identifiers áá»á¬ážááᯠááŒá¯áá¯ááºááá¯áá±á¬áºáááºážá áá°áá®áá±á¬ áááºááŒááºáá áºáá¯ááŒáá·áº áá±áá¬áááááᬠidentifier ááá¯ááœá±ážáá»ááºááŒááºážááẠááá¯ááá¯á áááºáááºá á¬ážááœááºáá±á¬ááºážá á±ááẠáááºááœááºáá«áááºá ááá¯á·áá±á¬áºá á¡áá¯á¶ážááœááºá áá°ááá¯ááºážááẠáááºááŒááºáááºááá¯ážááœááºáᬠááœá²ááŒá¬ážááá·áº ááœá²ááŒá¬ážáááºááŸááºááŸá¯áá»á¬ážááŒáá·áº á áááºáá²á·áááºá áááºážááẠá¡ááá·áºááᯠááá¯ážááŸááºážááœááºážááŒá®áž objectId áááºáá±á¬ááºáá¯á¶á¡á¬áž ááœá²ááŒááºážá áááºááŒá¬ááẠáááá¯á¡ááºáá±á
áá±á¬ááºáá¶áá±á¬ááºážááá¯ááŸá¯áá»á¬ážá០áá¬áá¬ááŒááºáá°
áá¬ááºááœáŸááºážááẠRabbitMQ áááºážá á®ááŸáá·áº áá»áááºáááºáá¬ážááŒá®áž áááºážá á®á០áá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠArduino ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáááºá áááºážááẠparallel light switching á logic ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááº- á¡áá»áá¯á·áá±á¬áááááá¬áá»á¬ážááŸáá·áºá¡áá°á áááºážááá¯á·áá±á«áºááŸáá¡áááºážááá¯ááœáá·áºáá¬ážáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áº Megatron ááá¯á·áá«áá«ááá¯á¡á ááá¯ááºážááœááºáá±á¬ááºáá¶á·áá±ážáá±á¬á¡áá«á áááºážááá¯á ááºááŒáá·áºáá®ážááŒáá·áºáááºážá á±áááºá ááŒááºááœááºážáá áºáá¯áá¯á¶ážá áá¯ááºááŸááºááá¯ááºáá°ážááŸá¯á¡ááœáẠá¡áááºážáá±á¬áẠáá®ááá¯ááºážááẠáá»áœááºá¯ááºááá¯á·á ááá±á¬áá»áẠáá°ážááœá²áá¯ááºáá¯ááºáá°ááŸáá·áº áá¯ááºáá¯ááºáá° áá®ááá¯ááºáᬠIlya Serov á ááŒá®ážááŒááºáá±á¬ á¡áá¯ááºá¡ááŒá±á¬ááºáž áá®ážááŒá¬áž áá¬ááºáááºážááŒá áºááŒá®áž áááºážá¡ááŒá±á¬ááºážááᯠáá®ážááŒá¬áž ááá¯á·á áºááœáẠááŒá±á¬ááŒáá«áááºá
áá¬áá¬ááŒááºáá°ááẠá¡áá»áááºááá¯ááºážáááááá¬ááᯠá¡áá¯á¶ážááŒá¯á ááœá²ááŒááºážá áááºááŒá¬ááŒááºážááᯠá áááºáááºááŸáá·áº áá¯ááºáá¯á¶á¡á¬áž áá®áá®ááá¯á· ááá¯á·ááœáŸááºááŒááºážááá¯ááºáᬠáá¯áá¹áááá±áá¡ááœáẠáá¬áááºááŸááááº- áá¯ááºáá áºááŒááºážááᯠá áááºáááºá¡ááœáẠá¡áá»áááºááá¯ááºážáááááá¬á á¡á±á¬áºáá áºáá±áá±á¬ capybaraá ááááºážá¡áá¯á¶ážááœáẠááŒá±á¬áºááŒá¬áá áºáá¯ááŒá áºáááºá
Megatron ááá¯áááºááᯠáá¯ááºáá±ážááŒááºážá¡ááœáẠáá¯áá¹áááá±áááᯠáááºááá¯á·áááºáá±á¬ááºáá¬ážááááºážá
á ááºážáááºááá¯ááºáá»ááº
25 á
áá¹ááá·áºááá¯ááºážááœáẠááá¯áááºá¡áá
áºáá
áºáá¯áá¯ááºáá±ážááŒá®áž 10/10 áá«áá«ááŒáá·áº 255 á
áá¹ááá·áºááŒá¬ áá±áá¬ááá¯ááœáá·áºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ááá·áºááº
ááá¯á·áá±á¬áẠáá±áá¬ááẠ1 áááá áºááŒá¬á¡á±á¬áẠá¡á±ážááœá¬ážááẠ- á€á¡áá»áááºá¡ááœááºáž áááºážááẠááááá¯ááºáá² á¡áá áºá¡áá áºáá±á¬ ááá¯ááºáá»ááºáá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºááá¶áá«á
á€á áœááºážá¡á¬ážááẠááŒáá¯ážáá áºáá»áŸá±á¬ááºáá±á¬ááºáá»áœááºážááẠááá¯á¶áá±á¬ááºáá±á¬áºáááºáž áááºááá·áºáá á¬ážááá¬ážáááᯠMegatron ááᯠáá áºáááºááá¯ááºááŒá®áž áá±áá¬áá±á¬ááºááŒááºááᯠááŸá¯ááºááŸá¬ážááŸá¯ááœáẠááŒááºááœá±á·ááá¯ááºáááºá
ááá¯áááºááá¯áá¯ááºáá¯ááºááẠMD5 hashing algorithm ááá¯á¡áá¯á¶ážááŒá¯áá²á·áááºá ááŒá®ážáá±á¬á· á¡á á®á¡á á¥áºá ááŒá®ážááœá¬ážáááºá MD5 á០MD5 + áááºááŒáẠ+ áá»áŸáá¯á·ááŸáẠááá¯ááºááœá²ááá¯áááºá¡ááœááºááŸáá·áº á ááºážáááºááŸá¯ááá¯áááºá¡ááœáẠáá»áŸáá¯á·ááŸááºáá»ááºáááŸááá²á
MD5 ááẠáá»áœááºá¯ááºááá¯á·á áá»á±á¬áá±á¬ááºáá±á¬ááºáá¶ááŒá¯ Pavel áá¯ááºáá²á·áá±á¬ á á®ážááœá¬ážááŒá áºááá±á¬áá»ááºááᯠáááºááœáŸááºážáá«áááºá ááœááºáá²á·áá±á¬ááŸá áºá¡áááºážáááºá á€ááá±á¬áá»ááºááẠMD5 ááá¯á¡áá¯á¶ážááŒá¯áá²á·ááŒá®ážá áááºážááẠáá±ááºááá®áá±á¬á·áá±á¬ áá¯ááºááŸááºá áá áºááá¯ááºáᬠá¡ááºáááá¯áá®áááºáá áºáá¯ááŒá áºááŒá±á¬ááºáž ááá±á¬áá»ááºáááá¯áá¬ááá¯ááŒá±á¬áá±á¬á¡áá« MD5 á០MD5 ááᯠá áááºá¡áá¯á¶ážááŒá¯áá²á·áááºá Noob ááá±á¬áá»ááºááᯠááŒá áºááá¯ááºáá»á±á¡ááŸááá¯á¶ážááŒá áºá¡á±á¬áẠáá¯ááºááá¯á· áá¯á¶ážááŒááºááá¯ááºáá²á·á¡ááœááºá áá°á á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºááááŒá®áž á¡ááá¯ážá¡áá¬ážáá±ážáá áºáá¯áá¯ááºááá¯á· áá¯á¶ážááŒááºááá¯ááºáááºá
áá áºáááºááá¯ááºááá¯ááºáááºá
Megatron á ááá¯ááºááá¯ááºáá±ážáá¯ááºááẠ100% áá±áá¬áá«áá« 3 áááºááŒá áºáááºá áá«ážááŒááá¯ááºááᯠáá»áá¯ážáá»ááºááŒá®áž áá¬áá¬ááᯠáá±áá²á· áá±ááœáŸááºážááá¯á· á¡áá±ážáá»áááºááᯠááááºážáá¬ážáá²á· ááŒáá¯ážááᯠááŒááºááá¯á· á áááá áºáá±á¬áẠáá¯á¶áá±á¬ááºáá«áááºá
ááá±á¬áá»ááºá Github ááœáẠá¡ááááºá¡ááŒáœááºá¡áááºážáááºáá»ááºáá¬ážáá²á·áááº- á¥ááá¬á¡á¬ážááŒáá·áºá á ááºážáááºááŸá¯ááŸáá·áº ááá¯ááºááá¯ááºáá±ážááá¯áááºáá»á¬ážááᯠáá°áá®áá±á¬ áááºááŒááºááœáŸááºááŒáá»ááºáá±á«áºááœáẠá¡ááŒá±áá¶á áá¯ááºáá¯ááºáá¬ážááŒá±á¬ááºáž áá¬ážáááºááá¯ááºááá·áº ááá¯áááºáá»áá¯ážáááºáá¯ááºá ááá¯ááºááá¯ááºáá±ážááá¯áááºáá áºáá¯ááœááºá áá±á¬ááºáá¬áááºááá¯ážá¡ááŒááºá á€á¡áá»ááºááá¯ááŒá±á¬ááºážáá²ááŒááºážáááá¯ááºážááœáẠáá¯á¶ážááá®ážáá«ážáá»ááºáá²á·áá±á¬ áá¬ážááá¯áááºáž á¡áá¯á¶ážááŒá¯áá«áááºá
á€áá±áá¬ááᯠááááŸáááŒááºážááŒáá·áº áá¬ážá áá±á¬ááºáá¯á¶ážáááºá¹áá±á 2 áá¯ááᯠá á®á á áºááá¯ááºááŒá®áž Lost á០áá¶áá«ááºáá»á¬ážááᯠááá¹ááááááºážááááºážá áá áºááá¯á· ááŒá±á¬ááºážáá²áᬠáááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºáž á¡ááŸááºáááẠááááŸáááá¯ááºáááºááŒá áºáááºá
ááá¯á·áá±á¬áẠáá á¬ážááá¬ážáá»á¬ážááẠáá±á¬ááºáá¬áááºááá¯áž (á ááºážáááºááŸá¯ ááá¯áááºááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááŒááºážááŒáá·áº) áááºážáá°áááŒá®áž ááááºá¡ááá·áºááœáẠááœá±ážáá»ááºáá¬ážáá±á¬ áá¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºááœá²ááá¯áááºáá áºáá¯ááᯠáá¯ááºáá±ážááááºááŒá áºáááºá
á ááºážáááºááŸá¯áá áºáá¯á á®ááŸáá·áº 25 á áá¹ááá·áºááá¯ááºážááœáẠáá±á¬ááºáá¬ááẠááá¯ážááŸááºážá áœá¬ááá¯ážáá¬áááºá áá®á¡ááŒá±á¬ááºážááᯠáááºááŸá¬á០ááá±ážáá²á·áá°ážá áá«áᬠáá±ážáááºáá²á· ááááºážáá áºáá¯ááá¯á· áá°áááá«áááºá
Captcha á¡ááŒááºá¡ááŸááºáááºáá±á¬ááºááŸá¯
ááááºážáá±á¬áááœááºá áááºážááẠáááºáá¬ááá¯ááœáá·áºáᬠá á¬ááœááºá á¬áááºážááᯠá¡ááááºá¡ááŒáœááºááœáá·áºáááºá¡ááœáẠáááºáá±á¬ááºáááá·áº á¡áá¬ážáá° captcha ááŒá áºáááºá áááºááá¬áá±ážááœáẠload monitoring áá«ááŸáááá·áº áááºááºáá±á¬á·áá áºáá¯á¶ážááŸááááºá
ááŒá®ážáá²á·áá±á¬ 5 á áá¹ááá·áºá¡ááœááºáž captcha ááá¯ááŒáááẠáá±á¬ááºážááá¯áá»áẠ50 áá»á±á¬áºááŸááá²á·áá«áá áááºááẠáá¯á¶áá± + áá»áááºážááŒá±ááŸááºážá¡áá±á¡ááœááºááŒáá·áº ááá¯ážáá¬áááºá ááœááºáá»ááºááŸá¯á¡á 100% load ááᯠááŸá áºáááá áºá¡ááœááºáž á¡á±á¬ááºááŒááºááá¯ááºáááºááŒá áºáááºá
á¡ááŸááºááŸá¬á áá±á¬ááºáá¯á¶ážááááºážááœáẠááŒááá¬ážáááºááẠáááºáá±á¬ááºááŸá¯ááœáẠáá¯áá¹ááááá¯ááŸááá«áááº- CPU Fan á áááºáááºááŸá¯ááá¯áᬠááŒááºááá¯ááºááá·áºáá¯á¶á á¶ááŒáá·áº áá±á¬áºáá®áá¬ááᯠáá»áá¬ážáá«áááºá
á á°ážá ááºážááŸá¯á¡á ááœáẠáá°ááá¯á·ááẠFalcon áááºááá¯ááºá០Grafan ááᯠáá»ááºáá¬ážáá²á·ááá¯ááŒáááºá ááá¯á·áá±á¬áº áááºážááœáẠáá»áœááºá¯ááºááá¯á· ááŸááºážáááºážááẠá¡áá»áááºáááŸááá±á¬ backend á¡ááá®áá±ážááŸááºážá¡á á®áááºáá¶á á¬á០springboot metrics áá»á¬ážáá«áááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠáááºáá±á¬ááºááœáá·áºááᯠááááºááá¯á·ááẠáá¯á¶ážááŒááºáá²á·áááºá ááŸááºáá«áááºá á á°ážá ááºážááŸá¯áá²á·á¡á ááŸá¬áá±á¬áẠá¡áá»áá¯á·áá á¬ážááá¬ážááœá±á áá»áŸá±á¬ááºááœáŸá¬ááᯠspringboot framework ááŸá¬áá±ážááŒá®áž á¡áá»áá¯á·áááºáá±á¬ááºááŸá¯ááœá±áá²á· áá¬áááºááœá±ááá¯áá±á¬áẠáá°ážáá±á¬áºáá²á·áááºááá¯á· ááá·áºááŸááºážááŒáá«áááºá
Hosting ááŸáá·áº data bus
áá±á¬ááºááœááºá០á¡áá»ááºá¡áááºáá»á¬ážááᯠááá¯ááºááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠáááááá¬áá áºáá¯á RabbitMQ áá¯ááºáá±á¬ááºáá±ááá·áº VPS áá¬áá¬á
áá»á±á¬áá±á¬ááºáá±á¬ááºáá¶ááŸáá·áº áá±áá¬áááºá
áºááᯠáááºáááºáá¬ážááŸááá²á·áááºá
áá¬áá¬ááᯠDDoSa ááŸáá¬ááœááºááẠCloudflare ááá¯á¡áá¯á¶ážááŒá¯áá²á·áááºá
VPS ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¯ááºáá°á áœá¬ááŒáá·áº áá¶ááá¯ááºáááºááŸááá²á·áááºáᯠááá¯ááá»áá¯ážáááºáááºá
relays áá»á¬ážááᯠááááºážáá»á¯ááºááẠáá¬áááºááŸááá±á¬ Arduino ááẠáá¬áá¬ááŒááºáá°áá¶á០á¡áááá·áºáá»á¬ážááᯠáááºáá¶áááŸáááŒá®áž á¡ááŸááºáááẠá¡áá¯ááºááŒá áºáá²á·áá«áááºá
áááºážááẠááá±á¬áá»ááºá áá¬á·ááºáá²á¡á áááºá¡ááá¯ááºážá¡ááŒá±á¬ááºáž áá±á¬ááºáá±á¬ááºážáá«ážá áá±á«ááºážá ááºááŒá áºáááºá áá±á¬ááºáá¶áá°ááẠáááá»áá±á¬ relay ááá¯ááœáá·áºááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠááá¯ážááŸááºážá áœá¬ áá±ážááá¯á·áá²á·áááºá áá±á¬ááºáá¶áá°ááẠá¡áá¬ááá¹áá¯á¡á¬ážáá¯á¶ážáá®ážáá«ážááᯠááááŸáááŒá®áž áááºážááŸáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠ"á€á¡áá¬á¡á¬ážááœáá·áºáááº" ááŸáá·áºáá°áá±á¬ááŒá±á¬áá·áº ááá¯ááá¯á·ááŒá áºáá²á·ááááºá ááá¯ááºááᯠá¡á á±á¬ááá¯ááºážá ááºážáááºááŸá¯á¡ááœáẠáá«ááá¯áá¯ááºáá²á·ááẠ(áá»áœááºáá±á¬áºááá¯á· Arduino áá²á· relays á¡á¬ážáá¯á¶ážááᯠáá á¯áááá±ážáá«áá°áž) á¡áá¯á¶ážááŸá¬áá±á¬á· á¡á²áá®á¡ááá¯ááºáž á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¬ážáá²á·áá«áááºá
ááŸá±á·ááá¯ááºáž
áá»áœááºá¯ááºááá¯á·ááẠtilde ááœáẠááá¯ááºááᯠáá»ááºááŒááºá áœá¬ áááºáá®ážáá²á·ááŒá®áž áá áºáááºáᬠá¡áá¯ááºáá¯ááºááŒá®áž áá»áœááºá¯ááºááá¯á·ááááºáá»ááºááœáẠ30 ááᯠáááºáá¬á á±áá«áááºá
á¡á ááá¯ááºážááœááºá áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºááᯠááá¯ážááŸááºážá áœá¬ áááºááá¯á·ááŒá®áž áá»áœááºá¯ááºááá¯á· áá»á±á¬ááºáá¯á¶ážáá±áá±á¬ áá¯áá¹áááá±áááᯠáá±á«ááºážááá·áºááẠááœá±ážáá¬ážáá±á¬áºáááºážá á€á¡áá¬ááᯠáá¯ááºáá±á¬ááºááŒááºážá០áá»áœááºá¯ááºááá¯á·á¡á¬áž áá¬ážááŒá áºáá¬ážááá·áº á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááŸáá·áº ááŒá¯á¶ááœá±á·áá²á·ááááºá
áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºá ááºááá¯áá»áá¯ážáá±á¬ááºááẠá¡áááºááá·áºáááŒá áºáá±ážáá±á¬ááŒá±á¬áá·áº ááœá±ážáá»ááºá áá¬ááŸá áºáá¯ááŸááááº- á¡áá¬á¡á¬ážáá¯á¶ážááᯠááá¯ááºááá¯ááºá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááá¯á·ááá¯áẠTilda ááᯠááá¯ááºááá¯ááºáááºááœááºáááºá ááá±á¬áá»ááºá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážááŒá®áž áá¯ááºááŒá±á¬ááºážááẠááœáá·áºááŒá¯áá»ááºáá±á¬ááºážáá«á
áá»áœááºá¯ááºááá¯á·ááẠáá¯áááááœá±ážáá»ááºááŸá¯ááᯠááœá±ážáá»ááºáá²á·ááŒá®áž áááºážááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºážáá áºáááºááœáẠááœá±á·áá¯á¶áá¯á¶áá¬áááá² á¡ááá²á·á á®ážááœá¬ážáá±ážá¡áá±á¬áá·áºáá áºáá¯ááá¯áááºáž áá áºááŸá áºáá±ážá áááºážááá¯á·ááᯠá¡ááœááºáá»á±ážáá°ážáááºáá«áááºá Sokol á áááºááá¯áẠáá®ááá¯ááºážááᯠáááºážááá¯á·á¡á¬áž ááŒáááŒááºážááẠá¡ááœáẠá¡áááºáááŒá±áá²á·áá«á
ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±áá¶á ááºáá á¹á ááºážáá»á¬ážáᶠáá±á¬ááºážááá¯ááŸá¯áá»á¬ážáá±ážááá¯á·áááºá¡ááœáẠááŸá±á·áááºážááœáẠjs áá±á¬á·áá»á áºááᯠáá»áááºáááºáá¬ážááŒá®áž ááááºážááŒááºá ááºáá»á¬ážááᯠá¡ááœáá·áºá¡ááááºáá¯ááºáááºá¡ááœáẠááá¯ááºáá»á¬ážá á ááá¯ááºáá»á¬ážááᯠá¡áááºážáááºááŒá±á¬ááºážáá²áá¬ážáá«áááºá
áááºááá¯ááºáá®ááá¯ááºáž
ááŸá¬ááœá±ááŸá¯áá»á¬ážááááá¯ááºážá áá®ážááŒá¬ážá¡áááºážáá áºáá¯áááºááá¯ážááŸááá±á¬á
áá»áœááºá¯ááºááá¯á·ááẠáá±ááºááá®áá±á¬ááá¯ááºáá áºáá¯áá¬áá áá®ááá¯ááºážá¡ááŒá±áá¶á ááºážáá»ááºážá¡á¬ážáá¯á¶ážááᯠáá»áá¯ážáá±á¬ááºááá·áº áá¯á¶ážáááœá¶ááŸá¬ááœááºáá±á¬ááºážáá±á¬ áááºááºááá¯ááºáá áºáá¯ááᯠáááºáá®ážáá»ááºáá«áááºá áá áºáá»áááºáááºážááŸá¬áááºá áá¯á¶ááŒááºááá¯ááºááŸá¯ááᯠááááºážááááºážáá¬ážááẠá¡áá±ážááŒá®ážáááº- áááºážááẠENT áá¬ááºáááºážááᯠááá»ááºáá²á á á¬áá±ážááá¬á áááºáá±á¬ááºááŸá¯ááᯠááá¯ááºááŒááẠááá¯á¡ááºááŒá®áž áá á¬ážááá¬ážáá»á¬ážááẠááᯠsite áááºááŸáááá¯ááºáááºááŸáá·áºááẠáá±á¬ááºáááºáá»á¬ážááá¯ááẠáá°áá±á¬ááºáá¬áááºáᯠáá¯á¶ááŒááºááááºááŒá áºáááºá áá±á¬ááºáá²á·áá±áá ááááºážáá á¬ážáá±á ááºááœáẠáááºááá¯ááºáá»á¬ážáááºáá®ážááẠáá»áœááºá¯ááºááá¯á·ááᯠááŸá áºááŒáááºáááºááœááºáá²á·áááºá
ááááá±á¬á· áá»áœááºáá±á¬áºááá¯ááºááá¯áẠáá®ááá¯ááºážááœá²ááŒá®áž gif áá²á· áá±á¬ááºááŒá±á¬ááºáá²á· á¡á áááºá¡ááá¯ááºážááœá±ááᯠááá¯ááá·áºááá¯á· ááŒáá¯ážá á¬ážáá²á·áááºá áá«áá±ááá·áº áá ááŸá áºááŒá¬áá²á· áá®ááá¯ááºáá¬áááºááœááºážáááºá áá°á·ááá¯á¶ážááᯠááŒáá·áºááŒá®áž âáá±á¬ááºážááœááºážáááºâ ááá¯á· ááŒááºážáááºá áá®ááá¯ááºážá ááºážáááºážáá»á¬ážááᯠáá±á¬ááºáá»ááºááẠáááºážááá¯á·ááᯠáááá¬ážááẠááá¯á¡ááºáááºá
á¡á
áááºážááŸáá·áº á¡áá®á áá®ážááá¯ážáá±á¬áẠááŸáá·áº áááºážáá±á¬áẠá á¡ááŒá¬ ááŸáá·áº á¡ááᯠá á¡ááŒá¬ ááŸáá·áº á¡ááᯠááá¯á·ááᯠááŒá
áºáá±á«áºá
á±áá±á¬ ááŒá¬ááŸááºáᶠá
ááºáá¯ááºááœáẠáá¶á
á¬ážááŸá¯ ááᯠááŒá
áºáá±á«áºá
á±áá±á¬ á¡áá±á¬áẠáá±á«ááºážá
ááºááŸá¯ á¡áá»á¬ážá¡ááŒá¬áž ááŸááá«áááºá á¡áá¯á¶ážááœááºá á¡ááŒá±áá¶á¡áá±á¬ááºáá»á¬ážá¡ááŒá
Ạá¡áá®ááŸáá·áºá¡á
áááºážááᯠááŒá±á¬ááºáá
áºáá±á¬ááºááŸáá·áº gifs áá±á«ááºážááá·áºáᬠá
áá±á¬á·áá¬ááºáá¯á¶á០Sokolov á áá¬ááºáá¯á¶ á-á áá¯á¶á¡á¬áž ááœá±ážáá»ááºáá²á·áááºá áá»áœááºá¯ááºááœáẠááá¯á¡ááºáá»ááºá¡áááºážáááºáá¬ááŸááá«áááº- áá°áááºááá¯ááºážá¡ááœáẠá¡áá»áá¯ážáá¬ážáá
áºáŠážááẠá¡ááœááºá¡á
á¬ážá¡ááœááºááŒá®ážáá±á¬á
á¯á¶ááœá²áá
áºááœá²ááŸáá·áº "ááá±á¬áºáááºááŸááºáááºá
áá°áá®ááá¯áá¬ááºáá¯á¶ááá¯ááºáá°ážááŒááºáž" ááá¯ááºáááºá¡áá±á¡áá¬ážááœáẠáááºáááºáá¬ážáá±á¬ áá°áááºááá¯ááºážáá
áºáŠážááŒá
áºáááºá á
á¬áá±ážááœá²á¡ááœáẠáá°áááºáá»ááºážááœá±ááᯠááŒááŒá®áž "áááºážáááºááá¯ááŒáá¯ááºáá²" ááá¯á·áá±ážáááºá
áá®ááá¯ááºážáá±ážááœá²ááŸá¯ áá¯ááºáááºážá ááºá¡ááœááºážá áá»áœááºá¯ááºááááºááœááºážááẠáá¬áá®áááºááá¯ááºáž áá²áá»á±á¬ááºážáá±áááŒá®áž ááááºáá¬ááºááẠá áááºáá»á¶áááºážáá²á·áááºá Pasha ááẠáá°á·áá»ááºáá¯á¶ážáá»á¬ážááᯠáá¬ááœááºááẠááŸá±á·áááºážááᯠááŒá®ážááœá¬ážáá»áááºááœáẠáááºáá¬ážááŒááºá¡áá»á¬ážá á¯ááœáẠdeveloper ááœááºááá¯ážááºááᯠááœáá·áºááẠááŒáá¯ážá á¬ážáá²á·áááºá
á¡ááŸááºáááẠá ááºáá á¹á ááºážáá»á¬áž
áááºáá¬áá»á¬ážááŸáá·áº áá®ážáá»á¬ážááᯠáá«áá«á¡ááŒáá·áºááŒáá·áº áá»ááºáá»ááºážáááœáá·áºááá¯ááºá¡á±á¬áẠSolid-state relays áá»á¬ážááŒáá·áº áááºáááºáá¬ážááẠ- ááá¯á·ááŒá±á¬áá·áº á á±á¬áá·áºááŒáá·áºááŒááºážááŸáá·áºá¡áá° áá«áá«ááá¯ážáá¬áááºááŒá áºáááºá
áá«áá±ááá·áº ááááºážáá²á· áá¬á·ááºáá² á¡ááá¯ááºážáá²á· ááá¯ááºáá²á· á¡ááŸááºáááẠáááºáá±á¬ááºááŸá¯ á¡ááŒá±á¬ááºáž áá®á¡ááŒá±á¬ááºážááᯠáá±á¬ááºááá¯á·á áºááŸá¬ ááœá±ážááœá±ážáá«áááºá
áááºááŒá®ážáá¬ážáá±á¬ááºáá«!
áá¬áá¬ááá¯áá»ááºá á®ážáááºááŸá¬ááœá±ááŸá¯á¡ááŒá±á¬ááºáž á¡ááŒá¬ážáá±á¬ááºážáá«ážáá»á¬áž
ááááºáž Start ááᯠááá á¡ááááºá¡ááŒáœáẠáá»ááºá ááºááᯠáááºáá°á áááºááá¯ááºááá² áá«ááŸááá¯áẠáá¬áá¬ááᯠáá»ááºáá®ážááŒá®áž á á°ážá ááºážááŸá¯ááᯠááŒá®ážá¡á±á¬ááºáá¯ááºááá¯á· áááºááá¯ááá¯á¡ááºáá²á
source: www.habr.com