Arduino рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ ESP8266 рдкрд░ рдкреВрд▓ рд╣реАрдЯрд┐рдВрдЧ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП IoT рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░

рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВ рдЦрд░реЛрдВрдЪ рд╕реЗ рдПрдХ IoT рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛: рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдЙрджреНрднрд╡ рд╕реЗ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдПред


рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЛ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ:


  • рд▓рдЧрднрдЧ рд╕рд░реНрдХрд┐рдЯрд░реА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдХреЗрд╡рд▓ рдХрд╛рдо рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕реНрддрд░ рдкрд░
    рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ / рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ ... рдореБрдЭреЗ рдХреЛрдИ рдЬрдЯрд┐рд▓ рд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдерд╛ред
  • рдХрднреА рднреА рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдирд╣реАрдВ рдмрдирд╛рдП рдЧрдПред
  • рдХрднреА рднреА SMD рдШрдЯрдХ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ред рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрд╣реЗ рдХрд╛ рд╕реНрддрд░ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрд╛рд░реЛрдВ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рд▓реЗ рдХреЗ рд╕реНрддрд░ рдкрд░ рдерд╛ред
  • рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрднреА рдирд╣реАрдВ рд▓рд┐рдЦреЗ рд╣реИрдВред рдкреВрд░рд╛ рдЕрдиреБрднрд╡ "Arduino рдореЗрдВ рдПрд▓рдИрдбреА рдкреНрд░рдХрд╛рд╢" рд╕реНрддрд░ рдкрд░ рдерд╛, рдФрд░ рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ ESP8266 рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдорд┐рд▓рд╛ред
  • рдореИрдВрдиреЗ "рдмрдбрд╝реЗ рднрд╛рдИ" рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕реА + + рд▓рд┐рдЦрд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдкрд╣рд▓реЗ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред

рдмреЗрд╢рдХ, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ Microsoft .NET) рдФрд░ рдкреНрд░рдгрд╛рд▓реАрдЧрдд рд╕реЛрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдиреЗ рдореБрдЭреЗ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рдореБрджреНрд░ рдкрд░ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рдФрд░ рд▓реЗрдЦред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк, рдФрд░ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рд▓рд╛рддрд╛ рд╣реВрдВред


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


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



рдлрд╝реНрд▓рд┐рдХрд░ рдкрд░ рдЧреБрдВрдмрдж рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдлреЛрдЯреЛ рд░рд┐рдкреЛрд░реНрдЯ ред


рдЗрд╕ рд╕рд╛рд▓ рдореИрдВ рдФрд░ рднреА рдЖрдЧреЗ рдЧрдпрд╛ рдФрд░ рдЧреИрд╕ рдмреЙрдпрд▓рд░ рд╕реЗ рдкреВрд▓ рд╣реАрдЯрд░ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛,
рдЬреЛ рд╕рд░реНрджрд┐рдпреЛрдВ рдореЗрдВ рдШрд░ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдФрд░ рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдЧрд░реНрдо рдкрд╛рдиреА рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


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



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


рдкреВрд▓ рд╕реЗ рд╣реАрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдкрд╛рдЗрдк рд╕рд╛рдзрд╛рд░рдг рдкреЙрд▓реАрдереАрди рдкрд╛рдЗрдк рд╣реИрдВ, рдЬреЛ рдХрд┐
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдЬреА рдШрд░реЛрдВ рдореЗрдВ рдардВрдбреЗ рдкрд╛рдиреА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╕реНрддрд╛рдкрди, рд╕рднреНрдп рджрдмрд╛рд╡ рдЭреЗрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдХреНрд╖рд░рдг рдХрд╛ рдЕрднрд╛рд╡ - рдпреЗ рдРрд╕реЗ рдкрд╛рдЗрдкреЛрдВ рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рд╣реИрдВред рд╕рднреА рдХреЗ рд▓рд┐рдП, рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛, рдкреЙрд▓реАрдереАрди рдкрд╛рдЗрдк, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рддрд╛рдкрдорд╛рди 40 рдбрд┐рдЧреНрд░реА рд╕реЗрд▓реНрд╕рд┐рдпрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдкреВрд▓ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред


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


рдЧрд░реНрдореА рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдЬрд▓реНрджреА рдареАрдХ рдХрд░реЛ


рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣реЙрд▓ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдлреНрд▓реЛ рд╕реЗрдВрд╕рд░ рдХреЛ рдкреВрд▓ рд╡реЙрдЯрд░ рд░рд┐рд╕рд░реНрдХреНрдпреБрд▓реЗрд╢рди рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдзреНрдпрдорд┐рдХ рд╕реЗрдВрд╕рд░ рдкрд░ рд╕реНрдерд┐рдд рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░
рд╣реАрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬрд░, рдмрдЪрд╛рд╡ рдХрд╛ рджреВрд╕рд░рд╛ рд╕реНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдкрд░ рдирдЬрд╝рд░ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред


рддрд╛рдкрдорд╛рди рд╕рдВрд╡реЗрджрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ: рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдЬрдбрд╝рддрд╛ рд╣реИ: рдкреВрд▓ рдореЗрдВ рдкрд╛рдиреА рдХреЗ рдЕрдЪрд╛рдирдХ рд░реБрдХрдиреЗ рдХреЗ рдмрд╛рдж,
рдмрд╛рдпрд▓рд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рддрд╛рдкрдорд╛рди рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡реГрджреНрдзрд┐ рдЬрд╛рд░реА рд░рд╣реЗрдЧреА рдмрд╛рдпрд▓рд░ рдЕрднреА рднреА рдЧрд░реНрдо рдкрд╛рдиреА рдХреЛ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЬрдбрд╝рддрд╛ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИ, "рдЦреБрдж рдХреЛ, рдореЗрд░реЗ рдкреНрдпрд╛рд░реЗ" рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред


рдЗрд╕рд▓рд┐рдП, рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдЕрд░реНрдерд╛рддреН, рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдкрд╛рдиреА рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП
рдкреВрд▓ред


рдПрдХ рдлреНрд▓реЛ рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЗ рдорд╛рдорд▓реЗ рдФрд░ рдкрд╛рдиреА рдХреЗ рд╕рд╛рде рд╕рдВрд╡реЗрджрдХ рдХреЗ рд╕рдВрдкрд░реНрдХ рдХреА рдХрдореА рд╕реЗ рдЗрд╕реЗ рдирдордХреАрди рдкрд╛рдиреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред


рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░, рдпрд╣ рдбрд▓рд╛рд╕ DS18B20 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдПрдХ -рддрд╛рд░ рдмрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред



рдпрд╣ рдорд╛рдзреНрдпрдорд┐рдХ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХ рджреЛрдиреЛрдВ рдХреЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╕реЗрдВрд╕рд░ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд▓рдЯрдХрд╛ рджреЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рд╕рд░реНрдХрд┐рдЯ: рдХреБрд▓ 4 рд╕реЗрдВрд╕рд░ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛: рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢реАрддрд▓рдХ рдХрд┐рддрдирд╛ рдардВрдбрд╛ рд╣реИ рдФрд░ рдорд╛рдзреНрдпрдорд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдкреВрд▓ рд╕реЗ рдХрд┐рддрдирд╛ рдкрд╛рдиреА рдЧрд░рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ - рд╣реАрдЯрд┐рдВрдЧ рдХреА рдЗрд╖реНрдЯрддрдорддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдФрд░ рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рд╕рдордп рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред


рд╣реАрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рдФрд░ рдЗрдирд▓реЗрдЯ рдкрд╛рдЗрдк рдкрд░ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕реНрдерд╛рди

рдбрд┐рд╡рд╛рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░


рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк Arduino Uno рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рд░реНрдл 16 рдХреНрдпреВрдмрд┐рдХ рдореАрдЯрд░ рдкрд╛рдиреА рдЧрд░реНрдо рдХрд┐рдпрд╛
рдХреБрдЫ рдбрд┐рдЧреНрд░реА рддреЗрдЬ рдирд╣реАрдВ рд╣реИред рдФрд░ рдореИрдВ рд╕реАрдзреЗ рдХрд╛рдо рд╕реЗ рд╣реАрдЯрд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЗрд╕реЗ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣реАрдЯрд┐рдВрдЧ рд╢реЗрдбреНрдпреВрд▓ рд╢реВрдЯ рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐ рджрд┐рдиред


рдЦреИрд░, рдЪреВрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА IoT рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрд╕реА рд╕рдордп рдкреВрд▓ рдХреНрд▓реЛрд░реАрдиреЗрдЯрд░ рдХреЗ рд░рд┐рдореЛрдЯ рд╕рдХреНрд░рд┐рдпрдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрдВрдк рдХрд░рддреЗ рд╣реИрдВ?


рд╕рдВрджрд░реНрдн рдХреА рд╢рд░реНрддреЗрдВ


рддреЛ, рдПрдХ рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ - рдПрдХ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреВрд▓ рдирд┐рдпрдВрддреНрд░рдХред рд╡рд╣ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


  • рддрд╛рдк рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд▓ рд╣реАрдЯрд┐рдВрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣реАрдЯрд┐рдВрдЧ рдкрд╛рдиреА рдХреЗ рд▓рд┐рдП рдЧреИрд╕ рдмреЙрдпрд▓рд░ рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рдирд╛ред
  • рджреНрд╡рд┐рддреАрдпрдХ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рдПрдХ рдкреВрд▓ рдЬрд▓ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдорд╛рдзреНрдпрдорд┐рдХ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╛рдкрдорд╛рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдХреЗ рд╣реАрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рдХреА рдЕрдзрд┐рдХ рдЧрд░реНрдореА рдХреЛ рд░реЛрдХреЗрдВред
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЗрдирд▓реЗрдЯреНрд╕ рдФрд░ рджреЛрдиреЛрдВ рд╕рд░реНрдХрд┐рдЯреЛрдВ рдХреЗ рддрд╛рдкрдорд╛рди рдкрд░ рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
  • рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб (рд▓реЙрдЧ) рддрд╛рдкрдорд╛рди рдорд╛рдиред рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ
    рдЧреНрд░рд╛рдл рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ред
  • рдПрдХ рд░рд┐рд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдкреВрд▓ рдкрдВрдк рдФрд░ рдХреНрд▓реЛрд░реАрдиреЗрдЯрд░ рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдорд╛рдЗрдХреНрд░реЛ-рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВред

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


рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛


рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд╕реНрддреЗ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдИрдПрд╕рдкреА 8266 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдерд╛, рдПрдХ рдЪреАрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░: 3.3-рд╡реЛрд▓реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде 5-рд╡реЛрд▓реНрдЯ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рдХрд╛ рдорд┐рд▓рд╛рдиред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдбрд▓рд╛рд╕ рд╕реЗрдВрд╕рд░ 3 рд╡реЛрд▓реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рд╕реЗрдВрд╕рд░ рддрдХ рд▓рдЧрднрдЧ 7 рдореАрдЯрд░ рдХреА рдПрдХ рд▓рдВрдмреА рд░реЗрдЦрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡реЛрд▓реНрдЯреЗрдЬ рдмрдврд╝рд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред


рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:


  • ESP8266 рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдЗрд╕рдХреЗ рдмрдбрд╝реЗ рднрд╛рдИ ESP32 (рдПрдХ DevKit рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ)ред
  • рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рд╕реНрддрд░реЛрдВ рдХрд╛ рд╕рдВрд░реЗрдЦрдгред
  • рдмрд┐рдЬрд▓реА рдирд┐рдпрд╛рдордХ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ 5-рд╡реЛрд▓реНрдЯ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
  • рд░рд┐рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ред
  • рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрд░рдЯреАрд╕реА рдШрдбрд╝реА + рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реАред
  • рд╕реЗрдВрд╕рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпреЛрдВ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рд░рд┐рд▓реЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ 2-рд▓рд╛рдЗрди рдПрд▓рд╕реАрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗред
  • рд╡реЗрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рднреМрддрд┐рдХ рдмрдЯрдиред

рд╕реВрдЪреА рд╕реЗ рдХрдИ рдШрдЯрдХ Arduino рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рдореЙрдбреНрдпреВрд▓ 3.3v рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рд╡рд╛рдпрд░ рдмрдВрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм "рдЬрд╛рдо" рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рд╕реБрдВрджрд░ рд╕реБрдВрджрд░ "рдбрд┐рд╡рд╛рдЗрд╕" рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд╛рдВ, рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЪреАрдиреА рдХреЛ рджрд┐рдП рдЧрдП рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдФрд░ рдСрд░реНрдбрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЖрдЧрдорди рдХреА рдЙрдореНрдореАрдж рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрджреА рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рдореБрдЖрд╡рдЬрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


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


рд╕рд░реНрдХрд┐рдЯ рдЖрд░реЗрдЦ


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


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


рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдпреБрдЧреНрдорд┐рдд рдЬрдВрдкрд░реНрд╕ рдХреА 2 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдиреАрдЪреЗ рд░рдЦреЗрдВ: рдЖрд░реЗрдЦ рдореЗрдВ JH1 рдФрд░ JH2:



рдЗрдирдкреБрдЯ 5v рдХреЗ рдкрд┐рдиреЛрдВ рдХрд╛ рд╕реНрдерд╛рди рдФрд░ рдирд┐рд░реНрдорд┐рдд рд╕реНрдЯреЗрдмрд▓рд╛рдЗрдЬрд░, рд╕рд╛рде рд╣реА GND рдХреА рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рдХреЗ 3.3v рдХрд╛ рдЙрддреНрдкрд╛рджрди, рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ DevKit рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд▓рдЧрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦреЗрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдбрд╛рдпрдЧреНрд░рд╛рдо рдореЗрдВ рдЗрдиреНрд╣реЗрдВ JP1, JP2, JP3 рднреА рдмрдирд╛рдпрд╛ред


рдореИрдВрдиреЗ рдХреВрджрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдШрдЯрдХреЛрдВ рд╕реЗ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рд╡реЗ рд╕рдВрднрд╡рддрдГ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗред


рдФрд░ рдпрд╣рд╛рдВ рджреЗрд╡рдХрд┐рдЯ ESP8266 рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдЦрд░реАрджрд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛

рдпрд╣рд╛рдБ D1 (GPIO5) рдФрд░ D2 (GPIO4) I2C рдмрд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, D5 (GPIO14) 1-рд╡рд╛рдпрд░ рдХреЗ рд▓рд┐рдП, D6 (GPIO12) - рдкреНрд░рд╡рд╛рд╣ рд╕реЗрдВрд╕рд░ рд╕реЗ рджрд╛рд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред


рд╕рд░реНрдХрд┐рдЯ рдЖрд░реЗрдЦ:



(рдЫрд╡рд┐ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп)


3.3v рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмрд┐рдЬрд▓реА рдирд┐рдпрд╛рдордХ рдХреЗ ESP8266 рдмреЛрд░реНрдб рдкрд░ рдореМрдЬреВрджрдЧреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдореЗрдВ рдЕрднреА рднреА рд╕реЗрдВрд╕рд░ рдФрд░ рдПрд▓рд╕реАрдбреА рдХреЛ рдкрд╛рд╡рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП 5 рд╡реЛрд▓реНрдЯ рдФрд░ рд░рд┐рд▓реЗ рдХреЛ рдкрд╛рд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 12 рд╡реЛрд▓реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмреЛрд░реНрдб рдкрд╛рд╡рд░ 12 рд╡реЛрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╡рд╛рдВрдЫрд┐рдд 5 рд╡реЛрд▓реНрдЯ рджреЗрддреЗ рд╣реБрдП, рдЗрдирдкреБрдЯ рд░реЗрдЧреБрд▓реЗрдЯрд░ AMS1117-5.0 рдЗрдирдкреБрдЯ рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ред


1-рд╡рд╛рдпрд░ рдмрд╕ рдкрд░ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕реНрддрд░ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рддрд░рдл рд╡реЛрд▓реНрдЯреЗрдЬ "рдкреБрд▓-рдЕрдк" рдХреЗ рд╕рд╛рде рдПрдХ BSS138 рд╕реА рдХреНрд╖реЗрддреНрд░ рдкреНрд░рднрд╛рд╡ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред



