рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдШрд░ рдкрд░ рд╢рд░рд╛рдм рдХреА рднрдареНрдареА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдЖрдкрдХреА рд╢рд░рд╛рдм рдХреА рднрдареНрдареА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХреБрдЫ рдмрдбрд╝рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдПрдХ рдЦреЛрдЬ рдХрдХреНрд╖ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВ, рдПрдХ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдлрд╡реНрд╡рд╛рд░рд╛ рдЬреЛ рдмреВрдВрджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд┐рддреНрд░ рдкреЗрдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдмрдбрд╝реА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рджрд░реНрд╢рдиреА рд╕реНрдЯреИрдВрдбред рдЖрдк рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╕рдм рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИ рдХрд┐ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЧреНрд░рдВрдерд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЛрдбрд╛рдВрддрд░рдХ, рд╕реА / рд╕реА ++ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╕реНрдореГрддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдФрд░ рдмрд┐рдЬрд▓реА рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдПрдХ рдмрд╛рд░ рдпрд╣ рдерд╛, рд▓реЗрдХрд┐рди рддрдХрдиреАрдХ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдЕрдм рдЗрд╕рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ JS рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ!

рдареАрдХ рд╣реИ, рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ? рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд▓реЛрд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ? рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдореЗрдВ, рдлреНрд░рдВрдЯреЗрдВрдбрдХреЙрдиреНрдлрд╝ рдореЗрдВ рд╡рд┐рдХреНрдЯрд░ рдирд╛рдХреЛрд░реАрдХреЛрд╡рд╛ рд╕реАрдЦреЗрдЧрд╛: рдХреИрд╕реЗ, рдХреЗрд╡рд▓ рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕рд░реНрд╡реЛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреАрд╕реА рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЬреЗрдПрд╕ рдкрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╣рдо рд╕реАрд░рд┐рдпрд▓рдкреЛрд░реНрдЯ рдФрд░ рдлрд░реНрдордЯрд╛ рдкреИрдХреЗрдЬ, рд╕реА ++, рдПрд╕рдкреНрд░рд┐рдиреЛ рдореЗрдВ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рд╕реАрд░рд┐рдпрд▓рдкреЛрд░реНрдЯ рдФрд░ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЬреЗрдПрд╕, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ, рдПрдЪрдЯреАрдЯреАрдкреА рдкрд░ рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдХреНрд▓рд╛рдЙрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
рд╡рд┐рдХреНрдЯрд░ рдирд╛рдХреЛрд░рд╛рдХреЛрд╡ (
рдиреЗрд▓рдХреНрд╕ ) - рддрдХрдиреАрдХреА рдирд┐рджреЗрд╢рдХ, рдПрдореНрдкрд░рдХрд╛ рдХреЗ рд╕рд╣-рд╕рдВрд╕реНрдерд╛рдкрдХред рд╡рд╣ рдЙрдиреНрдирдд рд╡рд┐рдХрд╛рд╕ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рднреМрддрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред рдПрдореНрдкрд░рдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдмрд┐рдХреНрд░реА рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЧреИрд░-рдкреЗрд╢реЗрд╡рд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛ рд╕рдХреЗрдВ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд┐рдЯ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдЬреЛ рдЙрдирдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдореЛрдЯрд░реНрд╕, рдЬреАрдкреАрдПрд╕, рдПрд╕рдПрдордПрд╕ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдБ
Espruino рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИред Espruino рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрдкрдХреЛ рд╕реАрдзреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ JS рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╕реНрд╡рд╛рдпрддреНрдд рдЪреАрдЬ рд╣реИ: рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛, рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ GPIO рд╡рд╛рд▓рд╛ рдПрдХ рдЫреЛрдЯрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИред
рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ , рдлреНрд░рдВрдЯрдПрдВрдб рдпрд╛ рдмреИрдХрдПрдВрдб рдкрд░ред
рдореИрдВ рдПрдХ рдореЗрдВрдврдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдЕрдкрдиреЗ рдлреЛрди рд╕реЗ
toad.amperka.ru рдкрд░ рдЬрд╛рдПрдВ - рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдмрд╛рдпрд╛рдВ рд╕реНрддрдВрдн рдмрд╛рдИрдВ рдЖрдВрдЦ, рджрд╛рдПрдВ - рджрд╛рдПрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд░рд▓ рд╣реИ - рдореИрдВрдиреЗ рдмрдЯрди рджрдмрд╛рдпрд╛, рдЗрдорджрд╛рджреА рдореЛрдЯрд░ рдЖрдВрдЦ рдореЛрдбрд╝рддреА рд╣реИред
рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рджреМрд░рд╛рди рдореЗрдВрдврдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдВрдб рдХрд╛
рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рдиред
рдореЗрдВрдврдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЬрдм рдЖрдк toad.amperka.ru рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдерд┐рд░ JS рд╡рд╛рд▓рд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╡реЗрдм рдкреЗрдЬ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ
MQTT.js рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреНрд▓рд╛рдЙрдб рдореЗрдВ MQTT рдмреНрд░реЛрдХрд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреА рд╣реИред

