рдЖрдЬ, рдорд╛рдпрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕, рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдЪреЕрдиреЗрд▓, рдЗрдВрдЯрд░рдиреЗрдЯ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рдЖрдгрд┐ рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддреЗрдЪреНрдпрд╛ рдЬрд▓рдж рд╡рд┐рдХрд╛рд╕рд╛рдореБрд│реЗ, рд╕реНрдорд╛рд░реНрдЯ рдШрд░рд╛рдВрдЪрд╛ рд╡рд┐рд╖рдп рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдд рдЖрд╣реЗ. рдкрд╛рд╖рд╛рдг рдпреБрдЧрд╛рдкрд╛рд╕реВрди рдорд╛рдирд╡реА рдШрд░рд╛рдВрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рдмрджрд▓ рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдФрджреНрдпреЛрдЧрд┐рдХ рдХреНрд░рд╛рдВрддреА 4.0 рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрдЬрдЪреНрдпрд╛ рдпреБрдЧрд╛рдд рддреЗ рдЖрд░рд╛рдорджрд╛рдпрдХ, рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╡рд╛рдкрд░реВрди рдЬрдЧрд╛рддреАрд▓ рдХреЛрдареВрдирд╣реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЬрдЯрд┐рд▓ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдХрд┐рдВрд╡рд╛ рджреЗрд╢рд╛рдЪреНрдпрд╛ рдШрд░рд╛рдЪреЗ рд░реВрдкрд╛рдВрддрд░ рдХрд░рдгрд╛рд░реЗ рдЙрдкрд╛рдп рдмрд╛рдЬрд╛рд░рд╛рдд рдпреЗрдд рдЖрд╣реЗрдд. рд╢рд┐рд╡рд╛рдп, рдорд╛рдирд╡реА-рдорд╢реАрди рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдпрд╛рдкреБрдвреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдЪреЗ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА - рдЙрдЪреНрдЪрд╛рд░ рдУрд│рдЦрдгреЗ рдЖрдгрд┐ рд╕рдВрд╢реНрд▓реЗрд╖рдг рдЕрд▓реНрдЧреЛрд░рд┐рджрдордореБрд│реЗ, рдПрдЦрд╛рджреА рд╡реНрдпрдХреНрддреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдореВрд│ рднрд╛рд╖реЗрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдорд╢реА рдмреЛрд▓рддреЗ.
рд╕рдзреНрдпрд╛ рдмрд╛рдЬрд╛рд░рд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯреАрдо рдХреНрд▓рд╛рдЙрдб рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдХреЗрд╡рд│ рджреЗрдЦрд░реЗрдЦреАрд╕рд╛рдареАрдЪ рдирд╡реНрд╣реЗ рддрд░ рджреВрд░рд╕реНрде рд╡рд╕реНрддреВрдВрдЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╕рдорд╛рд╡реЗрд╢рдХ рд╕рдорд╛рдзрд╛рдирд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЬрд╛рдгрд╡рд▓реА.
рдЖрдореНтАНрд╣реА рддреБрдордЪреНтАНрдпрд╛ рд▓рдХреНрд╖реНтАНрдпрд╛рдВрд╕рд╛рдареА рддреАрди рд▓реЗрдЦрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рд╕рд╛рджрд░ рдХрд░рдд рдЖрд╣реЛрдд, рдЬреЗ рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдХреНтАНрд▓рд╛рдЙрдб рд╕реНтАНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНтАНрдЯрдордЪреНтАНрдпрд╛ рд╕рд░реНрд╡ рдореБрдЦреНтАНрдп рдШрдЯрдХрд╛рдВрдмрджреНрджрд▓ рд╕рд╛рдВрдЧрддреАрд▓, рдЬреЗ рд▓реЗрдЦрдХрд╛рдиреЗ рд╡реНтАНрдпрдХреНтАНрддреАрд╢: рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдкрд╣рд┐рд▓рд╛ рд▓реЗрдЦ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдордордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдХреНрд▓рд╛рдпрдВрдЯ рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рдЖрд╣реЗ, рджреБрд╕рд░рд╛ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдореЛрдмрд╛рдЗрд▓ рдЖрдгрд┐ рд╕реНрдерд┐рд░ рдЙрдкрдХрд░рдгрд╛рдВрд╡рд░ рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓рд╛рдпрдВрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рдЖрд╣реЗ.
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЙрдкрдХрд░рдгреЗ
рдкреНрд░рдердо, рд╕рд╛рдорд╛рдиреНрдп рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ, рдбрдЪрд╛ рдХрд┐рдВрд╡рд╛ рдХреЙрдЯреЗрдЬрдордзреВрди рд╕реНрдорд╛рд░реНрдЯ рдШрд░ рдХрд╕реЗ рдмрдирд╡рд╛рдпрдЪреЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдЦрд╛рд▓реАрд▓ рдЙрдкрдХрд░рдгреЗ рдШрд░рд╛рдд рдареЗрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
- рд╡рд┐рд╡рд┐рдз рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдорд╛рдкрджрдВрдб рдореЛрдЬрдгрд╛рд░реЗ рд╕реЗрдиреНрд╕рд░;
- рдмрд╛рд╣реНрдп рд╡рд╕реНрддреВрдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░реЗ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░;
- рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдЬреЛ рд╕реЗрдиреНрд╕рд░ рдореЛрдЬрдорд╛рдк рдЖрдгрд┐ рдПрдореНрдмреЗрдбреЗрдб рд▓реЙрдЬрд┐рдХрдиреБрд╕рд╛рд░ рдЧрдгрдирд╛ рдХрд░рддреЛ рдЖрдгрд┐ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░реНрд╕рдирд╛ рдЖрджреЗрд╢ рдЬрд╛рд░реА рдХрд░рддреЛ.
рдЦрд╛рд▓реАрд▓ рдЖрдХреГрддреА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдордЪреЗ рдЖрдХреГрддреА рджрд░реНрд╢рд╡рддреЗ, рдЬреНрдпрд╛рд╡рд░ рдмрд╛рдерд░реВрдордордзреНрдпреЗ рдкрд╛рдгреА рдЧрд│рддреАрд╕рд╛рдареА рд╕реЗрдиреНрд╕рд░ (1) рдмрд╛рдерд░реВрдордордзреНрдпреЗ, рддрд╛рдкрдорд╛рди (2) рдЖрдгрд┐ рд▓рд╛рдЗрдЯрд┐рдВрдЧ (3) рдмреЗрдбрд░реВрдордордзреНрдпреЗ, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╕реЙрдХреЗрдЯ (4) рд╕реНрд╡рдпрдВрдкрд╛рдХрдШрд░рд╛рдд рдЖрдгрд┐ рдПрдХ рд╣реЙрд▓рд╡реЗрдордзреНрдпреЗ рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгрд╛рд░рд╛ рдХреЕрдореЗрд░рд╛ (5).
рд╕рдзреНрдпрд╛, RF433, Z-Wave, ZigBee, Bluetooth рдЖрдгрд┐ WiFi рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдпрд░рдд рд╡рд╛рдпрд░рд▓реЗрд╕ рд╕реЗрдиреНрд╕рд░ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. рддреНрдпрд╛рдВрдЪреЗ рдореБрдЦреНрдп рдлрд╛рдпрджреЗ рдореНрд╣рдгрдЬреЗ рд╕реНрдерд╛рдкрдирд╛ рдЖрдгрд┐ рд╡рд╛рдкрд░ рд╕реБрд▓рднрддрд╛, рддрд╕реЗрдЪ рдХрдореА рдХрд┐рдВрдордд рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛, рдХрд╛рд░рдг рдЙрддреНрдкрд╛рджрдХ рддреНрдпрд╛рдВрдЪреА рдЙрдкрдХрд░рдгреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рдмрд╛рдЬрд╛рд░рдкреЗрдареЗрдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕рд░рд╛рд╕рд░реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдпрддреНрдирд╢реАрд▓ рдЖрд╣реЗрдд.
рд╕реЗрдиреНрд╕рд░реНрд╕ рдЖрдгрд┐ рдЕтАНреЕрдХреНрдЯреНрдпреБрдПрдЯрд░, рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рд╡рд╛рдпрд░рд▓реЗрд╕ рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ (6) рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдд - рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдпрдХреНрд░реЛ рдХреЙрдореНрдкреНрдпреБрдЯрд░ рдЬреЛ рдпрд╛ рд╕рд░реНрд╡ рдЙрдкрдХрд░рдгрд╛рдВрдирд╛ рдПрдХрд╛рдЪ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдПрдХрддреНрд░ рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рддреЛ.
рддрдерд╛рдкрд┐, рдХрд╛рд╣реА рдЙрдкрд╛рдп рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕реЗрдиреНрд╕рд░, рдПрдХ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░ рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдХрддреНрд░ рдХрд░реВ рд╢рдХрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдкреНрд▓рдЧ рд╢реЗрдбреНрдпреВрд▓рдиреБрд╕рд╛рд░ рдЪрд╛рд▓реВ рдХрд┐рдВрд╡рд╛ рдмрдВрдж рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгрд╛рд░рд╛ рдХреЕрдореЗрд░рд╛ рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕рд┐рдЧреНрдирд▓рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡реНрд╣рд┐рдбрд┐рдУ рд░реЗрдХреЙрд░реНрдб рдХрд░реВ рд╢рдХрддреЛ. рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЖрдкрдг рд╡реЗрдЧрд│реНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдХрд╛рд╢рд┐рд╡рд╛рдп рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рдЕрдиреЗрдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрд╕рд╣ рдПрдХ рд▓рд╡рдЪрд┐рдХ рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рд▓рд╛ рдЬрд╛рдЧрддрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА, рдирд┐рдпрдорд┐рдд рдЗрдВрдЯрд░рдиреЗрдЯ рд░рд╛рдЙрдЯрд░ (7) рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреЛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдШрд░рд╛рдд рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрд░рдЧреБрддреА рдЙрдкрдХрд░рдг рдмрдирд▓рд╛ рдЖрд╣реЗ. рдпреЗрдереЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдЖрдгрдЦреА рдПрдХ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЖрд╣реЗ - рдЬрд░ рдЗрдВрдЯрд░рдиреЗрдЯрдЪреЗ рдХрдиреЗрдХреНрд╢рди рддреБрдЯрд▓реЗ рдЕрд╕реЗрд▓ рддрд░, рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡реЗрдордзреНрдпреЗ рдирд╕реВрди рдХрдВрдЯреНрд░реЛрд▓рд░рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд▓реЙрдЬрд┐рдХ рдмреНрд▓реЙрдХрдореБрд│реЗ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рдд рд░рд╛рд╣реАрд▓.
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░
рдпрд╛ рд▓реЗрдЦрд╛рдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рд┐рдВрдЧрд▓-рдмреЛрд░реНрдб рдорд╛рдпрдХреНрд░реЛ рдХреЙрдореНрдкреНрдпреБрдЯрд░рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.
рдХрдВрдЯреНрд░реЛрд▓рд░ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдгреЗ рдЕрдЧрджреА рд╕реЛрдкреЗ рдЖрд╣реЗ - рдорд╛рдпрдХреНрд░реЛ рдХреЙрдореНрдкреНрдпреБрдЯрд░ (1) рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХрдЪреНрдпрд╛ рдХреЗрд╕рдордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ (2), рдирдВрддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рд╕рд╣ рдорд╛рдпрдХреНрд░реЛрдПрд╕рдбреА рд╕реНрд╡рд░реВрдкрд╛рдд 8 GB рдореЗрдорд░реА рдХрд╛рд░реНрдб (3) рдЖрдгрд┐ USB Z-Wave рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░ (4) рдордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрд▓реЙрдЯ. рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ 5V, 2.1A рдкреЙрд╡рд░ рдЕрдбреЕрдкреНрдЯрд░ (5) рдЖрдгрд┐ USB - рдорд╛рдпрдХреНрд░реЛ-USB рдХреЗрдмрд▓ (6) рджреНрд╡рд╛рд░реЗ рд╡реАрдЬ рдкреБрд░рд╡рдареНрдпрд╛рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреНрд░реЛрд▓рд░рдХрдбреЗ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдУрд│рдЦ рдХреНрд░рдорд╛рдВрдХ рдЕрд╕рддреЛ, рдЬреЛ рдкреНрд░рдердо рд▓реЙрдиреНрдЪ рдХреЗрд▓реНрдпрд╛рд╡рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЕрд╕рддреЛ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрд╡рд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЛ.
рдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рд▓рд┐рдирдХреНрд╕ рд░рд╛рд╕реНрдкрдмрд┐рдпрди рд╕реНрдЯреНрд░реЗрдЪ. рдпрд╛рдд рдЦрд╛рд▓реАрд▓ рдореБрдЦреНрдп рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ:
- рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЙрдкрдХрд░рдгреЗ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдбрд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛;
- рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕;
- рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕.
рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореНрдмреЗрдбреЗрдб рдбреАрдмреАрдПрдордПрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ
рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдорд╛рдпрдХреНрд░реЛрдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рдкрд░реВрди PHP 7 рдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ
(рдЪрд┐рддреНрд░ рдЙрдЪреНрдЪ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдордзреНрдпреЗ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛)
рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореНрд╣рдгрдЬреЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЙрдкрдХрд░рдгреЗ (рдЖрдпрдкреА рдкрд╛рд│рдд рдареЗрд╡рдгрд╛рд░реЗ рдХреЕрдореЗрд░реЗ рдЖрдгрд┐ рд╕реЗрдиреНрд╕рд░) рдХрдВрдЯреНрд░реЛрд▓рд░рд╢реА рдЬреЛрдбрдгреЗ. рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рди SQLite рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдХрдВрдЯреНрд░реЛрд▓рд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рд╡рд╛рдЪрддреЗ. рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА, рддреЗ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ RESTful API рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ JSON рд╕реНрд╡рд░реВрдкрд╛рдд рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рдкрд╛рдард╡рддреЗ.
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ - рдПрдХ рдкреНрд░рдореБрдЦ рдШрдЯрдХ рдЬреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдордЪрд╛ рдЖрдзрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рд╕рд░реНрд╡ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХрд░рддреЛ: рд╕рдВрд╡реЗрджреА рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ, рдПрдореНрдмреЗрдбреЗрдб рд▓реЙрдЬрд┐рдХрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд┐рдпрдВрддреНрд░рдг рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рдХрд░рдгреЗ. рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдЙрджреНрджреЗрд╢ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЗрдХреНрд╡рд┐рдкрдореЗрдВрдЯрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреЗ, рдЙрддреНрдкрд╛рджрди рд▓реЙрдЬрд┐рдХрд▓ рдирд┐рдпрдорд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ, рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдбрдХрдбреВрди рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рд╣рд╛ рдЖрд╣реЗ. рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдордзреАрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ C++ рдордзреНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рд░реВрдкрд╛рдд рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рд╕реНрд╡рддрдВрддреНрд░ рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рд▓реЙрдиреНрдЪ рдХреЗрд▓реА рдЬрд╛рддреЗ. systemd рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдирдХреНрд╕ рд░рд╛рд╕реНрдкрдмрд┐рдпрди.
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдореБрдЦреНрдп рдмреНрд▓реЙрдХреНрд╕ рдЖрд╣реЗрдд:
- рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ;
- рдЖрдпрдкреА рдХреЕрдореЗрд░рд╛ рд╕рд░реНрд╡реНрд╣рд░;
- Z-рд╡реЗрд╡реНрд╣ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд╕рд░реНрд╡реНрд╣рд░;
- рдЙрддреНрдкрд╛рджрди рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдорд╛рдВрдЪреЗ рд╕рд░реНрд╡реНрд╣рд░;
- рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдгрд┐ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдорд╛рдВрдЪрд╛ рдмреНрд▓реЙрдХ;
- рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА RESTful API рд╕рд░реНрд╡реНрд╣рд░;
- рдХреНрд▓рд╛рдЙрдбрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА MQTT рдХреНрд▓рд╛рдпрдВрдЯ.
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрд╕реЗрд╕ рдмреНрд▓реЙрдХреНрд╕ рд╕реНрд╡рддрдВрддреНрд░ рдереНрд░реЗрдбреНрд╕ рдореНрд╣рдгреВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреНрдпрд╛рдордзреАрд▓ рдорд╛рд╣рд┐рддреА JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ (рдХрд┐рдВрд╡рд╛ рдкреНрд░реЛрд╕реЗрд╕ рдореЗрдорд░реАрдордзреНрдпреЗ рдпрд╛ рдлреЙрд░рдореЕрдЯрдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгрд╛рд░реА рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕) рдореЗрд╕реЗрдЬрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдЯреНрд░рд╛рдиреНрд╕рдлрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдореБрдЦреНрдп рдШрдЯрдХ рдЖрд╣реЗ рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ, рдЬреЗ рд╕рд░реНрд╡ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреНрд▓реЙрдХреНрд╕рд╡рд░ JSON рд╕рдВрджреЗрд╢рд╛рдВрдирд╛ рд░реВрдЯ рдХрд░рддреЗ. JSON рд╕рдВрджреЗрд╢ рдорд╛рд╣рд┐рддреА рдлреАрд▓реНрдбрдЪреЗ рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рддреЗ рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХрдгрд╛рд░реА рдореВрд▓реНрдпреЗ рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд:
рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкреНрд░рдХрд╛рд░
рдкреНрд░реЛрдЯреЛрдХреЙрд▓
рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд░
рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд░рд╛рдЬреНрдп
рдЖрджреЗрд╢
рдХреЕрдореЗрд░рд╛
onvif
рд╕реЗрдиреНрд╕рд░ рдбреЗрдЯрд╛
on
рдкреНрд░рд╡рд╛рд╣рд┐рдд (рдЪрд╛рд▓реВ/рдмрдВрдж)
рд╕реЗрдиреНрд╕рд░
zwave
рдЖрджреЗрд╢
рдмрдВрдж
рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ (рдЪрд╛рд▓реВ/рдмрдВрдж)
рдкреНрд░рднрд╛рд╡реА
рдПрдордХреЕрдЯ
рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЙрдЬрд┐рдХ рдирд┐рдпрдо
рдкреНрд░рд╡рд╛рд╣рд┐рдд (рдЪрд╛рд▓реВ/рдмрдВрдж)
evice(рдЬреЛрдбрд╛/рдХрд╛рдвреВрди рдЯрд╛рдХрд╛)
рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ
рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛
рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ (рдЪрд╛рд▓реВ/рдмрдВрдж)
рдмреНрд▓реВрдЯреВрде
рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд░рд╛рдЬреНрдп
рддреНрд░реБрдЯреА
рд╡рд╛рдпрдлрд╛рдп
rf
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреЕрдореЗрд░рд╛ рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░рдЪрд╛ рд╕рдВрджреЗрд╢ рдпрд╛рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рддреЛ:
{
"vendor": "*****",
"version": "3.0.0",
"timestampMs": "1566293475475",
"clientType": "gateway",
"deviceId": "1616453d-30cd-44b7-9bf0-************",
"deviceType": "camera",
"protocol": "onvif",
"messageType": "sensorData",
"sensorType": "camera",
"label": "motionDetector",
"sensorData": "on"
}
рдЙрддреНрдкрд╛рджрди рддрд░реНрдХ
рдбрд┐рд╕реНрдкреЕрдЪрд░рдХрдбреВрди рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреНрд▓реЙрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрддреЗ. рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд╣рд╛ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдЙрддреНрдкрд╛рджрди рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдо рдЖрд╣реЗ "рдЬрд░ рддрд░...", JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрд╕реЗрд╕ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рдореЗрд╕реЗрдЬ рд╣рдБрдбрд▓рд░рдЪреА рд▓рд┐рдВрдХ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, IP рдХреЕрдореЗрд░рд╛ рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ GUI рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдбрдХрдбреВрди рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдирд┐рдпрдо рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:
{
"if": {
"and": [{
"equal": {
"deviceId": "1616453d-30cd-44b7-9bf0-************"
}
},
{
"equal": {
"messageType": "command"
}
}
]
},
"then": {
"result": "true"
}
}
рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдЯреА рдЕрд╕рд▓реНрдпрд╛рд╕ рдкреВрд░реНрд╡рд╡рд░реНрддреА (рдбрд╛рд╡реАрдХрдбреЗ) рдирд┐рдпрдо рдЦрд░реЗ рдЖрд╣реЗрдд, рдордЧ рддреЗ рд╕рдорд╛рдзрд╛рдиреА рдЖрд╣реЗ рдкрд░рд┐рдгрд╛рдореА (рдЙрдЬрд╡реАрдХрдбреЗ) рдирд┐рдпрдо, рдЖрдгрд┐ рд╣рдБрдбрд▓рд░рд▓рд╛ JSON рд╕рдВрджреЗрд╢рд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рднрд╛рдЧрд╛рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рддреЛ. рдкреВрд░реНрд╡рд╡рд░реНрддреА рд▓реЙрдЬрд┐рдХрд▓ рдСрдкрд░реЗрдЯрд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЬреЗ JSON рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХрд░рддрд╛рдд:
- "рд╕рдорд╛рди" рд╕рдорд╛рди;
- "not_equal" рдЪреНрдпрд╛ рд╕рдорд╛рди рдирд╛рд╣реА;
- рдХрдореА "рдХрдореА";
- рдЕрдзрд┐рдХ "рдореЛрдареЗ";
- "less_or_equal" рдкреЗрдХреНрд╖рд╛ рдХрдореА рдХрд┐рдВрд╡рд╛ рд╕рдорд╛рди;
- "рдЧреНрд░реЗрдЯрд░_рдХрд┐рдВрд╡рд╛_рд╕рдорд╛рди" рдкреЗрдХреНрд╖рд╛ рдореЛрдареЗ рдХрд┐рдВрд╡рд╛ рд╕рдорд╛рди.
рдмреБрд▓рд┐рдпрди рдмреАрдЬрдЧрдгрд┐рдд рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░реВрди рддреБрд▓рдирд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕реВ рд╢рдХрддрд╛рдд:
- рдЖрдгрд┐ "рдЖрдгрд┐"
- рдХрд┐рдВрд╡рд╛ "рдХрд┐рдВрд╡рд╛";
- "рдирд╛рд╣реА".
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдкреЛрд▓рд┐рд╢ рдиреЛрдЯреЗрд╢рдирдордзреНрдпреЗ рдСрдкрд░реЗрдЯрд░ рдЖрдгрд┐ рдСрдкрд░реЗрдВрдб рд▓рд┐рд╣реВрди, рдЖрдкрдг рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рдмрд░реНтАНрдпрд╛рдЪ рдЬрдЯрд┐рд▓ рдкрд░рд┐рд╕реНрдерд┐рддреА рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛.
рддрдВрддреЛрддрдВрдд рд╕рдорд╛рди рдпрдВрддреНрд░рдгрд╛, JSON рд╕рдВрджреЗрд╢ рдЖрдгрд┐ JSON рд╕реНрд╡рд░реВрдкрд╛рддреАрд▓ рдЙрддреНрдкрд╛рджрди рдирд┐рдпрдорд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдЙрддреНрдкрд╛рджрди рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рдЬреНрдЮрд╛рдирд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрдиреНрд╕рд░рдЪреНрдпрд╛ рд╕рдВрд╡реЗрджреА рдбреЗрдЯрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ.
рдореЛрдмрд╛рдИрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рдкрд░реВрди, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЛ рдЬреНрдпрд╛рдиреБрд╕рд╛рд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрд╛рд░реНрдп рдХрд░рдд рдЕрд╕рд╛рд╡реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: тАЬрдкреБрдврдЪрд╛ рджрд░рд╡рд╛рдЬрд╛ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдиреНрд╕рд░ рдЯреНрд░рд┐рдЧрд░ рдЭрд╛рд▓рд╛ рдЕрд╕реЗрд▓ рддрд░ рд╣реЙрд▓рд╡реЗрдордзреНрдпреЗ рд▓рд╛рдИрдЯ рдЪрд╛рд▓реВ рдХрд░рд╛тАЭ. рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рд╕реЗрдиреНрд╕рд░ (рдУрдкрдирд┐рдВрдЧ рд╕реЗрдиреНрд╕рд░) рдЖрдгрд┐ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░ (рд╕реНрдорд╛рд░реНрдЯ рд╕реЙрдХреЗрдЯ рдХрд┐рдВрд╡рд╛ рд╕реНрдорд╛рд░реНрдЯ рд▓реЕрдореНрдк) рдЪреЗ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рд╡рд╛рдЪрддреЛ рдЖрдгрд┐ JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд▓реЙрдЬрд┐рдХрд▓ рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░рддреЛ, рдЬреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рд▓рд╛ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рддреЛ. рдЖрдордЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪреНрдпрд╛ рддрд┐рд╕рд░реНтАНрдпрд╛ рд▓реЗрдЦрд╛рдд рдпрд╛ рдпрдВрддреНрд░рдгреЗрдЪреА рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓, рдЬрд┐рдереЗ рдЖрдореНрд╣реА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓рд╛рдпрдВрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдмрджреНрджрд▓ рдмреЛрд▓реВ.
рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реА рдЙрддреНрдкрд╛рджрди рд▓реЙрдЬрд┐рдХ рдпрдВрддреНрд░рдгрд╛ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░реВрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ
void CRuleEngine::Process(PProperties pFact)
{
m_pActions->clear();
rapidjson::Reader reader;
for(TStringMap::value_type& rRule : m_Rules)
{
std::string sRuleId = rRule.first;
std::string sRuleBody = rRule.second;
CRuleHandler ruleHandler(pFact);
rapidjson::StringStream ruleStream(sRuleBody.c_str());
rapidjson::ParseResult parseResult = reader.Parse(ruleStream, ruleHandler);
if(!parseResult)
{
m_Logger.LogMessage(
NLogger2::ePriorityLevelError,
std::string("JSON parse error"),
"CRuleEngine::Process()",
std::string("RuleId: ") + sRuleId);
}
PProperties pAction = ruleHandler.GetAction();
if(pAction)
{
pAction->Set("ruleId", sRuleId);
m_pActions->push_back(pAction);
}
}
}
рддреЛ рдЖрд╣реЗ pFact тАФ JSON рд╕рдВрджреЗрд╢рд╛рддреАрд▓ рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛ рдЕрд╕рд▓реЗрд▓реА рд░рдЪрдирд╛, рдореА_рдирд┐рдпрдо тАФ рдЙрддреНрдкрд╛рджрди рдирд┐рдпрдорд╛рдВрдЪреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕреЕрд░реЗ. рдЗрдирдХрдорд┐рдВрдЧ рдореЗрд╕реЗрдЬ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрди рдирд┐рдпрдо рдпрд╛рдВрдЪреА рддреБрд▓рдирд╛ рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдХреЗрд▓реА рдЬрд╛рддреЗ рд╡рд╛рдЪрдХ. рдкрд╛рд░реНрд╕(рдирд┐рдпрдо рдкреНрд░рд╡рд╛рд╣, рдирд┐рдпрдо рд╣рдБрдбрд▓рд░)рдХреБрдареЗ рдирд┐рдпрдо рд╣рд╛рддрд╛рд│рдгрд╛рд░рд╛ рдмреБрд▓рд┐рдпрди рдЖрдгрд┐ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░рдЪреЗ рддрд░реНрдХ рдЕрд╕рд▓реЗрд▓реА рдПрдХ рд╡рд╕реНрддреВ рдЖрд╣реЗ. sRuleId тАФ рдПрдХ рдЕрдирдиреНрдп рдирд┐рдпрдо рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ, рдЬреНрдпрд╛рдореБрд│реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдирд┐рдпрдо рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрдгрд┐ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. m_pActions тАФ рддрд╛рд░реНрдХрд┐рдХ рдЕрдиреБрдорд╛рдирд╛рдВрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрд╕рд╣ рдПрдХ рдЕреЕрд░реЗ: рдирд┐рдпрдо рдмреЗрд╕рдЪреЗ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд▓реЗрд▓реЗ JSON рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рдкреБрдвреЗ рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдХрдбреЗ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд рдЬреЗрдгреЗрдХрд░реВрди рд╕рджрд╕реНрдп рдереНрд░реЗрдб рддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реВ рд╢рдХрддреАрд▓.
RapidJSON рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдлрдВрдХреНрд╢рдирд╢реА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рдпреЗрддреЗ strlen(), рдЖрдгрд┐ рдХрд┐рдорд╛рди рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрди рдЖрд╡рд╢реНрдпрдХрддрд╛ рдПрдореНрдмреЗрдбреЗрдб рдЙрдкрдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. JSON рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдорд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдорд╛рд╣рд┐рддреАрдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░рдгреНрдпрд╛рдЪреА рд▓рд╡рдЪрд┐рдХ рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ.
Z-рд╡реЗрд╡реНрд╣ рд╕реЗрдиреНрд╕рд░реНрд╕ рдЖрдгрд┐ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░реНрд╕
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдордЪрд╛ рдореБрдЦреНрдп рдлрд╛рдпрджрд╛ рдореНрд╣рдгрдЬреЗ рддреЛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдмрд╛рд╣реНрдп рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреАрд▓ рд╡рд┐рд╡рд┐рдз рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореЛрдЬреВ рд╢рдХрддреЛ рдЖрдгрд┐ рдкрд░рд┐рд╕реНрдерд┐рддреАрдиреБрд╕рд╛рд░ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпреЗ рдХрд░реВ рд╢рдХрддреЛ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕реЗрдиреНрд╕рд░ рдЖрдгрд┐ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреАрдд, рд╣реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдЪрд╛рд▓рдгрд╛рд░реА рд╡рд╛рдпрд░рд▓реЗрд╕ рдЙрдкрдХрд░рдгреЗ рдЖрд╣реЗрдд
рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрддрд╛ рдмрд╛рдЬрд╛рд░рд╛рдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд┐рд╡рд┐рдз Z-Wave рдЙрдкрдХрд░рдгреЗ рд╕рд╛рдкрдбрддреАрд▓. рдЪрд▓рд╛ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╛рд╣реВ рдпрд╛:
- Zipato PAN16 рд╕реНрдорд╛рд░реНрдЯ рд╕реЙрдХреЗрдЯ рдЦрд╛рд▓реАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореЛрдЬреВ рд╢рдХрддреЛ: рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХрд▓ рдиреЗрдЯрд╡рд░реНрдХрдордзреАрд▓ рд╡рд┐рдЬреЗрдЪрд╛ рд╡рд╛рдкрд░ (kWh), рдкреЙрд╡рд░ (W), рд╡реНрд╣реЛрд▓реНрдЯреЗрдЬ (V) рдЖрдгрд┐ рдХрд░рдВрдЯ (A). рдпрд╛рдд рдЕрдВрдЧрднреВрдд рд╕реНрд╡рд┐рдЪ рджреЗрдЦреАрд▓ рдЖрд╣реЗ рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдкрдг рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рд╡рд┐рджреНрдпреБрдд рдЙрдкрдХрд░рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛;
- рдирд┐рдУ рдХреВрд▓рдХреЕрдо рд▓реАрдХ рд╕реЗрдиреНрд╕рд░ рд░рд┐рдореЛрдЯ рдкреНрд░реЛрдмрдЪреЗ рд╕рдВрдкрд░реНрдХ рдмрдВрдж рдХрд░реВрди рд╕рд╛рдВрдбрд▓реЗрд▓реНрдпрд╛ рджреНрд░рд╡рд╛рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдУрд│рдЦрддреЛ;
- рдЬреЗрд╡реНрд╣рд╛ рдзреБрд░рд╛рдЪреЗ рдХрдг рдЧреЕрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪреЗрдВрдмрд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдд рддреЗрд╡реНрд╣рд╛ Zipato PH-PSG01 рд╕реНрдореЛрдХ рд╕реЗрдиреНрд╕рд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЛ;
- рдирд┐рдУ рдХреВрд▓рдХреЕрдо рдореЛрд╢рди рд╕реЗрдиреНрд╕рд░ рдорд╛рдирд╡реА рд╢рд░реАрд░рд╛рддреАрд▓ рдЗрдиреНрдлреНрд░рд╛рд░реЗрдб рд░реЗрдбрд┐рдПрд╢рдирдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЛ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рдПрдХ рдкреНрд░рдХрд╛рд╢ рд╕реЗрдиреНрд╕рд░ рдЖрд╣реЗ (Lx);
- рдорд▓реНрдЯреАрд╕реЗрдиреНрд╕рд░ рдлрд┐рд▓рд┐рдУ PST02-A рддрд╛рдкрдорд╛рди (┬░C), рдкреНрд░рдХрд╛рд╢ (%), рджрд░рд╡рд╛рдЬрд╛ рдЙрдШрдбрдгреЗ, рдЦреЛрд▓реАрдд рдПрдЦрд╛рджреНрдпрд╛ рд╡реНрдпрдХреНрддреАрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдореЛрдЬрддреЗ;
- Z-Wave USB Stick ZME E UZB1 рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░, рдЬреНрдпрд╛рд▓рд╛ рд╕реЗрдиреНрд╕рд░ рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗрдд.
рд╣реЗ рдЦреВрдк рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдорд╛рди рд╡рд╛рд░рдВрд╡рд╛рд░рддреЗрд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдЕрдиреНрдпрдерд╛ рддреЗ рдХрдиреЗрдХреНрд╢рдирдЪреНрдпрд╛ рдХреНрд╖рдгреА рдПрдХрдореЗрдХрд╛рдВрдирд╛ рджрд┐рд╕рдгрд╛рд░ рдирд╛рд╣реАрдд. рдПрдХрд╛ рдЭреЗрдб-рд╡реЗрд╡реНрд╣ рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреНрд░реЛрд▓рд░рд╢реА 232 рдкрд░реНрдпрдВрдд рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреЗ рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдХрд┐рдВрд╡рд╛ рджреЗрд╢рд╛рдЪреНрдпрд╛ рдШрд░рд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ. рдиреЗрдЯрд╡рд░реНрдХ рдХрд╡реНрд╣рд░реЗрдЬ рдХреНрд╖реЗрддреНрд░рд╛рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╕реЙрдХреЗрдЯ рд╕рд┐рдЧреНрдирд▓ рд░рд┐рдкреАрдЯрд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдорд╛рдЧреАрд▓ рдкрд░рд┐рдЪреНрдЫреЗрджрд╛рдордзреНрдпреЗ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдордзреНрдпреЗ, Z-рд╡реЗрд╡реНрд╣ рд╕рд░реНрд╡реНрд╣рд░ Z-рд╡реЗрд╡реНрд╣ рдЙрдкрдХрд░рдгрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рд╕реЗрдиреНрд╕рд░реНрд╕рдХрдбреВрди рдорд╛рд╣рд┐рддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рддреЗ
{
"vendor": "*****",
"version": "3.0.0",
"timestampMs": "1566479791290",
"clientType": "gateway",
"deviceId": "20873eb0-dd5e-4213-a175-************",
"deviceType": "sensor",
"protocol": "zwave",
"messageType": "sensorData",
"homeId": "0xefa0cfa7",
"nodeId": "20",
"sensorType": "METER",
"label": "Voltage",
"sensorData": "229.3",
"units": "V"
}
рддреНрдпрд╛рдирдВрддрд░ рддреЛ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдХрдбреЗ рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рддреЛ рдЬреЗрдгреЗрдХрд░реВрди рдЧреНрд░рд╛рд╣рдХ рдереНрд░реЗрдбреНрд╕ рддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддреАрд▓. рдореБрдЦреНрдп рдЧреНрд░рд╛рд╣рдХ рдЙрддреНрдкрд╛рджрди рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ, рдЬреЛ рд▓реЙрдЬрд┐рдХ рдирд┐рдпрдорд╛рдВрдЪреНрдпрд╛ рдкреВрд░реНрд╡рд╡рд░реНрддреАрдордзреАрд▓ рд╕рдВрджреЗрд╢ рдлреАрд▓реНрдб рдореВрд▓реНрдпрд╛рдВрд╢реА рдЬреБрд│рддреЛ. рдирд┐рдпрдВрддреНрд░рдг рдЖрджреЗрд╢ рдЕрд╕рд▓реЗрд▓реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдХрдбреЗ рдкрд░рдд рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рддреЗрдереВрди Z-Wave рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЬрд╛рддрд╛рдд, рдЬреЗ рддреНрдпрд╛рдВрдирд╛ рдбреАрдХреЛрдб рдХрд░реВрди Z-Wave рдиреЗрдЯрд╡рд░реНрдХ USB рдирд┐рдпрдВрддреНрд░рдХрд╛рдХрдбреЗ рдкрд╛рдард╡рддрд╛рдд. рдордЧ рддреЗ рдЕреЕрдХреНрдЯреНрдпреБрдПрдЯрд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рд╡рд╕реНрддреВрдВрдЪреА рд╕реНрдерд┐рддреА рдмрджрд▓рддреЗ рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдп рдХрд░рддреЗ.
(рдЪрд┐рддреНрд░ рдЙрдЪреНрдЪ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдордзреНрдпреЗ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛)
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ Z-рд╡реЗрд╡реНрд╣ рдЙрдкрдХрд░рдгреЗ рдЬреЛрдбрдгреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдЪреНрдпрд╛ рд╕реВрдЪреАрд╕рд╣ рдкреГрд╖реНрдард╛рд╡рд░ рдЬрд╛ рдЖрдгрд┐ "рдЬреЛрдбрд╛" рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛. RESTful API рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдЕреЕрдб рдХрдорд╛рдВрдб рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рдЖрдгрд┐ рдирдВрддрд░ рд╕рдВрджреЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рджреНрд╡рд╛рд░реЗ Z-Wave рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ Z-Wave рдиреЗрдЯрд╡рд░реНрдХ USB рдХрдВрдЯреНрд░реЛрд▓рд░рд▓рд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рдореЛрдбрдордзреНрдпреЗ рдареЗрд╡рддреЗ. рдкреБрдвреЗ, Z-Wave рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реЗрд╡рд╛ рдмрдЯрдгрд╛рдЪреНрдпрд╛ рджреНрд░реБрдд рджрд╛рдмрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ (3 рд╕реЗрдХрдВрджрд╛рдд 1,5 рджрд╛рдмрд╛) рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. USB рдХрдВрдЯреНрд░реЛрд▓рд░ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд▓рд╛ рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдЬреЛрдбрддреЛ рдЖрдгрд┐ Z-Wave рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рддреНрдпрд╛рдмрджреНрджрд▓рдЪреА рдорд╛рд╣рд┐рддреА рдкрд╛рдард╡рддреЛ. рддреНрдпрд╛ рдмрджрд▓реНрдпрд╛рдд, рдирд╡реАрди рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ SQLite рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдПрдХ рдирд╡реАрди рдПрдВрдЯреНрд░реА рддрдпрд╛рд░ рдХрд░рддреЗ. рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡реЗрд│реЗрдЪреНрдпрд╛ рдЕрдВрддрд░рд╛рдирдВрддрд░, рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ Z-Wave рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд╕реВрдЪреА рдкреГрд╖реНрдард╛рд╡рд░ рдкрд░рдд рдпреЗрддреЛ, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдорд╛рд╣рд┐рддреА рд╡рд╛рдЪрддреЛ рдЖрдгрд┐ рд╕реВрдЪреАрдордзреНрдпреЗ рдирд╡реАрди рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд▓рд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдЕрджреНрд╡рд┐рддреАрдп рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ, рдЬреЛ рдЙрддреНрдкрд╛рджрди рдЕрдиреБрдорд╛рди рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреЗ рдСрдкрд░реЗрд╢рди рдпреВрдПрдордПрд▓ рдЖрдХреГрддреАрдордзреНрдпреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ:
(рдЪрд┐рддреНрд░ рдЙрдЪреНрдЪ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдордзреНрдпреЗ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛)
рдЖрдпрдкреА рдХреЕрдореЗрд░реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдд рдЖрд╣реЗ
рдпрд╛ рд▓реЗрдЦрд╛рдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реА рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдо рд╣реА рдХреНрд▓рд╛рдЙрдб рд╡реНрд╣рд┐рдбрд┐рдУ рджреЗрдЦрд░реЗрдЦ рдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдЕрдкрдЧреНрд░реЗрдб рдЖрд╣реЗ, рд▓реЗрдЦрдХрд╛рдиреЗ рджреЗрдЦреАрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреА рдЕрдиреЗрдХ рд╡рд░реНрд╖рд╛рдВрдкрд╛рд╕реВрди рдмрд╛рдЬрд╛рд░рд╛рдд рдЖрд╣реЗ рдЖрдгрд┐ рд░рд╢рд┐рдпрд╛рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕реНрдерд╛рдкрдирд╛ рдЖрд╣реЗрдд.
рдХреНрд▓рд╛рдЙрдб рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА, рдПрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдореНрд╣рдгрдЬреЗ рдЙрдкрдХрд░рдгрд╛рдВрдЪреА рдорд░реНрдпрд╛рджрд┐рдд рдирд┐рд╡рдб рдЬреНрдпрд╛рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдХреНрд▓рд╛рдЙрдбрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡реНрд╣рд┐рдбрд┐рдУ рдХреЕрдореЗрд░рд╛рдордзреНрдпреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рд╡рд░ - рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрдгрд┐ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдореЗрдорд░реАрдЪреА рд░рдХреНрдХрдо рддрд╛рдмрдбрддреЛрдм рдЧрдВрднреАрд░ рдорд╛рдЧрдгреА рдХрд░рддреЗ. рд╣реЗ рдореБрдЦреНрдпрддрдГ рдирд┐рдпрдорд┐рдд IP рдХреЕрдореЗрд▒реНрдпрд╛рдВрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдХреНрд▓рд╛рдЙрдб CCTV рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрдЪреА рдЬрд╛рд╕реНрдд рдХрд┐рдВрдордд рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдХреЕрдореЗрд░рд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╕реАрд╕реАрдЯреАрд╡реНрд╣реА рдХреЕрдореЗрд░рд╛ рдЙрддреНрдкрд╛рджрдХ рдХрдВрдкрдиреНрдпрд╛рдВрд╢реА рд╡рд╛рдЯрд╛рдШрд╛рдЯреАрдЪрд╛ рдПрдХ рд▓рд╛рдВрдм рдЯрдкреНрдкрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рджреБрд╕рд░реАрдХрдбреЗ, рд╕рд░реНрд╡ рдЖрдзреБрдирд┐рдХ рдЖрдпрдкреА рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрдордзреНрдпреЗ рдЗрддрд░ рдЙрдкрдХрд░рдгреЗ (рд╡рд┐рд╢реЗрд╖рддрдГ рд╡реНрд╣рд┐рдбрд┐рдУ рд░реЗрдХреЙрд░реНрдбрд░) рд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдорд╛рдирдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЖрд╣реЗрдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдорд╛рдирдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдгрд╛рд░реНтАНрдпрд╛ рдЖрдгрд┐ IP рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрдХрдбреВрди рдХреНрд▓рд╛рдЙрдбрд╡рд░ рд╡реНрд╣рд┐рдбрд┐рдУ рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдХрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреНрд▓рд╛рдЙрдб рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЛ. рд╢рд┐рд╡рд╛рдп, рдЬрд░ рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдЖрдзреАрдкрд╛рд╕реВрди рд╕рд╛рдзреНрдпрд╛ рдЖрдпрдкреА рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реА рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реА рдЕрд╕реЗрд▓, рддрд░ рддреЗ рд╡рд┐рд╕реНрддреГрдд рдХрд░рдгреЗ рдЖрдгрд┐ рдкреВрд░реНрдг рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдордордзреНрдпреЗ рдмрджрд▓рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.
рдЖрдпрдкреА рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЖрддрд╛ рдЕрдкрд╡рд╛рджрд╛рд╢рд┐рд╡рд╛рдп рд╕рд░реНрд╡ рдЖрдпрдкреА рдХреЕрдореЗрд░рд╛ рдЙрддреНрдкрд╛рджрдХрд╛рдВрджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ.
$ wsdl2h -o onvif.h
https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl
https://www.onvif.org/ver10/events/wsdl/event.wsdl
https://www.onvif.org/ver10/media/wsdl/media.wsdl
https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl
$ soapcpp2 -Cwvbj -c++11 -d cpp_files/onvif -i onvif.h
рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ C++ рдордзреНрдпреЗ рд╣реЗрдбрд░ тАЬ*.hтАЭ рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд тАЬ*.cppтАЭ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рд╕рдВрдЪ рдорд┐рд│рддреЛ, рдЬреНрдпрд╛ рдереЗрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рдВрд╡рд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рдареЗрд╡рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ GCC рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд╛рдкрд░реВрди рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЕрдиреЗрдХ рдлрдВрдХреНрд╢рдиреНрд╕рдореБрд│реЗ, рдХреЛрдб рдореЛрдард╛ рдЖрд╣реЗ рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. Raspberry Pi 3 рдореЙрдбреЗрд▓ B+ рдорд╛рдпрдХреНрд░реЛрдХреЙрдореНрдкреНрдпреБрдЯрд░рдордзреНрдпреЗ рд╣рд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╢реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХреЛрдб рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдкреЛрд░реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рдпреЛрдЧреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЗ рдирд┐рд╡рдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдХрд╛рд░реНрдпрд░рдд рдЕрд╕рддрд╛рдирд╛ ONVIF рдорд╛рдирдХрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░реЗ IP рдХреЕрдореЗрд░реЗ рдкрддреНрддреНрдпрд╛рд╕рд╣ рд╡рд┐рд╢реЗрд╖ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдЧрдЯрд╛рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдд. 239.255.255.250. рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЖрд╣реЗ
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪрд╛ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ PHP рдордзреНрдпреЗ рдЖрдпрдкреА рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрд╕рд╛рдареА рд╢реЛрдз рдХрд╛рд░реНрдп рд▓рд╛рдЧреВ рдХрд░рддреЛ, рдЬреЗ XML рд╕рдВрджреЗрд╢рд╛рдВрджреНрд╡рд╛рд░реЗ рд╡реЗрдм рд╕реЗрд╡рд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдирд╛ рдЕрддрд┐рд╢рдп рд╕реЛрдпреАрдЪреЗ рдЕрд╕рддреЗ. рдореЗрдиреВ рдЖрдпрдЯрдо рдирд┐рд╡рдбрддрд╛рдирд╛ рдЙрдкрдХрд░рдгреЗ > рдЖрдпрдкреА рдХреЕрдореЗрд░реЗ > рд╕реНрдХреЕрдирд┐рдВрдЧ рдЖрдпрдкреА рдХреЕрдореЗрд░реЗ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдБрдЪ рдХреЗрд▓рд╛ рдЖрд╣реЗ, рдкрд░рд┐рдгрд╛рдо рдЯреЗрдмрд▓рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ:
(рдЪрд┐рддреНрд░ рдЙрдЪреНрдЪ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рдирдордзреНрдпреЗ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛)
рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдХрдВрдЯреНрд░реЛрд▓рд░рдордзреНрдпреЗ рдХреЕрдореЗрд░рд╛ рдЬреЛрдбрддрд╛, рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ рдЬреНрдпрд╛рдиреБрд╕рд╛рд░ рддреЛ рдХреНрд▓рд╛рдЙрдбрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреЗрд▓. рддрд╕реЗрдЪ рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рддреНрдпрд╛рд▓рд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреЗ рдирдВрддрд░ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╕рд╣рдЬрдкрдгреЗ рдУрд│рдЦрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
рдкреБрдвреЗ, рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдХреЕрдореЗрд▒реНрдпрд╛рдЪреЗ рд╕рд░реНрд╡ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕рдВрджреЗрд╢ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ RESTful API рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрд▓рд╛ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рддреЛ, рдЬрд┐рдереЗ рдХреЕрдореЗрд░рд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдбреАрдХреЛрдб рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд SQLite рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЦрд╛рд▓реАрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереНрд░реЗрдб рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ:
- рд╡реНрд╣рд┐рдбрд┐рдУ рдЖрдгрд┐ рдСрдбрд┐рдУ рдкреНрд░рд╡рд╛рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА RTSP рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ;
- G.711 mu-Law, G.711 A-Law, G.723, рдЗ. рдлреЙрд░рдореЕрдЯреНрд╕рдордзреВрди рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд┐рдВрдЧ рдСрдбрд┐рдУ. AAC рд╕реНрд╡рд░реВрдкрд╛рдд;
- H.264 рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╡реНрд╣рд┐рдбрд┐рдУ рдкреНрд░рд╡рд╛рд╣ рдЖрдгрд┐ AAC рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рдСрдбрд┐рдУ FLV рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдб рдХрд░рдгреЗ рдЖрдгрд┐ RTMP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХреНрд▓рд╛рдЙрдбрд╡рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреЗ;
- ONVIF рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ IP рдХреЕрдореЗрд░рд╛ рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░рдЪреНрдпрд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯрд╢реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд╡реЗрд│реЛрд╡реЗрд│реА рдорддрджрд╛рди рдХрд░рдгреЗ;
- рд╡реЗрд│реЛрд╡реЗрд│реА рд▓рдШреБрдкреНрд░рддрд┐рдорд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХреНрд▓рд╛рдЙрдбрд╡рд░ рдкрд╛рдард╡рдгреЗ;
- рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ SD рдХрд┐рдВрд╡рд╛ рдлреНрд▓реЕрд╢ рдХрд╛рд░реНрдбрд╡рд░ MP4 рд╕реНрд╡рд░реВрдкрд╛рдд рд╕реНрд╡рддрдВрддреНрд░ рдлрд╛рдЗрд▓реНрд╕рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╡реНрд╣рд┐рдбрд┐рдУ рдЖрдгрд┐ рдСрдбрд┐рдУ рдкреНрд░рд╡рд╛рд╣рд╛рдВрдЪреЗ рд╕реНрдерд╛рдирд┐рдХ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ.
рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдХреЕрдореЗрд░реЗ, рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдб, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рд░реЗрдХреЙрд░реНрдб рд╡реНрд╣рд┐рдбрд┐рдУ рдкреНрд░рд╡рд╛рд╣рд╛рдВрд╢реА рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд▓рд╛рдпрдмреНрд░рд░реАрддреАрд▓ рдХрд╛рд░реНрдпреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддрд╛рдд.
рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЪрд╛рдЪрдгреА рдкреНрд░рдпреЛрдЧрд╛рдд, 3 рдХреЕрдореЗрд░реЗ рдирд┐рдпрдВрддреНрд░рдХрд╛рд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рд╣реЛрддреЗ:
- HiWatch DS-I114W (рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди - 720p, рдХреЙрдореНрдкреНрд░реЗрд╢рди рдлреЙрд░рдореЕрдЯ - H.264, рдмрд┐рдЯрд░реЗрдЯ - 1 Mb/s, рд╕рд╛рдЙрдВрдб G.711 mu-Law);
- рдорд╛рдпрдХреНрд░реЛрдбрд┐рдЬрд┐рдЯрд▓ MDC-M6290FTD-1 (рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди - 1080p, рдХреЙрдореНрдкреНрд░реЗрд╢рди рдлреЙрд░рдореЕрдЯ - H.264, рдмрд┐рдЯрд░реЗрдЯ - 1 Mb/s, рдЖрд╡рд╛рдЬ рдирд╛рд╣реА);
- Dahua DH-IPC-HDW4231EMP-AS-0360B (рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди - 1080p, рдХреЙрдореНрдкреНрд░реЗрд╢рди рдлреЙрд░рдореЕрдЯ - H.264, рдмрд┐рдЯрд░реЗрдЯ - 1.5 Mb/s, AAC рдСрдбрд┐рдУ).
рд╕рд░реНрд╡ рддреАрди рдкреНрд░рд╡рд╛рд╣ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдХреНрд▓рд╛рдЙрдбрд╡рд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдСрдбрд┐рдУ рдЯреНрд░рд╛рдиреНрд╕рдХреЛрдбрд┐рдВрдЧ рдлрдХреНрдд рдПрдХрд╛ рдХреЕрдореЗрд░реНтАНрдпрд╛рд╡рд░реВрди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рд╕рдВрдЧреНрд░рд╣рдг рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. CPU рд▓реЛрдб рдЕрдВрджрд╛рдЬреЗ 5%, RAM рд╡рд╛рдкрд░ 32 MB (рдкреНрд░рддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛), 56 MB (OS рд╕рд╣ рдПрдХреВрдг) рд╣реЛрддрд╛.
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЕрдВрджрд╛рдЬреЗ 20 - 30 рдХреЕрдореЗрд░реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд (рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдЖрдгрд┐ рдмрд┐рдЯрд░реЗрдЯрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди), рдЬреЗ рддреАрди рдордЬрд▓реА рдХреЙрдЯреЗрдЬ рдХрд┐рдВрд╡рд╛ рд▓рд╣рд╛рди рдЧреЛрджрд╛рдорд╛рд╕рд╛рдареА рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╛рд│рдд рдареЗрд╡рдгреЗ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ. рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╛рдареА, рддреБрдореНрд╣реА рдорд▓реНрдЯреА-рдХреЛрд░ рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрдгрд┐ Linux Debian Sarge OS рд╕рд╣ рдиреЗрдЯрдЯреЙрдк рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреЗ рд╕рдзреНрдпрд╛ рдЪрд╛рдЪрдгреА рдСрдкрд░реЗрд╢рди рд╕реБрд░реВ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рд╡рд░реАрд▓ рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓.
рдореЗрдШрд╛рд╢реА рд╕рдВрд╡рд╛рдж
рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдбреЗрдЯрд╛ (рд╡реНрд╣рд┐рдбрд┐рдУ рдЖрдгрд┐ рд╕реЗрдиреНрд╕рд░ рдореЛрдЬрдорд╛рдк) рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬрдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреА рдЖрдордЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдд рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдЖрддрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдХрдбреВрди рдХреНрд▓рд╛рдЙрдбрд╡рд░ рдорд╛рд╣рд┐рддреА рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛.
рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рдВрдЪреА рд╕реНрдерд┐рддреА рдЖрдгрд┐ рд╕реЗрдиреНрд╕рд░ рдореЛрдЬрдорд╛рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд
- QoS 0 - рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдПрдХрджрд╛ (рдбрд┐рд▓рд┐рд╡реНрд╣рд░реАрдЪреА рд╣рдореА рдирд╛рд╣реА);
- QoS 1 - рдХрд┐рдорд╛рди рдПрдХрджрд╛ (рд╡рд┐рддрд░рдг рдкреБрд╖реНрдЯреАрдХрд░рдгрд╛рд╕рд╣);
- QoS 2 - рдЕрдЧрджреА рдПрдХрджрд╛ (рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рддрд░рдг рдкреБрд╖реНрдЯреАрдХрд░рдгрд╛рд╕рд╣).
рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЖрдореНрд╣реА рд╡рд╛рдкрд░рддреЛ
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬрддрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ
MQTT рдХреНрд▓рд╛рдпрдВрдЯ рд▓рд╛рдпрдмреНрд░рд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ
H.264 + AAC рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╡рд╛рд╣ RTMP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХреНрд▓рд╛рдЙрдбрд╡рд░ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреЗрдереЗ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рддреЛ. рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд▓реЛрдбрдЪреЗ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рддрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХрдореАрдд рдХрдореА рд▓реЛрдб рдХреЗрд▓реЗрд▓рд╛ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡реНрд╣рд░ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА, рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреНрд▓рд╛рдЙрдб рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░рд▓рд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рдирдВрддреА рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪ рдореАрдбрд┐рдпрд╛ рдкреНрд░рд╡рд╛рд╣ рдкрд╛рдард╡рддреЛ.
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦрд╛рдд рд░рд╛рд╕реНрдкрдмреЗрд░реА Pi 3 B+ рдорд╛рдпрдХреНрд░реЛрдХреЙрдореНрдкреНрдпреБрдЯрд░рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ Z-Wave рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдорд╛рд╣рд┐рддреА рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддреЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реВ рд╢рдХрддреЗ рдЖрдгрд┐ рдЙрдкрдХрд░рдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддреЗ, ONVIF рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдЖрдпрдкреА рдХреЕрдореЗрд░реНтАНрдпрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рд╢рдХрддреЗ рдЖрдгрд┐ рдбреЗрдЯрд╛рдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддреЗ. рдХреНрд▓рд╛рдЙрдбрд╕рд╣ рдЖрджреЗрд╢. MQTT рдЖрдгрд┐ RTMP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рд╕реЗрд╡рд╛. JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рдпрдо рдЖрдгрд┐ рддрдереНрдпрд╛рдВрдЪреНрдпрд╛ рддреБрд▓рдиреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЙрддреНрдкрд╛рджрди рд▓реЙрдЬрд┐рдХ рдЗрдВрдЬрд┐рди рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреА рд╕рдзреНрдпрд╛ рдореЙрд╕реНрдХреЛ рдЖрдгрд┐ рдореЙрд╕реНрдХреЛ рдкреНрд░рджреЗрд╢рд╛рддреАрд▓ рдЕрдиреЗрдХ рд╕рд╛рдЗрдЯреНрд╕рд╡рд░ рдЪрд╛рдЪрдгреА рд╕реБрд░реВ рдЖрд╣реЗ.
рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреА рдкреБрдвреАрд▓ рдЖрд╡реГрддреНрддреА рдЗрддрд░ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ (рдЖрд░рдПрдл, рдмреНрд▓реВрдЯреВрде, рд╡рд╛рдпрдлрд╛рдп, рд╡рд╛рдпрд░реНрдб) рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЗ. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реЛрдпреАрд╕рд╛рдареА, рд╕реЗрдиреНрд╕рд░ рдЖрдгрд┐ рдЖрдпрдкреА рдХреЕрдореЗрд░реЗ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░реЛрд╕реЗрд╕ рдХреЛрдб рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреЛрд░реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗрдд
рд╕реНрддреНрд░реЛрдд: www.habr.com