рд╕реНрддрд░ рдорд┐рд▓рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ 5V рдФрд░ 3.3V рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕реНрддрд░ рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рддреЗ рд╣реБрдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ ред


рдкреНрд░рд╡рд╛рд╣ рд╕рдВрд╡реЗрджрдХ рдХреЗ рд╕рдВрдХреЗрдд рд╕реНрддрд░реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреЗ рдкрд╛рд░ рдПрдХ рд╡реЛрд▓реНрдЯреЗрдЬ рд╡рд┐рднрдХреНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдлреНрд▓реЛ рд╕реЗрдВрд╕рд░ рдмрд╕ рдПрдХ рдУрдкрди рдХрд▓реЗрдХреНрдЯрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИред рдХреБрдЫ рд╕реЗрдВрд╕рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреБрд▓-рдЕрдк рд░реЛрдХрдиреЗрд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



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


I2C рдмрд╕ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ DS3231SN рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреА рдШрдбрд╝реА рдФрд░ AT24C256C рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ред рдИрдПрд╕рдкреА 8266 рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд░реАрд░рд╛рдЗрдЯрд┐рдВрдЧ рд╕рд╛рдЗрдХрд▓ рдХреА рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рдбреЗрдЯрд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдЯреА 24 рд╕реАрдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП 10 рд╣рдЬрд╛рд░ рдмрдирд╛рдо 1 рдорд┐рд▓рд┐рдпрди)ред


рд░рд┐рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг PCF8574AT рдФрд░ ULN2803A рдЪрд┐рдкреНрд╕ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдкрд╣рд▓реА рдЪрд┐рдк рдПрдХ I2C рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкреЛрд░реНрдЯ рд╡рд┐рд╕реНрддрд╛рд░рдХ рд╣реИред рд╕рдХреНрд░рд┐рдп рдЖрдЙрдЯрдкреБрдЯ рдпрд╛ рдЗрдирдкреБрдЯ PCF8574AT рдХреА рд╕реНрдерд┐рддрд┐ I2C рдмрд╕ рдкрд░ рдПрдХ рдкрддреЗ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рдк рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдЬреЛ I2C рдкреЛрд░реНрдЯ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рдХ PCF8574 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред


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


рдЪрд┐рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИ ред


PCF8574AT рдкреЛрд░реНрдЯ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдЯрди рдХреЛ рдХреБрдЫ рдЗрдирдкреБрдЯ рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, I2C рдмрд╕ рдкрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдПред рдЖрд░реЗрдЦ рдореЗрдВ, рдмрдЯрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдВрд╕ 4-7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреИрд░реЛрдВ рдХреЛ рдкреЛрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд╕рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЬрд╛рдПрдВред


рдЙрд╕реА рд╕рдордп, рдореИрдВрдиреЗ рд╡рд╛рдпрд░рд┐рдВрдЧ рдХреЛ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдЕрдЧрд░ рдЖрдк рдЕрдЪрд╛рдирдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рд▓реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рдВрднрд╛рд╡рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕рднреА рд▓реАрдбреНрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд▓рд╛рдпрд╛ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЙрдирдХреЗ рдиреАрдЪреЗ рдЫреЗрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рддрд╛рд░реЛрдВ рдХреЛ рдЯрд╛рдВрдХрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдирдХ 2.54 рдорд┐рдореА рдбреАрдЖрдИрдкреА рдХрдиреЗрдХреНрдЯрд░ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред


INT рдкреЛрд░реНрдЯ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд░ рдХреЗ рдкрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдЯрди рдХреЗ рдкреНрд░реЗрд╕ рдХреЛ рддреБрд░рдВрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рдПрдХ рдореБрдлреНрдд рдкреЛрд░реНрдЯ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкрд┐рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдкреНрдЯ рдЯреНрд░рд┐рдЧрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


PCF8574AT рд╡рд┐рд╕реНрддрд╛рд░рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛ-рд▓рд╛рдЗрди рдПрд▓рд╕реАрдбреА рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд┐рдВрджреБ: рдбрд┐рд╕реНрдкреНрд▓реЗ 5 рд╡реЛрд▓реНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╕реНрд╡рдпрдВ 3-рд╡реЛрд▓реНрдЯ рд▓реЙрдЬрд┐рдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╡реИрд╕реЗ, I2C рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ Arduino рдПрдбреЗрдкреНрдЯрд░ рдбрдмрд▓ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдореБрдЭреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд╣реАрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рд▓рд┐рдВрдХ рдЦреЛ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрд░реЛрдд рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рджреЗрддрд╛ред


рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб


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


рдмреЛрд░реНрдб рдкрд░, рдореИрдВрдиреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдЫреЗрдж рдХреЗ рдХреБрдЫ рдЪреМрдХреЛрд░ рдорд╛рд░реНрдЬрд┐рди рдЬреЛрдбрд╝реЗ, рдЕрдЧрд░ рдореИрдВ рдЕрдЪрд╛рдирдХ рдХреБрдЫ рдФрд░ рдорд┐рд▓рд╛рдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред


рдореИрдВрдиреЗ 97x97 рдорд┐рдореА рдорд╛рдкрдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб рдмрдирд╛рдпрд╛ред рдпрд╣ рдПрдХ рдорд╛рдирдХ рдХрд╛рдЯрдиреЗ рд╡рд╛рд▓реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдлрд┐рдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 100x100 рд╕реЗ рдХрдо рдЖрдХрд╛рд░ рд╡рд╛рд▓реЗ рдмреЛрд░реНрдб рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕рд╕реНрддреЗ рд╣реИрдВред рд╡рд┐рдХрд╕рд┐рдд рд▓реЗрдЖрдЙрдЯ рдХреА рд▓рд╛рдЧрдд 5 рдпреВрдПрд╕рдбреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ 5 рдмреЛрд░реНрдбреЛрдВ рдХреЗ рдиреНрдпреВрдирддрдо рдмреИрдЪ рдХрд╛ рдЙрддреНрдкрд╛рджрди, рдмреЗрд▓рд╛рд░реВрд╕ рдореЗрдВ рдЙрдирдХреА рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ 9 рдЕрдорд░реАрдХреА рдбрд╛рд▓рд░ рдХреА рд▓рд╛рдЧрддред



рдмреЛрд░реНрдб рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдИрдЬрд╝реАрдбрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред


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



рдмреЛрд░реНрдб рдХреЗ рджреЛрдиреЛрдВ рдХрд┐рдирд╛рд░реЛрдВ рдХреА рддрд╕реНрд╡реАрд░реЗрдВ

рд╕рд╛рдордиреЗ рдХреА рдУрд░:



рдкреАрдЫреЗ рдХреА рдУрд░:



рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ


рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Arduino Uno рдкрд░ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрд▓реЙрдЧ рджрд┐рдпрд╛ рдЧрдпрд╛, рдЗрд╕рдореЗрдВ ESP8266 Arduino Core рдХреЗ рд╕рд╛рде Arduino рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рд╣рд╛рдВ, рдЖрдк рдИрдПрд╕рдкреА 8266 рдкрд░ рд▓реБрдЖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣реИрдВрдЧ рд╣реИрдВред рдореИрдВрдиреЗ, рджрд┐рдП рдЧрдП рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдлрдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВ рдЪрд╛рд╣рд╛ рд╣реЛрдЧрд╛ред
Arduino рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, Visual Micro рд╕реЗ Visual Studio рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ ред рдкрд░реНрдпрд╛рд╡рд░рдг рдЖрдкрдХреЛ IntelliSence рдХреЛрдб рд╕рдВрдХреЗрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд▓реНрджреА рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреВрджрддрд╛ рд╣реИ, рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХреЛрдб: рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ "рд╡рдпрд╕реНрдХ" рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЦреБрдж рдХреЛ рд╣реЛрдиреЗ рджреЗрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рдорд╛рдЗрдХреНрд░реЛ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЛрдб рдХреЛ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдореБрдлреНрдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрддреБрд╖реНрдЯ рдерд╛ред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░