рдпрджрд┐ рдЖрдк Redis, Publish / Subscribe, RabbitMQ рдпрд╛ рдЕрдиреНрдп рд╕рдВрджреЗрд╢ рдХрддрд╛рд░реЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рддреБрд░рдВрдд рд╕рдордЭ рдЧрдП рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛ред
MQTT рдПрдХ рдорд╢реАрди-рдЯреВ-рдорд╢реАрди рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╣реИ ред рд╣рд▓реНрдХреЗ рдФрд░ рд╕рд░рд▓ рддрд╛рдХрд┐ рдХрдордЬреЛрд░ рдЧреНрд░рдВрдерд┐рдпрд╛рдВ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред
MQTT рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдмреНрд░реЛрдХрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рдЙрдард╛рдирд╛ рднреА рдирд╣реАрдВ рд╣реИ - рдЗрд╕реЗ рдХрд┐рд░рд╛рдП рдкрд░ рджреЗрдирд╛ рд╣реИред рдПрдХ рдорд╣реАрдиреЗ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдПрдордХреНрдпреВрдЯреАрдЯреА рдмреНрд░реЛрдХрд░ рд╣реЛрдЧрд╛ред рдХреЛрдИ рдмреИрдХрдПрдВрдб рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рджреВрд╕рд░реА рдУрд░, MQTT рдмреНрд░реЛрдХрд░ рд╕реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рд╡рд╛рдИ-рдлрд╛рдИ рд╕реНрд▓реЙрдЯ ред рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ рдЬреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд▓реЛрдХрдкреНрд░рд┐рдп рдИрдПрд╕рдкреА 8266 рдЪрд┐рдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛ-рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рдЬрд▓реА рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд░рд┐рдкрд▓ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ред
рдЬреЗрдПрд╕ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рдХрд░реЗрдВ
рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдХреБрдЫ рднреА рдирд╣реАрдВ, рдЬреЗрдПрд╕ рдирд┐рдпрдорд┐рдд - рд▓рдЧрднрдЧ рдкреВрд░реНрдг рдИрдПрд╕ 6ред рдХреБрдЫ рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╡рд┐рджреНрдпреБрдд рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рдореНрди рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рд▓ рдбрд┐рдЬрд┐рдЯрд▓ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпред
digitalRead - рдбрд┐рдЬрд┐рдЯрд▓ рд░реАрдбрдЖрдЙрдЯ ред рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ: "рдХреНрдпрд╛ рдкрд┐рди рдирдВрдмрд░ 4 рдкрд░ рддреАрди рд╡реЛрд▓реНрдЯ рд╣реИрдВ?" рдпрджрд┐ рд╡реЛрд▓реНрдЯреЗрдЬ рд╣реИ, рддреЛ рдпрд╣ TRUE рд▓реМрдЯрд╛рдПрдЧрд╛; рдпрджрд┐ рдирд╣реАрдВ, рддреЛ FALSEред рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдЗрдирд░реА рд╕реЗрдВрд╕рд░ рдХреЗ рдкрдврд╝рдиреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдмрдЯрди, рд╕реНрд╡рд┐рдЪ, рд░реАрдб рд▓реЙрдХ рдФрд░ рдЗрдВрдлреНрд░рд╛рд░реЗрдб рдореЛрд╢рди рд╕реЗрдВрд╕рд░ред
digitalWrite рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбрд┐рдЬрд┐рдЯрд▓ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╣реИ ред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ digitalWrite TRUE - 3V рдкрд┐рди рдХреЗ рд╕рд╛рде рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ digitalWrite FALSE - 0Vред рдЗрд╕ рд╕рд░рд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдк рдХреЛ рдмреБрдЭрд╛ / рдмреБрдЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкрд░рдорд╛рдгреБ рдорд┐рд╕рд╛рдЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд░рд┐рд▓реЗ рдХреЛ рдПрдХ рдХрдордЬреЛрд░ рд╕рдВрдХреЗрдд рднреЗрдЬрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рднрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдФрд░ рд░реЙрдХреЗрдЯ рдЙрдбрд╝ рдЧрдпрд╛ред
0 рдФрд░ 3V рдХреЗ рдмреАрдЪ рдордзреНрдпрд╡рд░реНрддреА рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рд░реНрдп рд╣реИрдВ:
- analogRead;
- analogWrite;
- setWatch;
- digitalPulseред
рдХрдорд╛рдВрдб рдЖрдкрдХреЛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреНрд╡рд┐рд╕реНрдЯ рд╕реЗ рдкреВрдЫрддрд╛рдЫ рдХрд░рдиреЗ рдФрд░ рдлрдЬреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдПрдВ рдЖрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд╡реЗрдм рдкрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ HTTP, WebSocket, TCP рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣реИ:
- рд╕реАрд░рд┐рдпрд▓ - рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ;
- I2C рдмрд╕
- рдПрд╕рдкреАрдЖрдИ рдмрд╕
- рд╡рдирд╡рд╛рд░ рдмрд╕ред
рд╕рд░реНрд╡реЛрдореЛрдЯрд░ рдХреЛ рдХреИрд╕реЗ рдХрд┐рдХ рдХрд░реЗрдВ
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд╛рдЗрдкреЛрдбрд░реНрдорд┐рдХ рдореЗрдВ рдЦрдбрд╝реА рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдореЛрдЯрд░ рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореЛрдЯрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рд░рд▓ рд╣реИред 0V рдирд┐рдпрдВрддреНрд░рдг рдкрд┐рди рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ - рдирд┐рдЪрд▓реА рд╕реАрдорд╛ред рдПрдХ рдмрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ 20 ╬╝s рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ 3V рдХреА рдПрдХ рд╕реНрдерд┐рд░ рдЗрдХрд╛рдИ рджреЗрддреЗ рд╣реБрдП, рдХрд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж - 0 рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рдпреВрдирд┐рдЯ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд░реЛрдЯреЗрд╢рди рдЧрддрд┐ рдорд┐рд▓рддреА рд╣реИред 1,500 ╬╝s рдХреА рдирд╛рдбрд╝реА рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде, рдореЛрдЯрд░ рдЕрднреА рднреА рдЦрдбрд╝рд╛ рд╣реИред рдЬрдм рдПрдХ рджрд┐рд╢рд╛ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рд╡рд┐рдЪрд▓рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рджрдХреНрд╖рд┐рдгрд╛рд╡рд░реНрдд рдпрд╛ рд╡рд╛рдорд╛рд╡рд░реНрдд рдШреВрдорддрд╛ рд╣реИред рд╡рд┐рдЪрд▓рди рдХрд╛ рдкрд░рд┐рдорд╛рдг рд░реЛрдЯреЗрд╢рди рдХреА рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреИрд╕реЗ рдХрд░реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо
Espruino рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЙрд╕реА рдирд╛рдо рдХреЗ Espruino IDE рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛ-рдХрдВрдЯреНрд░реЛрд▓рд░ рдмреЛрд░реНрдб рдорд╛рдЗрдХреНрд░реЛ-рдпреВрдПрд╕рдмреА рдХреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ 1.5 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрд╡рд░ рдореИрдХ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕рдм рдХреБрдЫ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдПрдХ рдХреНрд▓рд┐рдХ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдПрдХ рдмрд╛рд░ рдПрд▓рдИрдбреА рдХреЛ рдЭрдкрдХрд╛рддрд╛ рд╣реИ:
var on = false; setInterval(function() { on = !on; LED1.write(on); },500);
рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдмрд╛рдИрдВ рдУрд░ REPL рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИред "1 + 1" рджрд░реНрдЬ рдХрд░реЗрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ "2"ред рдЪрдорддреНрдХрд╛рд░!
рдЪрдорддреНрдХрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдЦреНрдпрд╛ "1", "+" рд╕рдВрдХреЗрдд рдФрд░ рдЕрдЧрд▓реА рдЗрдХрд╛рдИ рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреА рд╣реИред рдЬрдм рдЖрдк ENTER рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдиреЗ "2" рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред "2" рдореЙрдирд┐рдЯрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рд╕рд╛рде рдордиреЛрд░рдВрдЬрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдореЛрдЯрд░реНрд╕ рдХреЛ рд╕реНрдкрд┐рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдПрдирд╛рд▓реЙрдЧрд╡рд░реНрдЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдПрдХ рдЪреМрдХреЛрд░ рддрд░рдВрдЧ рднреЗрдЬрддрд╛ рд╣реИред рд╣рдо рдХреНрдпрд╛ рдкрд┐рди рдкрд░ рдПрдХ рд▓рд╣рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдмреЛрд░реНрдб рдкрд░ рдП 7 рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдЕрд╡рдзрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 20 000 ╬╝s рдореЗрдВ рд╕реЗ 1300 ╬╝s рд╣рдо рдПрдХ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрд╡рд╢реНрдпрдХ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдЗрд╕ рдХрд┐рдХ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ - рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 50 рдмрд╛рд░, рдпрд╣ 20,000 ╬╝s рд╣реИред
>analogWrite(A7, 1300 / 2000, {freq: 50}} =undefined >
рд╣рдо 1500 рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗ - рд╣рдо рдЕрдзрд┐рдХ рдЧрддрд┐ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рджрд┐рд╢рд╛ рдореЗрдВ рд╕реНрдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВрдЧреЗред
>analogWrite(A7, 2300 / 2000, {freq: 50}} =undefined >
рдпрд╛ рдХрд╣реЛ рд░реБрдХ рдЬрд╛рдУред
>digitalWrite(A7, 0) =undefined >
рд╕рдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╛рд╣рд░реА рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рдмрдЯрди, рд╕реЗрдВрд╕рд░ рд░реАрдбрд┐рдВрдЧ - рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд░реЗрдВрдЧреЗред
рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЛрд╣реЗ рдХреЗ рд▓рд┐рдП, рдЫреЛрдЯреЗ рд╕реЗ рд▓реЗрдХрд░ рд╡рд┐рд╢рд╛рд▓ рддрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдЙрдирдореЗрдВ рд╕рднреА рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдПрдирдПрдлрд╕реА рдЯреИрдЧ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝реЗрдВ, рдкреАрдкреАрдПрдо рдореЗрдВ рдХрд╛рд░реНрдмрди рдбрд╛рдЗрдСрдХреНрд╕рд╛рдЗрдб рдПрдХрд╛рдЧреНрд░рддрд╛ рдкрдврд╝реЗрдВ, рдпрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВред
- servo.write;
- barometer.init;
- barometer.read;
- barometer.temperature;
- nfc.listen;
- nfc.on ('рдЯреИрдЧ', ...);
- nfc.readPage;
- nfc.writePage;
- relay.turnOn;
- relay.turnOff;
- gas.calibrate;
- gas.read ('CO2');
- telegram.sendMessageред
рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрдорд╛рдВрдб рдХреЛ рд╕рдордЭрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдЧреНрд░рд╛рд╣рдХ рдХреЛрдб
рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдореЗрдВрдврдХ рдореЗрдВ рдмрд╛рдПрдВ рдпрд╛ рджрд╛рдПрдВ рдХреЙрд▓рдо рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЬрд┐рд╕ рдореВрд▓реНрдп рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд░реНрд╡реЛ рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдЯреЙрдкрдб / рдЖрдИ / рд▓реЗрдлреНрдЯ рдпрд╛ рд░рд╛рдЗрдЯ рд╡рд┐рд╖рдп рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

