рд╣рдо Amperka рд╕реЗ GPRS рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рд░рд╛рддреЗ рд╣реИрдВ

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

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

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

рдореЙрдбреНрдпреВрд▓ рд╣реА


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

рдЫрд╡рд┐

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

рдкрд░рд┐рдпреЛрдЬрдирд╛


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

рдЫрд╡рд┐

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

рдЕрдХрд┐рд▓реАрд╕ рдПрдбрд╝реА


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

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

рдкрд╣рд▓рд╛ "рд▓реЗрдХрд┐рди", рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ред рдореЙрдбреНрдпреВрд▓ Arduino рдбреНрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдореНрдкрд░рдХрд╛ рдХреЗ рддрдХрдиреАрдХреА рд╕рдорд░реНрдерди рд╡рд╛рд▓реЗ рдмрд╣реБ-рджрд┐рд╡рд╕реАрдп рдкрддреНрд░рд╛рдЪрд╛рд░ рдиреЗ рднреА рдорджрдж рдирд╣реАрдВ рдХреАред Arduino рдбреНрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рди рддреЛ рдореИрдВ рдФрд░ рди рд╣реА рдХрдВрдкрдиреА рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ GPRS рд╢реАрд▓реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдирджрд╛рд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ рдФрд░ рдЬреАрдкреАрдЖрд░рдПрд╕ рд╢реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдЧрд╛ред

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

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

SoftwareSerial рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ


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

рдареАрдХ рд╣реИ ... рд╣рдо SoftwareSerial рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдШрд╛рдд рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред SoftwareSerial рдХрдИ Arduino Mega рдкрд┐рди рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдХреЗрд╡рд▓ 62 рд╡реЗрдВ рдФрд░ 63 рд╡реЗрдВ рдкрд┐рди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрди рдкрд░ рд╣реА рдХреНрдпреЛрдВ? рдпрд╣ рдкрд╣реЗрд▓реА рдорд╣рд╛рди рд╣реИред рд╕рднреА рджрд┐рдЦрд╛рд╡реЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдХрднреА рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗред

рдкрд╕рдВрдж рдХрд╛ рдЖрдЯрд╛


рдФрд░ рдЕрдм, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред рдЬреАрдкреАрдЖрд░рдПрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдХреЗ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рднреА рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдХреЗрд╡рд▓ 99% рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЕрдиреБрд░реЛрдз рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдиреЗ рддрдХ рдпрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

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

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

рдПрд╡рд░реЗрд╕реНрдЯ рдХреА рд╡рд┐рдЬрдп


рдореИрдВ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ рдПрдореНрдкрд░рдХрд╛ рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд, рдмрд╣реБрдд рдХрдард┐рди рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╢реЛрдз рдХрд╛рд░реНрдп, рдкрд░рд┐рд╖реНрдХреГрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕рдВрдХрд▓рди рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рдпрд╛рд╕ рд╣реИред

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

рдЫрд╡рд┐

рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдЬрдЧрд╣ рдкреВрд░реНрдг рдПрдПрдордПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛрдб
/* Modul GPRS part of Arduino Mega Server project */ #ifdef GPRS_FEATURE #include <SoftwareSerial.h> #define ALWAYS 1 #define GPRS_ON_PIN 2 #define GPRS_STATE_PIN 3 #define GPRS_RX_PIN 62 #define GPRS_TX_PIN 63 #define MASTER "+7yyyxxxxxxx" #define MESSAGE "Hello" #define CHECK_ERROR 0 #define CHECK_MARKER 1 #define CHECK_OK 2 #define NO_CHECK 3 #define MARKER_OK "OK" #define MARKER_NO_CHECK "-" // GPRS commands #define DATA_TEMP1 "temp1" #define DATA_CONT1 "cont1" #define DATA_LEAK1 "leak1" #define DATA_SMOKE1 "smoke1" #define DATA_ALL "all" #define DATA_RELAY1 "relay1" #define DATA_SERVO1 "servo1" #define DATA_PERIOD "period" #define CMD_RELAY1 "relay1=" #define CMD_SERVO1 "servo1=" #define CMD_PERIOD "period=" byte gprsPeriod = 24; SoftwareSerial GPRS(GPRS_RX_PIN, GPRS_TX_PIN); #define MAX_SOFT_SERIAL 128 char bufferGprs[MAX_SOFT_SERIAL]; int curBuf = 0; #define MESSAGE_LENGTH 20 char message[MESSAGE_LENGTH]; char phone[16]; char datetime[24]; void gprsInit() { initStart("GPRS", true); GPRS.begin(9600); gprsOnOff(); gprsStart(); sendGprs("AT+CFUN=1", "OK"); sendGprs("AT+CNMI=2,1", "OK"); sendGprs("AT+CMGF=1", "OK"); sendGprs("AT+CLIP=1", "OK"); modulGprs = MODUL_ENABLE; initDone(true); } void clearBufferGprs() { for (int i = 0; i < curBuf; i++) { bufferGprs[i] = 0; } } void gprsStart() { while (ALWAYS) { delay(1000); curBuf = 0; GPRS.println("AT"); if (GPRS.available() > 0) { while (GPRS.available() > 0) { bufferGprs[curBuf++] = GPRS.read(); } bufferGprs[curBuf] = '\0'; if (strcmp(bufferGprs, "AT\r\n\r\nOK\r\n") == 0) { timeStamp(); Serial.println(" GPRS ON"); break; } else { Serial.print("."); } } clearBufferGprs(); } } // gprsStart() void gprsOnOff() { pinMode(GPRS_ON_PIN, OUTPUT); if (digitalRead(GPRS_STATE_PIN) != HIGH) { digitalWrite(GPRS_ON_PIN, HIGH); delay(3000); } digitalWrite(GPRS_ON_PIN, LOW); } bool clearSoftwareSerial() { if (GPRS.available() > 0) { while (GPRS.available() > 0) { char c = GPRS.read(); } } } #define DELAY_GPRS_COMMAND 2000 byte sendGprs(String command, char marker[]) { unsigned long timer = millis(); bool success = false; clearSoftwareSerial(); clearBufferGprs(); Serial.print(F("Send command: ")); //Serial.println(command); while (ALWAYS) { if (millis() - timer > DELAY_GPRS_COMMAND) { Serial.print(F("Send error: ")); Serial.println(command); //clearBufferGprs(); return CHECK_ERROR; } curBuf = 0; GPRS.println(command); delay(280); if (GPRS.available() > 0) { while (GPRS.available() > 0) { char c = GPRS.read(); if (curBuf > MAX_SOFT_SERIAL - 2) {break;} bufferGprs[curBuf++] = c; Serial.print(c); } Serial.println(); bufferGprs[curBuf] = '\0'; if (marker == MARKER_NO_CHECK) { Serial.print(F("Send no check, ")); Serial.println(millis() - timer); return NO_CHECK; } else if (StrContains(bufferGprs, marker)) { Serial.print(F("Send success, ")); Serial.println(millis() - timer); return CHECK_MARKER; } else if (StrContains(bufferGprs, MARKER_OK)) { Serial.print(F("Send success, ")); Serial.println(millis() - timer); return CHECK_OK; } else { Serial.println("."); } } // if (GPRS.available() > 0) delay(500); } // while (ALWAYS) } // sendGprs( ) // +CMGR: "REC READ", "XXXXXXXXXXX", "", "16/10/01,10:00:00+12" // SMS text void parseSms(char *message, char *phone, char *datetime) { int i = 0; int j = 0; while (bufferGprs[i] != '\"') {i++;} i++; while (bufferGprs[i] != '\"') {i++;} i++; while (bufferGprs[i] != '\"') {i++;} i++; while (bufferGprs[i] != '\"') {phone[j++] = bufferGprs[i++];} phone[j] = '\0'; i++; while (bufferGprs[i] != '\"') {i++;} i++; while (bufferGprs[i] != '\"') {i++;} i++; while (bufferGprs[i] != '\"') {i++;} i++; j = 0; while (bufferGprs[i] != '\"') {datetime[j++] = bufferGprs[i++];} datetime[j] = '\0'; i++; while (bufferGprs[i] != '\n') {i++;} i++; j = 0; //Serial.print(F("strlen(bufferGprs): ")); Serial.println(strlen(bufferGprs)); while (i < strlen(bufferGprs) - 1) { if (j > MESSAGE_LENGTH - 1) {break;} if ((byte)bufferGprs[i] == 13) {break;} message[j++] = bufferGprs[i++]; } Serial.print(F("strlen(message1): ")); Serial.println(strlen(message)); message[j] = '\0'; Serial.print(F("strlen(message2): ")); Serial.println(strlen(message)); for (int z = 0; z < strlen(message); z++) { Serial.print((byte)message[z]); Serial.print(F(" ")); } Serial.println(); } void deleteSms() { if (sendGprs("AT+CMGDA=\"DEL ALL\"", "OK")) { Serial.println(F("All SMS deleted")); } else { Serial.println(F("Error delete all SMS")); } } String stringSens(byte v) { String s = ""; switch (v) { case 0: s = (F("OFF")); break; case 1: s = (F("ON")); break; default: s = (F("?")); } return s; } String stringLeak(byte v) { String s = ""; switch (v) { case 0: s = (F("LEAK!")); break; case 1: s = (F("OK")); break; default: s = (F("?")); } return s; } String stringSmoke(byte v) { String s = ""; switch (v) { case 0: s = (F("OK")); break; case 1: s = (F("SMOKE!")); break; default: s = (F("?")); } return s; } String mkTemp1() {String s = DATA_TEMP1; s += '='; s += String(lpTempTemp); s += '\n'; return s;} String mkCont1() {String s = DATA_CONT1; s += '='; s += stringSens(lpContCont1); s += '\n'; return s;} String mkLeak1() {String s = DATA_LEAK1; s += '='; s += stringLeak(lpLeakLeak1); s += '\n'; return s;} String mkSmoke1() {String s = DATA_SMOKE1; s += '='; s += stringSmoke(smokeSmoke); s += '\n'; return s;} String mkRelay1() {String s = DATA_RELAY1; s += '='; s += stringSens(relayRelay); s += '\n'; return s;} String mkServo1() {String s = DATA_SERVO1; s += '='; s += stringSens(servoState); s += '\n'; return s;} String mkPeriod() {String s = DATA_PERIOD; s += '='; s += String(gprsPeriod); s += '\n'; return s;} String mkAll() { String s = ""; s += mkTemp1(); s += mkCont1(); s += mkLeak1(); s += mkSmoke1(); s += mkRelay1(); s += mkServo1(); s += mkPeriod(); return s; } void gprsSetRelay(byte v) { switch (v) { case 0: if (relayRelay) { relayRelay = STATE_OFF; } break; case 1: if (!relayRelay) { relayRelay = STATE_ON; } break; } } void gprsSetServo(byte v) { switch (v) { case 0: servoState = STATE_OFF; break; case 1: servoState = STATE_ON; break; } } void gprsAnswer() { String s = ""; String mess = String(message); String data = ""; if (mess == DATA_TEMP1) {s += mkTemp1();} else if (mess == DATA_CONT1) {s += mkCont1();} else if (mess == DATA_LEAK1) {s += mkLeak1();} else if (mess == DATA_SMOKE1) {s += mkSmoke1();} else if (mess == DATA_RELAY1) {s += mkRelay1();} else if (mess == DATA_SERVO1) {s += mkServo1();} else if (mess == DATA_PERIOD) {s += mkPeriod();} else if (mess == DATA_ALL) {s += mkAll();} else if (mess.indexOf(F("=")) >= 0) { byte p = mess.indexOf(F("=")); if (mess.indexOf(CMD_RELAY1) >= 0) {data = mess.substring(p + 1); gprsSetRelay(data.toInt()); s += DATA_RELAY1; s += '='; s += stringSens(relayRelay);} else if (mess.indexOf(CMD_SERVO1) >= 0) {data = mess.substring(p + 1); gprsSetServo(data.toInt()); s += DATA_SERVO1; s += '='; s += stringSens(servoState);} else if (mess.indexOf(CMD_PERIOD) >= 0) {data = mess.substring(p + 1); gprsPeriod = data.toInt(); s += DATA_PERIOD; s += '='; s += String(gprsPeriod);} } else { Serial.println(F("Not command!")); } //Serial.print(F("mess: ")); Serial.println(mess); //Serial.print(F("answ: ")); Serial.println(s); if (s == "") {s = "Error";} Serial.println(F("Send answer... ")); if (sendSms(MASTER, s)) { Serial.println(F("success")); } else { Serial.println(F("error")); } } void readSms() { byte result = sendGprs("AT+CMGR=1,1", "+CMGR:"); if (result == CHECK_MARKER) { parseSms(message, phone, datetime); Serial.print(F("Number: ")); Serial.println(phone); Serial.print(F("Datetime: ")); Serial.println(datetime); Serial.print(F("Message: ")); Serial.println(message); deleteSms(); if (String(phone) == String(MASTER)) { Serial.println(F("Message from MASTER!")); gprsAnswer(); } } else if (result == CHECK_OK) { Serial.println(F("No SMS")); } else { Serial.println(F("Error read SMS")); } } bool sendSms(char *number, String data) { String numstr = "AT+CMGS=\"" + String(number) + "\""; String messtr = data + String((char)26); if (sendGprs(numstr, ">")) { if (sendGprs(messtr, MARKER_NO_CHECK)) { return true; } } return false; } void sendPeriod() { Serial.println(F("Send period SMS... ")); if (sendSms(MASTER, mkAll())) { Serial.println(F("success")); } else { Serial.println(F("error")); } } void gprsWorks() { if (cycle20s) { readSms(); } switch (gprsPeriod) { case 1: if (cycle1h) {sendPeriod();} break; case 6: if (cycle6h) {sendPeriod();} break; case 12: if (cycle12h) {sendPeriod();} break; default: if (cycle24h) {sendPeriod();} break; } } #endif // GPRS_FEATURE 


рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛ рдХреЗ рд▓рд┐рдП рдПрдПрдордПрд╕ рд╕рдВрд╕реНрдХрд░рдг 0.16 рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд░реАрдХреНрд╖рдг рдиреЗ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ GPRS рд╢реАрд▓реНрдб рдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдерд┐рд░ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЛ рджрд┐рдЦрд╛рдпрд╛ред

AMS GPRS рд╢реАрд▓реНрдб рд╕рдкреЛрд░реНрдЯ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рдЬреАрдкреАрдЖрд░рдПрд╕ рд╢реАрд▓реНрдб рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрд░реБрдбрд┐рдиреЛ рдореЗрдЧрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд░рд▓ рдЪрд░рдгреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, AMS рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ

 #define GPRS_FEATURE 

рдФрд░

 byte modulGprs = MODUL_NOT_COMPILLED; 

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

 float lpTempTemp; byte lpContCont1; byte lpLeakLeak1; byte smokeSmoke; byte relayRelay; byte servoState; 

рд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛


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

рдЕрдиреБрд░реЛрдз


рдЕрдиреБрд░реЛрдз рдПрд╕рдПрдордПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рдЕрдиреБрд░реЛрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдпреБрдХреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ (рдПрд╕рдПрдордПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рднреЗрдЬрддрд╛ рд╣реИред рдмрд╣реБрдд рд╕рд░рд▓: рд╣рдо рдлреЛрди рд╕реЗ "рдЯреЗрдореНрдк 1" рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬрд╡рд╛рдм рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╡рд░реНрддрдорд╛рди рддрд╛рдкрдорд╛рди рдорд╛рди temp1=20.50 рднреЗрдЬрддрд╛ рд╣реИред

temp1 - рддрд╛рдкрдорд╛рди рдЕрдиреБрд░реЛрдз
cont1 - рд╕рдВрдкрд░реНрдХ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
рд▓реАрдХ 1 - рд▓реАрдХ рд╕реЗрдВрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
рд╕реНрдореЛрдХ 1 - рдХреНрд╡реЗрд░реА рд╕реНрдореЛрдХ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдЯреЗрдЯрд╕
relay1 - рд░рд┐рд▓реЗ (рдХреБрдВрдЬреА) рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз
рд╕рд░реНрд╡реЛ 1 - рд╕рд░реНрд╡реЛ рдлреАрдбрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
рдЕрд╡рдзрд┐ - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЯреЗрд▓реАрдореЗрдЯрд░реА рдкреИрдХреЗрдЬ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз
рд╕рднреА - рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ

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

рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдЬреАрдХреГрдд рдСрдкрд░реЗрдЯрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдВрдЪ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреЛрди рдирдВрдмрд░ (рдПрд╕) рд╕реЗ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред

рдЖрджреЗрд╢реЛрдВ


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

relay1 = - рд░рд┐рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг рдХрдорд╛рдВрдб (рдХреБрдВрдЬреА)
servo1 = - рдлреАрдбрд░ рдХрдВрдЯреНрд░реЛрд▓ рдХрдорд╛рдВрдб
рдЕрд╡рдзрд┐ = - рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдСрдЯреЛ рднреЗрдЬрдиреЗ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢

рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдХрдорд╛рдВрдб relay1=1 , рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ relay1=ON ред рдХрдорд╛рдВрдб relay1=0 , рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ relay1=OFF ред

рдХреЛрдб рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг


рдЬреАрдкреАрдЖрд░рдПрд╕ рдореЙрдбреНрдпреВрд▓ рдЖрд░рдВрднреАрдХрд░рдгред AMS рдореЙрдбреНрдпреВрд▓ рдХреА рдорд╛рдирдХ рдЖрд░рдВрднреАрдХрд░рдг, SoftwareSerial рдХрд╛ рд╢реБрднрд╛рд░рдВрдн, рдФрд░ GSM AT рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЬрд╛рджреВред рдЗрд╕ рдмреНрд▓реЙрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЬреАрдкреАрдЖрд░рдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреАрд╡рдВрдд рдХрд░рдирд╛ рдФрд░ рдирд┐рд░реНрд╡рд╛рдг рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИ рдпрджрд┐ рдЗрд╕ рдХреНрд╖рдг рддрдХ рдпрд╣ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдкрд░реЗ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

 void gprsInit() { initStart("GPRS", true); GPRS.begin(9600); gprsOnOff(); gprsStart(); sendGprs("AT+CFUN=1", "OK"); sendGprs("AT+CNMI=2,1", "OK"); sendGprs("AT+CMGF=1", "OK"); sendGprs("AT+CLIP=1", "OK"); modulGprs = MODUL_ENABLE; initDone(true); } 

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

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

1 рдШрдВрдЯреЗ, 6 рдШрдВрдЯреЗ, 12 рдШрдВрдЯреЗ рдпрд╛ 24 рдШрдВрдЯреЗ рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рднреЗрдЬрдиреЗ рдХрд╛ рдХреЛрдб рднреА рд╣реИред рдПрд╕рдПрдордПрд╕ рдХреЗ рдЬрд░рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХрдорд╛рдВрдб рднреЗрдЬрдХрд░ рдЗрд╕ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

 void gprsWorks() { if (cycle20s) { readSms(); } switch (gprsPeriod) { case 1: if (cycle1h) {sendPeriod();} break; case 6: if (cycle6h) {sendPeriod();} break; case 12: if (cycle12h) {sendPeriod();} break; default: if (cycle24h) {sendPeriod();} break; } } 

рдЬреАрдкреАрдЖрд░рдПрд╕ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╡рд┐рд╢реЗрд╖ рдПрдЯреА рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдЬреАрдкреАрдЖрд░рдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХрдорд╛рдВрдбреНрд╕ рдХреЛ рдХреЛрдб рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

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

 bool sendSms(char *number, String data) { String numstr = "AT+CMGS=\"" + String(number) + "\""; String messtr = data + String((char)26); if (sendGprs(numstr, ">")) { if (sendGprs(messtr, MARKER_NO_CHECK)) { return true; } } return false; } 

рдПрд╕рдПрдордПрд╕ рдкрдврд╝рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рд╕реНрд╡реАрдХреГрдд рдорд╛рдиреЛрдВ рдХреЛ рдЪрд░ рд╕рдВрджреЗрд╢, рдлреЛрди рдФрд░ рдбреЗрдЯрд╛рдЯрд╛рдЗрдо рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреНрд░рдорд╢рдГ рдкреНрд░рд╛рдкреНрдд рдХрдорд╛рдВрдб, рдлреЛрди рдирдВрдмрд░ рдФрд░ рднреЗрдЬрдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред

 void readSms() { byte result = sendGprs("AT+CMGR=1,1", "+CMGR:"); if (result == CHECK_MARKER) { parseSms(message, phone, datetime); Serial.print(F("Number: ")); Serial.println(phone); Serial.print(F("Datetime: ")); Serial.println(datetime); Serial.print(F("Message: ")); Serial.println(message); deleteSms(); if (String(phone) == String(MASTER)) { Serial.println(F("Message from MASTER!")); gprsAnswer(); } } else if (result == CHECK_OK) { Serial.println(F("No SMS")); } else { Serial.println(F("Error read SMS")); } } 

рдПрд╕рдПрдордПрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдЖрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

 void gprsAnswer() { String s = ""; String mess = String(message); String data = ""; if (mess == DATA_TEMP1) {s += mkTemp1();} else if (mess == DATA_CONT1) {s += mkCont1();} else if (mess == DATA_LEAK1) {s += mkLeak1();} else if (mess == DATA_SMOKE1) {s += mkSmoke1();} else if (mess == DATA_RELAY1) {s += mkRelay1();} else if (mess == DATA_SERVO1) {s += mkServo1();} else if (mess == DATA_PERIOD) {s += mkPeriod();} else if (mess == DATA_ALL) {s += mkAll();} else if (mess.indexOf(F("=")) >= 0) { byte p = mess.indexOf(F("=")); if (mess.indexOf(CMD_RELAY1) >= 0) {data = mess.substring(p + 1); gprsSetRelay(data.toInt()); s += DATA_RELAY1; s += '='; s += stringSens(relayRelay);} else if (mess.indexOf(CMD_SERVO1) >= 0) {data = mess.substring(p + 1); gprsSetServo(data.toInt()); s += DATA_SERVO1; s += '='; s += stringSens(servoState);} else if (mess.indexOf(CMD_PERIOD) >= 0) {data = mess.substring(p + 1); gprsPeriod = data.toInt(); s += DATA_PERIOD; s += '='; s += String(gprsPeriod);} } else { Serial.println(F("Not command!")); } //Serial.print(F("mess: ")); Serial.println(mess); //Serial.print(F("answ: ")); Serial.println(s); if (s == "") {s = "Error";} Serial.println(F("Send answer... ")); if (sendSms(MASTER, s)) { Serial.println(F("success")); } else { Serial.println(F("error")); } } 

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

 String stringSens(byte v) String stringLeak(byte v) String stringSmoke(byte v) String mkTemp1() String mkCont1() String mkLeak1() String mkSmoke1() String mkRelay1() String mkServo1() String mkPeriod() String mkAll() 

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

 void gprsSetRelay(byte v) void gprsSetServo(byte v) 

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

SoftwareSerial рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░


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

рдЖрдкрдХреЛ рдЗрд╕ рдмрдлрд╝рд░ рдХреЛ рдХрдо рд╕реЗ рдХрдо 128 рдмрд╛рдЗрдЯреНрд╕ рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЬрд╛рджреВ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдЬреАрдкреАрдЖрд░рдПрд╕ рд╢реАрд▓реНрдб рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ SoftwareSerial.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ SoftwareSerial.h рд╣реИред рдкрдВрдХреНрддрд┐

 #define _SS_MAX_RX_BUFF 64 // RX buffer size 

рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

 #define _SS_MAX_RX_BUFF 128 // RX buffer size 

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


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

рдЫрд╡рд┐

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

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


All Articles