рдлрд╝рд╛рдЗрд▓рдирд┐рдпреБрдХреНрддрд┐
WaterpoolManager.ino
рдмреБрдирд┐рдпрд╛рджреА рдЪрд░ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдШреЛрд╖рдгрд╛ред рдкреНрд░рд╛рд░рдВрднред рдореБрдЦреНрдп рд▓реВрдкред
HeaterMainLogic.ino
рдмреЙрдпрд▓рд░ рд░рд┐рд▓реЗ (рддрд╛рдкрдорд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдФрд░ рд╕рд╣рд╛рдпрдХ рд░рд┐рд▓реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореВрд▓ рддрд░реНрдХред
Sensors.ino
рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛ рдкрдврд╝реЗрдВ
Settings.ino
рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЙрдиреНрд╣реЗрдВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рд╣реЗрдЬ рд░рд╣рд╛ рд╣реИ
LCD.ino
рд╕реВрдЪрдирд╛ рдЙрддреНрдкрд╛рджрди рдПрд▓рд╕реАрдбреА рдкрд░
ClockTimer.ino
RTC рдХреНрд▓реЙрдХ рд░реАрдбрд┐рдВрдЧ, рдпрд╛ рдХреНрд▓реЙрдХ рд╕рд┐рдореБрд▓реЗрд╢рди
Relays.ino
рд░рд┐рд▓реЗ рдкрд░ / рдмрдВрдж рдирд┐рдпрдВрддреНрд░рдг
ButtonLogic.ino
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдЯрди рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рддрд░реНрдХ
ReadButtonStates.ino
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдмрдЯрди рдкрдврд╝реЗрдВ
EEPROM_Logging.ino
EEPROM рдореЗрдВ рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛ рд▓реЙрдЧрд┐рдВрдЧ
WebServer.ino
рдбрд┐рд╡рд╛рдЗрд╕ рдкреНрд░рдмрдВрдзрди рдФрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдм рд╕рд░реНрд╡рд░
рд╡реЗрдмрдкреЗрдЬреЛрдВ
рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреЗрдЬ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред
index.h
рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреГрд╖реНрдаред рдЕрдЬрд╛рдХреНрд╕ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрдврд╝рдирд╛ред рд╣рд░ 5 рд╕реЗрдХрдВрдб рдореЗрдВ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВред
loggraph.h
рдПрдХ рдЧреНрд░рд╛рдл рдореЗрдВ рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛ рдФрд░ рд░рд┐рд▓реЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рдПрдХ рд▓реЙрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред JqPlot рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рднреА рдирд┐рд░реНрдорд╛рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╣реЛрддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ - рдИрдкреНрд░реЛрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВред
logtable.h
рднреА, рд▓реЗрдХрд┐рди рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ
settings.h
рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкреНрд░рдмрдВрдзрди: рддрд╛рдкрдорд╛рди, рдЬрд▓ рдкреНрд░рд╡рд╛рд╣, рдбреЗрдЯрд╛ рд▓реЙрдЧрд┐рдВрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛
time.h
рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╕реЗрдЯрд┐рдВрдЧ

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ
EepromLogger.cpp
рдлреНрд▓реИрд╢ рд▓реЙрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
EepromLogger.h
crc8.cpp
8- CRC
crc8.h
TimeSpan.cpp

TimeSpan.h


OneWire tempSensAddr. . ( 4 ):


while (ds.search(tempSensAddr[lastSensorIndex]) && lastSensorIndex < 4) { Serial.print("ROM ="); for (byte i = 0; i < 8; i++) { Serial.print(' '); Serial.print(tempSensAddr[lastSensorIndex][i], HEX); } if (OneWire::crc8(tempSensAddr[lastSensorIndex], 7) != tempSensAddr[lastSensorIndex][7]) { Serial.print(" CRC is not valid!"); } else lastSensorIndex++; Serial.println(); } ds.reset_search(); lastSensorIndex--; Serial.print("\r\nTemperature sensor count: "); Serial.print(lastSensorIndex + 1, DEC);  ,       ().       Serial   LCD  : // Read sensor values and print temperatures ds.reset(); ds.write(0xCC, TEMP_SENSOR_POWER_MODE); // Request all sensors at the one time ds.write(0x44, TEMP_SENSOR_POWER_MODE); // Acquire temperatures delay(1000); // Delay is required by temp. sensors char tempString[10]; for (byte addr = 0; addr <= lastSensorIndex; addr++) { ds.reset(); ds.select(tempSensAddr[addr]); ds.write(0xBE, TEMP_SENSOR_POWER_MODE); // Read Scratchpad tempData[addr] = ds.read() | (ds.read() << 8); // Read first 2 bytes which carry temperature data int tempInCelsius = (tempData[addr] + 8) >> 4; // In celsius, with math rounding Serial.print(tempInCelsius, DEC); // Print temperature Serial.println(" C"); } 

рдбреЗрдЯрд╛рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕реЗрдВрд╕рд░ рдХреЛ рддрд╛рдкрдорд╛рди рдорд╛рди рдорд╛рдВрдЧрдиреЗ рдФрд░ рд╕реЗрдВрд╕рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдХрдо рд╕реЗ рдХрдо 750 рдПрдордПрд╕ рд╡рд┐рд▓рдВрдм рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдиреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдорд╛рд░реНрдЬрд┐рди рдХреЗ рд╕рд╛рде рджреЗрд░реА рд╢реБрд░реВ рдХреАред


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


 #define TEMP_MEASURE_PERIOD 20 // Time of measuring, * TEMP_TIMER_PERIODICITY ms #define TEMP_TIMER_PERIODICITY 50 // Periodicity of timer calling, ms timer.attach_ms(TEMP_TIMER_PERIODICITY, tempReadTimer); int tempMeasureCycleCount = 0; void tempReadTimer() // Called many times in second, perform only one small operation per call { tempMeasureCycleCount++; if (tempMeasureCycleCount >= TEMP_MEASURE_PERIOD) { tempMeasureCycleCount = 0; // Start cycle again } if (tempMeasureCycleCount == 0) { ds.reset(); ds.write(0xCC, TEMP_SENSOR_POWER_MODE); // Request all sensors at the one time ds.write(0x44, TEMP_SENSOR_POWER_MODE); // Acquire temperatures } // Between phases above and below should be > 750 ms int addr = TEMP_MEASURE_PERIOD - tempMeasureCycleCount - 1; if (addr >= 0 && addr <= lastSensorIndex) { ds.reset(); ds.select(tempSensAddr[addr]); ds.write(0xBE, TEMP_SENSOR_POWER_MODE); // Read Scratchpad tempData[addr] = ds.read() | (ds.read() << 8); // Read first 2 bytes which carry temperature data } } 

рдкреНрд░рддреНрдпреЗрдХ tempMeasureCycleCount рдЪрдХреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕реЗрдВрд╕рд░ рд╕реЗ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдЧрднрдЧ 50 рдРрд╕реЗ рдЪрдХреНрд░ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ (рдФрд░ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ 50 * 20 = 1000 рдПрдордПрд╕ = 1 рд╕реЗрдХрдВрдб рд╣реИ), рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдВрд╕рд░ рдХрд╛ рдореВрд▓реНрдп рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХред рд╕рднреА рдХрд╛рдо рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЯрд╛рдЗрдорд░ рдЕрд╡рд░реЛрдз рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рди рд▓реЗред


рдлреНрд▓реЛ рд╕реЗрдВрд╕рд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред рдкрд┐рди рдкрд░ рд░реБрдХрд╛рд╡рдЯ рдЬрд┐рд╕ рдкрд░ рд╕реЗрдВрд╕рд░ рд▓рдЯрдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдлреНрд▓реЛ рд╕реЗрдВрд╕рд░ рд╕реЗ рдЖрдП рдЯрд┐рдХ рдХреЗ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдорд╛рди рдмрдврд╝рд╛рддреЗ рд╣реИрдВ:


 pinMode(FLOW_SENSOR_PIN, INPUT); attachInterrupt(digitalPinToInterrupt(FLOW_SENSOR_PIN), flow, RISING); // Setup Interrupt volatile int flow_frequency; // Flow sensor pulses int flowMeasureCycleCount = 0; void flow() // Flow sensor interrupt function { flow_frequency++; } 

рдЙрд╕реА рдЯрд╛рдЗрдорд░ рдореЗрдВ рдЬрд╣рд╛рдВ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рдкреНрд░рджреВрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╣рдо рдЗрд╕ рдЯрд┐рдХ рдореВрд▓реНрдп рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ FLOW_SENSOR_CONST рдирд┐рд░рдВрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реАрдЯрд░ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдп рд╕реЗрдВрд╕рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


 flowMeasureCycleCount++; if (flowMeasureCycleCount >= 1000 / TEMP_TIMER_PERIODICITY) { flowMeasureCycleCount = 0; litersInMinute = (flow_frequency / FLOW_SENSOR_CONST); // Pulse frequency (Hz) = FLOW_SENSOR_CONST*Q, Q is flow rate in L/min. flow_frequency = 0; // Reset Counter } 

рд╕реЗрдВрд╕рд░ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЙрдЧрд┐рдВрдЧ


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


рдХреБрдЫ "рд╕рдВрдЪрдпрди" рдХреЗ рдмрд╛рдж рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:



рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдиреА рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдореМрдЬреВрджрд╛ рдореВрд▓реНрдп, рд╕реЗрдВрд╕рд░ рддрд╛рдкрдорд╛рди, рд╕рд╛рде рд╣реА рдмрд╛рдЗрдЯ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ (рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд┐рдЯреНрд╕ рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд▓реЗ рдЪрд╛рд▓реВ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдХреНрдпрд╛ рд╣реАрдЯрд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдпреБрдХреНрдд:


 struct LogEvent { unsigned char litersInMinute = 0; unsigned char tempCelsius[4]{ 0, 0, 0, 0 }; unsigned char deviceStatus = 0; } 

рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕реАрдЖрд░рд╕реА рдЪреЗрдХрд╕рдо рдмрд╛рдЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдЦреА рдЧрдИ рдереА рдпрд╛ рдирд╣реАрдВ, рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдореЗрдореЛрд░реА рд▓реЛрдХреЗрд╢рди рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдирд╣реАрдВред


рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕рдордп ( рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк ) рдкрд░ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдмрдбрд╝реЗ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрди рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП - рдЗрд╕рдХреА рдЧрдгрдирд╛ рд▓реЙрдЧрд┐рдВрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред


 unsigned int logRecordsInBlock = 60 * 60 / loggingPeriodSeconds; // 1 block for hour unsigned int block_size = sizeof(Block_Header) + logRecordsInBlock * (record_size + crcSize); unsigned int block_count = total_storage_size / block_size; 

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд░ 30 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдмрд╛рд░ рд▓реЙрдЧрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреНрд▓реЙрдХ рдореЗрдВ 120 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА, рдФрд░ рдмреНрд▓реЙрдХ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 840 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧрд╛ред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдо рдЖрдХрд╛рд░ рдореЗрдВ 32 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдХреЗ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ 39 рдмреНрд▓реЙрдХ рдлрд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдВрдЧрдарди рдХреЗ рд╕рд╛рде, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрддреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ "рд╕рднреА рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛" рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред


рддрджрдиреБрд╕рд╛рд░, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЕрдВрддрд┐рдо рдмрдВрдж рдХреЗ рджреМрд░рд╛рди рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдЕрдЪрд╛рдирдХ рдмреНрд░реЗрдХ рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдкреВрд░реНрдг рдмреНрд▓реЙрдХ рд╣реЛрдЧрд╛ (рдпрд╛рдиреА рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдЧрд╛рдпрдм рд╣реИрдВ)ред рдЬрдм рдбрд┐рд╡рд╛рдЗрд╕ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдВрддрд┐рдо рд╡реИрдз рдмреНрд▓реЙрдХ рд╣реЗрдбрд░ (рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк + рд╕реАрдЖрд░рд╕реА) рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ, рдЕрдЧрд▓реЗ рдмреНрд▓реЙрдХ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдирд╡реАрдирддрдо рдмреНрд▓реЙрдХ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдмреНрд▓реЙрдХ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИред


рдкрдврд╝рддреЗ рд╕рдордп, рд╕рднреА рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдорд╛рдиреНрдп рдмреНрд▓реЙрдХ (рдЬреЛ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд▓рд┐рдП рд╕реАрдЖрд░рд╕реА рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рддрдм рддрдХ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдкрд╣рд▓реЗ рдЕрдорд╛рдиреНрдп рд░рд┐рдХреЙрд░реНрдб (рдпрд╛рдиреА рдЙрд╕ рд╕рдордп рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдЯ рди рдЬрд╛рдП, рдЬрдм рдмреНрд▓реЙрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдмрд╛рдХреА рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреА рдЧрдгрдирд╛ рдмреНрд▓реЙрдХ рдХреЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рдмреНрд▓реЙрдХ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХреА рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред


рдПрд▓рд╕реАрдбреА


рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рдкреНрд░рджрд░реНрд╢рди QC1602A рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ 16 рд╡рд░реНрдгреЛрдВ рдХреА 2 рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╕реЗрдВрд╕рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ: рдкреНрд░рд╡рд╛рд╣ рдФрд░ рддрд╛рдкрдорд╛рдиред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рдкрд╛рд░ рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ рдореВрд▓реНрдп рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╣реАрдЯрд┐рдВрдЧ рд░рд┐рд▓реЗ рдФрд░ рдкрдВрдк рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд░ 5 рд╕реЗрдХрдВрдб рдореЗрдВ, рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╡рд░реНрддрдорд╛рди рд╕реАрдорд╛рдУрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдореЛрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреА рддрд╕реНрд╡реАрд░реЗрдВ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред


рдЧреНрд░рд╛рдлрд┐рдХреНрд╕


рдЬрдм рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓реЙрдЧрд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдо рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ:


 var xhttp = new XMLHttpRequest(); xhttp.open("GET", "logs.bin", true); xhttp.responseType = "arraybuffer"; xhttp.onprogress = updateProgress; xhttp.onload = function (oEvent) { var arrayBuffer = xhttp.response; if (arrayBuffer) { var byteArray = new Uint8Array(arrayBuffer); тАж }}; xhttp.send(null); 

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


рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ, jqPlot JavaScript рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реЗрдЦрд╛рдВрдХрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ JS рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдлрд╛рдЗрд▓реЗрдВ рд╕реНрд╡рдпрдВ рд▓реЛрдХрдкреНрд░рд┐рдп CDN рд╕реЗ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВред


рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:



рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ 9:35 рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдмреЙрдпрд▓рд░ рдиреЗ рдзреАрд░реЗ-рдзреАрд░реЗ рд╣реАрдЯрд┐рдВрдЧ рд╕рд░реНрдХрд┐рдЯ (рд╕реЗрдВрд╕рд░ T3, T4) рдХреЛ рдЧрд░реНрдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреВрд▓ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рддрд╛рдкрдорд╛рди рдмрдврд╝рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ (рд╕реЗрдВрд╕рд░ T1, T2)ред рд▓рдЧрднрдЧ 10:20 рдкрд░, рдмреЙрдпрд▓рд░ рдиреЗ рдШрд░ рдореЗрдВ рдЧрд░реНрдо рдкрд╛рдиреА рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рд╣реАрдЯрд┐рдВрдЧ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рддрд╛рдкрдорд╛рди рдЧрд┐рд░рд╛ред рдлрд┐рд░ рдПрдХ рдФрд░ 10 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж, рдмреЙрдпрд▓рд░ рдкреВрд▓ рдХреЗ рдкрд╛рдиреА рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред 10:50 рдмрдЬреЗ рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рдШрдЯреА: рдкреВрд▓ рдореЗрдВ рдкрд╛рдиреА рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрдВрдк рдЕрдЪрд╛рдирдХ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рдкрд╛рдиреА рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рддреЗрдЬреА рд╕реЗ рд╢реВрдиреНрдп рддрдХ рдЧрд┐рд░ рдЧрдпрд╛, рд╣реАрдЯрд┐рдВрдЧ рд░рд┐рд▓реЗ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ (рд▓рд╛рд▓ рдЪрд╛рд░реНрдЯ рдкрд░ 2 рд▓рд╛рдЗрди рдкрд░ рдмрд┐рдВрджреАрджрд╛рд░ рд░реЗрдЦрд╛), рдЬрд┐рд╕рд╕реЗ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗред рд▓реЗрдХрд┐рди рдбрд┐рд╡рд╛рдЗрд╕ рдЕрднреА рднреА рд╣реАрдЯрд┐рдВрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣рд╛ (рд▓рд╛рд▓ рдЪрд╛рд░реНрдЯ рдкрд░ 2 рд▓рд╛рдЗрди)ред рдпрд╛рдиреА рдпрджрд┐ рдкрдВрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рддрд╛рдкрдорд╛рди рд╕рд╛рдорд╛рдиреНрдп рдерд╛, рддреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реАрдЯрд┐рдВрдЧ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдкрдВрдк рдХреЗ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╢рдЯрдбрд╛рдЙрди рдХреЗ рдмрд╛рдж, рд╣реАрдЯ рдПрдХреНрд╕рдЪреЗрдВрдЬрд░ рдХреЗ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рдкреВрд▓ рд╡реЙрдЯрд░ рд╕рд░реНрдХрд┐рдЯ (рдЯреА 1, рдЯреА 2) рдореЗрдВ рддрд╛рдкрдорд╛рди рддреЗрдЬреА рд╕реЗ рдмрдврд╝рдиреЗ рд▓рдЧрд╛ред рдФрд░ рдпрджрд┐ рдмреЙрдпрд▓рд░ рдХреЗ рддреЗрдЬ рдмрдВрдж рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рддреЛ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрдЧреАред


рдПрдВрдмреЗрдбреЗрдб рд╡реЗрдм рд╕рд░реНрд╡рд░


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


рддреИрдпрд╛рд░ рдбрд┐рд╡рд╛рдЗрд╕


рддреИрдпрд╛рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдХрдЯрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдПрд▓рд╕реАрдбреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЗрдж рдХрд╛рдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЫреЗрджред



рд╡рд┐рднрд┐рдиреНрди рдореЛрдб рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдореБрдЦреМрдЯреЗ рдХреА рддрд╕реНрд╡реАрд░реЗрдВ

рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмреАрддреЗ рд╕рдордп рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде:



рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде:



рдирд┐рд╖реНрдХрд░реНрд╖


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


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

Source: https://habr.com/ru/post/hi413955/


All Articles