<button class="toad__eye__control" data-queue="left" data-payload="1300"> -1 </button>
1300 рдирд╛рдбрд╝реА рдХреА рдЕрд╡рдзрд┐ рд╣реИред рдмрд╛рдпрд╛рдБ рдФрд░ 1300 рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ? рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ HTML рдореЗрдВ рдбреЗрдЯрд╛-рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред
рдЬреЗрдПрд╕ рдореЗрдВ, рд╣рдо рд╕рд░рд▓ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред
import mqtt from 'mqtt'; const client = mqtt.connect(`ws://${location.hostname}:9001`); function onEyeControlClick() { const { queue, payload } = this.dataset; client.publish(`toad/eye/${queue}`, payload); } document.querySelectorAll(".toad__eye__control") .forEach(e => e.addEventListener('click', onEyeControlClick));
рдЪрд▓реЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо рдмреНрд░реЛрдХрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ 9001 рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
const client = mqtt.connect(`ws://${location.hostname}:9001`);
ред
рдХрд┐рд╕реА рднреА рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░, рд╣рдо рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдбреЗрдЯрд╛-рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ:
client.publish(`toad/eye/${queue}`, payload);
ред
рдЕрдЧрд▓рд╛, рд╣рдо рд╡рд┐рд╖рдп рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрдЯрд╛-рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднреА рдмрдирддрд╛ рд╣реИред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА JS рдХреЛрдб рд╣реИред
рдмреЛрд░реНрдб рдХреЛрдб
рдЬрдм рд╡рд╛рдИ-рдлрд╛рдИ рд╕реНрд▓реЙрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреЗ рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╡реЗ рдЖрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд▓реЙрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЛрдЯрд░реНрд╕ рдХреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдмреЛрд░реНрдб рдкрд░ рдХреЛрдб рдХреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрдИ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рд┐рд░реНрдл
рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рд╕рд░реНрд╡реЛ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд┐рд╡рд░рдг рдпрд╛рдж рди рд╣реЛред рд╡реЗ рдПрдореНрдкрд░рдХрд╛ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИрдВред
const ssid = "Droidxx"; const password = "****"; const brokerHostname = "toad.amperka.ru"; const leftEye = require("@amperka/servo").connect(A5); const rightEye = require("@amperka/servo").connect(A7).
рд╣рд░ рдХреЛрдИ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмрдирд╛ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдкрдиреЗ рдФрд░ рдЕрдиреНрдп рд▓реЛрдХрдкреНрд░рд┐рдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрдИ рджрд░реНрдЬрди рдмрдирд╛рдП рд╣реИрдВред рд╕рднреА рдУрдкрди рд╕реЛрд░реНрд╕ - рдЗрд╕рдореЗрдВ
рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ред
рдлрд┐рд░ рд╣рдореЗрдВ
рд╡рд╛рдИ-рдлрд╛рдИ рдФрд░ рдПрдордХреНрдпреВрдЯреАрдЯреА рджрд▓рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
const wifi = require("Wifi"); const mqtt = require("tinyMQTT").create(brokerHostname);
рдХреЛрдИ рдУрдПрд╕ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд╛рдИ-рдлрд╛рдИ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдПрдХ рдореИрдиреБрдЕрд▓ рдСрдкрд░реЗрд╢рди рд╣реИред рдХрдиреЗрдХреНрд╢рди рдХреА рджреЗрдЦрднрд╛рд▓ рдЖрдкрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдмрд╕ "рдХрдиреЗрдХреНрдЯ" рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдлрд▓ рдпрд╛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ "рдХреЙрд▓рдмреИрдХ" рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред
wifi.connect(ssid, { password: password }, function(e) { if (e) { console.log("Error connecting:", e); wifi.disconnect(); } else { console.log("Wi-Fi OK, connecting to broker ..."); mqtt.connect(); } });
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ MQTT рдмреНрд░реЛрдХрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдкрд░, рд╣рдо рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рдЯреЙрдб / рдЖрдВрдЦ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
mqtt.on("connected", function() { mqtt.subscribe("toad/eye/*"); console.log("Connected to broker", brokerHostname); });
рдЬрдм рд╣рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг URL рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИред рд╡рд┐рд╖рдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдЖрдВрдЦ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдХреБрдЫ рд╕рдЪреЗрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЖрдВрдЦ рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрдХрдВрдб рдореЗрдВ "рдкреЗрд▓реЛрдб" рдХреНрдпрд╛ рдЖрдпрд╛ред
mqtt.on("message", function(msg) { const eye = (msg.topic === "toad/eye/left") ? leftEye : (msg.topic === "toad/eye/right") ? rightEye : null; if (eye) { eye.write(Number(msg.message), "us"); } });
рд╡рд╣ рд╕рдм рдПрдХ рдореЗрдВрдврдХ рдХрд╛ рдЬрд╛рджреВ рд╣реИред
рдПрд╕рдкреНрд░рд┐рдиреЛ рдЬреЗрдПрд╕ рд▓рд┐рдорд┐рдЯреЗрд╢рдиреНрд╕
рд╣рдо рдПрд╕реНрдкреНрд░рд┐рдиреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЧрдПред рдореЗрдВрдврдХреЛрдВ рдХреЛ рдорд░реЛрдбрд╝рдирд╛ рдЙрд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдордВрдЪ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдерд╛рдиреЗрджрд╛рд░ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
тАЬрдХреБрд▓ - 1-4 рдПрдордмреА рд░реИрдо ред рд░реИрдо рдкрд░ рдПрдХ рд╕реАрдорд╛ рд╣реИред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдкрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдпреБрдЧ рдореЗрдВ рдЬрдм рд░реИрдо рдХреЛ рдЧрд┐рдЧреНрд╕ рджреНрд╡рд╛рд░рд╛ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред 2 рдПрдордмреА рдкрд░ рдЖрдк рднрд╡реНрдп рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдлрд╡реНрд╡рд╛рд░реЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрддред
рдПрдирдкреАрдПрдо рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ ред рдпрд╣ рд╕рдорд╕реНрдпрд╛ Espruino IDE рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рд╣рдо "рдЖрд╡рд╢реНрдпрдХрддрд╛" рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрд╕реНрдкреНрд░рд┐рдиреЛ рдПрдХ рдЬрдЧрд╣ рдкрд░, рджреВрд╕рд░реЗ рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдПрдирдкреАрдПрдо рдкрд░ рдПрдХ рдЧрд┐рд░рд╛рд╡рдЯ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдпрд╣ рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред Espruino рд╣рдореЗрд╢рд╛ рдЬрдЯрд┐рд▓ рд╕рдВрдХреБрд▓ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдЗрд╕рдХреА рд╢рдХреНрддрд┐ рдЙрд╕реА рд╡реЗрдмрдкреИрдХ рдпрд╛ рдкрд╛рд░реНрд╕рд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╣реИред рдпрд╣ рдПрдХ рджрд░реНрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЯреВрд▓рдЪрд┐рди рдХреЛ рд╕реНрд╡рдпрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд▓реЛрд╣реЗ рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреА рд╕рдордЭ рдХреЗ рд╕рд╛рде, рддреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рд▓реЛрд╣реЗ рдХрд╛ рд╡рд░реНрдЧреАрдХрд░рдгред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рд╣рд░ рдЯреБрдХрдбрд╝рд╛ рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдордВрдЪ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрд╕реНрдкреНрд░рд┐рдиреЛ рдХреЛ рдЦреАрдВрдЪ рд▓реЗрдЧрд╛ред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рджреБрдирд┐рдпрд╛ рдХреЗ рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрд╕реНрдкреНрд░реБрдЗрдиреЛ рдкреНрд░рдЪрдВрдб рд╣реИ - рдЗрд╕реЗ 500 Kb RAM рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕реА рд╕реНрдореГрддрд┐ рд▓реЛрд╣реЗ рдХрд╛ рдХреЛрдИ рдЯреБрдХрдбрд╝рд╛ рдирд╣реАрдВ рджреЗрдЧреАред рд╡рд┐рд╣рд┐рдд Arduino Uno рдпрд╛ Arduino Nano рдореЗрдВ рдХреЗрд╡рд▓ 2 Kb RAM рд╣реИ - рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╡рд╣рд╛рдВ рдЕрд╕рдВрднрд╡ рд╣реИред Espruino рдХреЗ рд╕рд╛рде рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рд╣рдо Espruino рд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХрд░рддреЗ рд╣реИрдВред

рдПрд╕реНрдкрдкреНрд░рд┐рдиреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐-рдХрдВрдкрдиреА рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯрд░ рдкрд░ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХрддреНрд░ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдордВрдЪ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЦрд░реАрджреЗрдВред
рдПрдХ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкрд░реНрдпрд╛рдкреНрдд рд▓реЗ рд▓реЛ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдбреЗрдмреЛрд░реНрдбред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдкрдиреА рдПрд╕рдЯреА, рдЬреЛ "рдкрд░рдорд╛рдгреБ" рдФрд░ "рдбрд┐рд╕реНрдХрд╡рд░реА" рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИред рдПрд╕рдЯреАрдПрдо 32 рдирд╛рдордХ рд▓реЛрд╣реЗ рд╕реЗ рдПрд╕реНрдкреНрд░рд┐рдиреЛ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рджреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ
рдпрд╣ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдб рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рд▓рд┐рдирдХреНрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдкрд┐рди рднреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдЯреЛрдкреЛрд▓реЙрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдпрд╣рд╛рдВ рдХреНрд▓рд╛рдЙрдб рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ - рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реЛрд╕реНрдЯрдирд╛рдо, рдПрдкреАрдЖрдИ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдШрд░ рдкрд░ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рдФрд░ рдПрдХ рдмреИрдХрдЕрдк рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╣реИред рд╡реЗ рдЕрдиреНрдп рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╣реА рд▓реИрди рдкрд░ рд╣реИрдВред
рд╕рд┐рджреНрдзрд╛рдВрдд рдПрдХ рд╣реА рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд░рдЦреЗрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕реАрдзреЗ HTTP рдпрд╛ WebSocket рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рдП, рдмрд┐рдЪреМрд▓рд┐рдпреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджреЗред рдХреНрд▓рд╛рдЙрдб рдЕрдкрдиреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рд╕реЗрдВрд╕рд░ рдпрд╛ рдкреНрд░рд╕рд╛рд░рдг рдореМрд╕рдо рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЛ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИред
рдкреВрд░реНрдг рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдЕрдЧрд▓реЗ рд╕рдВрднрд╡ рдЯреЛрдкреЛрд▓реЙрдЬреАред

рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЙрдЧрддрд╛ рд╣реИред рдЙрдирдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдПрдХ рд╣реА рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ HTTP рдпрд╛ WebSocket рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд░рдЦрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдХрдиреЗрдХреНрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, HTTP рдпрд╛ рдЙрд╕реА MQTT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рд▓рд╛рдн рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд╣реИ: рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди, рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдЗрдирдХрд╛рд░ред рдЙрд╕реА рд╕рдордп, рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдзрддрд╛ рдорд╛рд╕реНрдХреЛ рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд╡реНрд▓рд╛рджрд┐рд╡реЛрд╕реНрддреЛрдХ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИред
рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕реАрдорд╛рдПрдБ
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдПрдХ рдкреВрд░реНрдг рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рддреЗрдЬ рдХрд╛рд░реНрдб рдЕрднреА рднреА рдПрдХ рдирд┐рдпрдорд┐рдд рдПрдЪрдбреАрдбреА рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдПрд╕рдПрд╕рдбреА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╕рдордп рдореЗрдВ, рд▓реЛрдб рдПрдХ рдорд┐рдирдЯ рддрдХ рдЖ рд░рд╣рд╛ рд╣реИред
рдЕрдЧрд▓реА рдЦрд╛рдореА рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рд╣реИ ред рдКрд░реНрдЬрд╛ рджрдХреНрд╖рддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВред рдпрд╣ рдмреИрдЯрд░реА рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рд░рд╣реЗрдЧрд╛ - рдмрд┐рд▓ рдШрдбрд╝реА рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЫрд╣ рдорд╣реАрдиреЗ рдпрд╛ рдПрдХ рд╕рд╛рд▓ рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдХреНрд╖рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдмреИрдЯрд░реА рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЦрд░рд╛рдм GPIO рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╣реИ ред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЗрдВ рд╡реЗрд╡ рдлреАрдб, рд╡реЗрд╡ рд░реАрдб, рдПрдирд╛рд▓реЙрдЧ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдордЬреЛрд░ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЛрдб рдореЗрдВ рд╕рд░реНрд╡реЛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдкреНрд░рддрд┐рдмрдВрдз рд╕рд╢рд░реНрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЛрд╣реЗ
рдХрд╛ рдЯреНрд░реЙрдпрдХрд╛ рдХреИрдк рдЯреБрдХрдбрд╝рд╛ , рдЬреЛ рдЦреБрдж рдкрд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдирд┐рдпрдВрддреНрд░рдг рд▓реЗрддрд╛ рд╣реИред рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рддреА рд╣реИред рд╕рд░реНрд╡реЛ рдХреЛ рдореЛрдбрд╝рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрди рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдХреБрдЫ рднреА рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Arduino
рдЖрдк рд╕рд╛рдорд╛рдиреНрдп
Arduino рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рд░ рдХреЛрдИ рдердХрд╛ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд╣реАрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдиреЛрдб рдЬреЗрдПрд╕ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдкреБрд░рд╛рдирд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдПрдХ рд╣реА рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИред

рд╣рдо рдПрдХ рдкреБрд░рд╛рдиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ USB рдХреЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Arduino рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред Arduino рдореЗрдВ,
рдПрдХ рдмрд╛рд░ рдорд╛рдирдХ
Firmata рдлрд░реНрдорд╡реЗрдпрд░ рднрд░реЗрдВред рд╡рд╣ Arduino рдХреЛ рдПрдХ рдЬрд╝реЛрдВрдмреА рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдкреБрд░рд╛рдирд╛ рдХрдВрдкреНрдпреВрдЯрд░ред рдорд╛рд╕реНрдЯрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкрд┐рди рдХреЛ рд╕рдВрдХреЗрдд рдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ Arduino рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП, рдПрдирдкреАрдПрдо рдХреЗ рд╕рд╛рде рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ - рдПрдХ рд╕реНрдкрд╖реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде
рд╕реАрд░рд┐рдпрд▓рдкреЛрд░реНрдЯ рдФрд░ рдлрд░реНрдореЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЖрдк рдлрд┐рд░ рд╕реЗ рдЬреЗрдПрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ, рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВред рдЖрдк рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Arduino рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ рдЗрд╕реЗ рдХрд░рддреА рд╣реИред
рд╣рдореЗрд╢рд╛ рдлрд░реНрдордЯрд╛рдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд░рд╛рджрд╛ рд╣реИ: рд╕рд░реНрд╡реЛ, рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдкреНрд╕, рдореАрдбрд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рдХред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд╛рдпрд░реЛрд╕реНрдХреЛрдк рдпрд╛ рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░ рдкрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд Arduino рдкрд░ C рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ - рдпрджрд┐ рдЖрдк рд╕реА рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдУрдкрди рд╕реЛрд░реНрд╕ рдЯреВрд▓
XOD.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдпрд╣ рдПрдХ рджреГрд╢реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдЬреЛ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рднрд░ рд╕рдХрддреЗ рд╣реИрдВред XOD.io рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдлрд░реНрдореЗрдЯрд╛ рд╕реЗ рдмрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдирд┐рдореНрди рд╕реНрддрд░ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рддрд╛рдХрдд рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - XOD.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛ рдлреНрд░рдВрдЯреЗрдВрдбрдХреЙрдиреНрдлрд╝ рд╕рдореНрдореЗрд▓рди рдЕрдХреНрдЯреВрдмрд░ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рдРрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреА рдХрдмреНрд░ рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╣реИ, рд╣рдо рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╣рдо рдирд┐рдпрдорд┐рдд рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо, рд╕рдореНрдореЗрд▓рди рд╕рдорд╛рдЪрд╛рд░, рд╡реАрдбрд┐рдпреЛ рдФрд░ рд▓реЗрдЦреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд░рд┐рдкреЛрд░реНрдЯ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ - рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ ред