
рдореИрдВ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреАрди рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ , рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЛ рд╕реЗрдВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рдХрд╛рд░реНрдпрдХрд╛рд░реА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджреА рдбреЗрдЯрд╛ рдХреЛ рдХрдВрдЯреНрд░реЛрд▓ рдХрдорд╛рдВрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрд╛ рдореБрдЦреНрдп рдШрдЯрдХ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд╕реЗрдЯрдЕрдк рдЪрд░рдг рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдбрд┐рд╡рд╛рдЗрд╕ (рдЖрдИрдкреА рдХреИрдорд░рд╛, рд╕реЗрдВрд╕рд░, рдПрдХреНрдЪреБрдПрдЯрд░) рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред
рдЕрдм рдЪрд▓реЛ рд╕реЗрдВрд╕рд░ рдФрд░ рдХреИрдорд░реЛрдВ рд╕реЗ рднрдВрдбрд╛рд░рдг рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рд▓рд╛рдн
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдбрд┐рд╡рд╛рдЗрд╕реЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдФрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓, рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕рд╕реНрддрд╛ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрдИ 10 - 12 рдЯреАрдмреА рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдЖрд░рдУ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╕реНрдХ рдмрд╛рд╕реНрдХреЗрдЯ рд╕реЗ рд▓реИрд╕ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреА рдХреНрд╖рдорддрд╛, рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЕрдВрджрд░ рдПрд╕рдбреА рдпрд╛ рдлреНрд▓реИрд╢ рдХрд╛рд░реНрдб рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рдЪрдХреНрд░ рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВред рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреА рдЧрд╣рд░рд╛рдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЯреИрд░рд┐рдл рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░рд╛рдЙрдЯрд░ рдкрд░ "рдкреЛрд░реНрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ" рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рдПрдирдПрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдбрд┐рд╡рд╛рдЗрд╕ рдЫрд┐рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдирд┐рдЬреА рдЦрд╛рддреЗ рдореЗрдВ, рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╕реБрд▓рдн, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рддрд░реНрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рди рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдордп рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдиреАрдЪреЗ рд╣рдо рдорд▓реНрдЯреАрд╕реЗрдВрд╕рд░ рдорд╛рдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддрд┐ рд╕рдкреНрддрд╛рд╣ рдФрд╕рдд рдХрдорд░реЗ рдХреЗ рддрд╛рдкрдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд░рдл рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рдХрдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рддрд╛ рд╣реИ:
- MQTT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ JSON рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рд╕реЗ рд╕рдмрд╕реЗ рдХрдо рд▓реЛрдб рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP;
- рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЛ H.264 + AAC рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП RTMPред
рдЕрдм рд╣рдо рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреА рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ - рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореБрдЦреНрдп рдШрдЯрдХ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИред
(рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рднреАрддрд░ рд╕реВрдЪрдирд╛ рд╡рд┐рдирд┐рдордп рдХреА рдкреВрд░реА рдпреЛрдЬрдирд╛ рдореЗрдВ
рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдПрдХ рдкреНрд░рдореБрдЦ рддрддреНрд╡ рд╣реИред рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп RESTful API рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рд╣реИред рдпрд╣
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рдЪрдпрдирд┐рдд рдЯреИрд░рд┐рдл рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реАрдбрд┐рдпреЛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╕реЗрдВрд╕рд░ рдорд╛рдк рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдЖрджрд┐ред
MQTT рдмреНрд░реЛрдХрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ JSON рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЧреНрд░рд╛рд╣рдХ рджрд▓рд╛рд▓ рдХреЗ рднреАрддрд░ рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред MQTT рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ,
рдПрдХреНрд▓рд┐рдкреНрд╕ рдореЙрд╕реНрдХрд┐рдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рдЦреЛрдЬ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд▓реЛрдб рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреИрдорд░реЛрдВ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЗрд╕рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐, рд╕рд╛рде рд╣реА рд╡реАрдбрд┐рдпреЛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ, MySQL DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рдЧреИрд░-рд╕рдВрдмрдВрдзрдкрд░рдХ NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдпрд╣ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрдВрд╕рд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдФрд░ рдорд╛рдкреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд
InfluxDB DBMS рдХрд╛ рдЙрдкрдпреЛрдЧ, рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛
рдмреИрдХрдПрдВрдб рдПрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрд╛рдж рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдФрд░ рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдмреИрдХрдПрдВрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП JSON рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдХрдВрдЯреНрд░реЛрд▓ рдХрдорд╛рдВрдб рднреА рдЬреЗрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдмреИрдХрдПрдВрдб
Laravel PHP рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдкреНрд░рджрд╛рддрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХреЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдкрд╛рдиреА рдХрд╛ рд░рд┐рд╕рд╛рд╡ рдпрд╛ рдзреБрдЖрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ)ред
OneSignal рд╕реЗрд╡рд╛ рдХреЛ рдкреБрд╢-рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ RESTful API рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдХреЗ рдЕрдВрджрд░ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдШрдЯрдХ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ (рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕реВрдЪрдирд╛рддреНрдордХ рд╡рд┐рд╡рд░рдг, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо, рд╡реНрдпрдХреНрддрд┐рдЧрдд, рд╡рд┐рддреНрддреАрдп рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡рд╣ рдХреНрд▓рд╛рдЙрдб рдХреЗ рднреАрддрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде RESTful API рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВред

рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдореЙрдбреНрдпреВрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:
- рдПрдХ рд╕реНрдкрд░реНрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдШрд░ рдХреЗ рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рд╕реЗ рд╕реЗрдВрд╕рд░ рдФрд░ рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдорд╛рдк рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдкреНрд░рдмрдВрдзрди;
- рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ (рд╕реНрдерд┐рд░ / рдЧрддрд┐ рдбрд┐рдЯреЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдЖрдИрдкреА рдХреИрдорд░рд╛ рдХреЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рдкреНрд░рдмрдВрдзрди;
- рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдорд╛рдВрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж;
- рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ (рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЙрддреНрдкрд╛рджрди рддрд░реНрдХ рдирд┐рдпрдо) рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдВ;
- рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ред
рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЪрд▓ рд░рд╣реЗ рджреВрд░рд╕реНрде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд╕рдВрдЪрд╛рд░ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди I / O рддрд╛рд▓реЗ рдкрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд░рд┐рдорд┐рдд рдЙрдк-рд╕реЗрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ (рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
KISS рд╕рд┐рджреНрдзрд╛рдВрдд )ред рдЪреВрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрддрд╛рддреНрдордХ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрджрд▓рддреЗ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд▓рдЪреАрд▓реЗ рдЗрдВрдЯреНрд░реЗрдВрд╕ рддрдВрддреНрд░ (рдЬреИрд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд░реНрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
(рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рд╕реЗ) рдФрд░ HTTP (рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреИрдХрдПрдВрдб рд╕реЗ) рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрджреЗрд╢ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдХрдорд╛рдВрдб рднреЗрдЬрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ MQTT рдмреНрд░реЛрдХрд░ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдп рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕рдмреНрд╕реНрдХреНрд░рд╛рдЗрдм рд╣реЛрддрд╛ рд╣реИ (
SendGatewayMessage sub-
task )ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ, рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдирд┐рдпрдВрддреНрд░рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рдЗрд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП,
рд╕рдмрд╕реНрдХреИрдЯреНрд╕ рдЪреЗрдХрдЧреЗрдЯрд╡реЗрд╕реНрдЯрд┐рд╕реНрдЯреЗрдВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ MySQL рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рдЕрдкрдирд╛ рдкреВрд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдмрджрд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (
SendBackend рдЙрдк-
рдХрд╛рд░реНрдп ) рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмреИрдХреЗрдВрдб рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЙрдб рдФрд░ рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рддрд╛ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдЬрдм рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрдВрдЬреАрдХреГрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХреЛ рдЕрдкрдиреА рд░реИрдо рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдФрд░ рдЬреЗрдб-рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЗрдб-рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рд╕реЗ JSON рд╕рдВрджреЗрд╢:
{ "vendor": "*****", "version": "3.0.0", "timestampMs": "1571754749561", "clientType": "gateway", "deviceId": "c8e8de37-d301-45f4-ba01-************", "deviceType": "sensor", "protocol": "zwave", "messageType": "sensorData", "homeId": "0xefa0cfa7", "nodeId": "19", "sensorType": "SENSOR MULTILEVEL", "label": "Temperature", "sensorData": "26.1", "units": "C", "gatewayId": "6774f85a-0a5b-4059-9b68-************" }
рдЬрдм Z- рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрди рдЙрдк-рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
- StoreSensorDataMySQL рдЕрдкрдбреЗрдЯ (UPDATE) MySQL рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдорд╛рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ;
- StoreSensorDataInfluxDB InfluxDB рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдирдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗрдВрд╕рд░ рд╕реЗ рдорд╛рдк рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛ рдХреА рдЧрдгрдирд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЕрд╡рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐ рджрд┐рди, рдорд╣реАрдиреЗ рдпрд╛ рд╕рд╛рд▓ рдореЗрдВ рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд) рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- SendPushNotification рдПрдХ JSON рд╕рдВрджреЗрд╢ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк, рдПрдХ рд╕реЗрдВрд╕рд░ рдирд╛рдо, рдШрдЯрдирд╛ рдХрд╛ рдПрдХ рдкрд╛рда рд╡рд┐рд╡рд░рдг, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд╣ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рдЧрдпрд╛ рдерд╛, OneSignal рдкреНрд░рджрд╛рддрд╛ рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЖрд╡реЗрджрди рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдВрджреЗрд╢ RESTful API https://onesignal.com/api/v1/notifications рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрд╢ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрди рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред
рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде IP рдХреИрдорд░рд╛ рд╕реЗ JSON рд╕рдВрджреЗрд╢ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
{ "vendor": "*****", "version": "3.0.0", "timestampMs": "1571753150317", "clientType": "gateway", "deviceId": "1616453d-30cd-44b7-9bf0-************", "deviceType": "camera", "protocol": "onvif", "messageType": "deviceState", "deviceState": "streamingOn", "mediaserverIp": "***.***.***.***", "applicationName": "rtp-live-iot", "gatewayId": "6774f85a-0a5b-4059-9b68-************" }
рдЬрдм MQTT рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдИрдкреА рдХреИрдорд░рд╛ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдЖрддрд╛ рд╣реИ, рддреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рд╕рдВрджреЗрд╢ рдЯрд╛рдЗрдк рдлрд╝реАрд▓реНрдб рд╕реЗ рдЕрдкрдирд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ:
- "MessageType": "deviceState" - рдЗрд╕ рд╕рдВрджреЗрд╢ рдореЗрдВ рдЖрдИрдкреА рдХреИрдорд░рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реБрдП, рдЕрдкрдбреЗрдЯрдХреИрдорд░рд╛рд╕реНрдЯреЗрд╕реНрдЯреЗрдЯ рдХреЛ рдЙрдкрдЯреИрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдбрд┐рд╡рд╛рдЗрд╕рд╕реНрдЯреИрдЯ рдлрд╝реАрд▓реНрдб рдпрд╛ рддреЛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧрдСрди рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧрдСрдлрд╝ рд╣реИ (рдЖрдИрдкреА рдХреИрдорд░рд╛ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрддрд╛ / рд░реЛрдХрддреА рд╣реИ), рддреЛ RecordMediaStream рдЙрдк-рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдЗрд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ;
- "рдореИрд╕реЗрдЬрдЯрд╛рдЗрдк": "рд╕реЗрдВрд╕рд░рдбреЗрдЯрд╛" - рдЖрдИрдкреА рдХреИрдорд░рд╛ рдкрд░ рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реАред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдореЗрдВ рдЖрд░реНрдХрд╛рдЗрд╡ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЛрдб "рдореЛрд╢рди рдбрд┐рдЯреЗрдХреНрдЯрд░" рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ RecordMediaStream рд╕рдмрдЯрд╛рд╕реНрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ ред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕рдмрдЯреЛрд░реНрд╕ StoreSensorDataInfluxDB (рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд┐рдЯреЗрдХреНрдЯрд░ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╣реЗрдЬрдирд╛) рдФрд░ SendPushNotification (рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ;
- "рд╕рдВрджреЗрд╢ рдЯрд╛рдЗрдк": "рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди" - рд╕рдВрджреЗрд╢ рдореЗрдВ рдЖрдИрдкреА рдХреИрдорд░рд╛ рд╕реЗ рдПрдХ рдердВрдмрдиреЗрд▓ рдЫрд╡рд┐ рдХрд╛ рдПрдХ рдлреНрд░реЗрдо рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рдХреНрд▓рд╛рдЙрдб рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдк-рд╕рдВрдЧреНрд░рд╣ StorePreview рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рдлрд┐рд░ рдХреИрдорд░реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
- "MessageType": "рдХрдорд╛рдВрдб" - рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдПрдХ рдХрдорд╛рдВрдб рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓рддрд╛ рд╣реИред рдЙрдк-рдХрд╛рд░реНрдп RecordMediaStream рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░рддрд╛ рд╣реИред
(рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ
рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ - рдХреЛрдб рдХреЗ рдиреНрдпреВрдирддрдо рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдХреЛ
рдереНрд░реЗрдб рдкреВрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдореБрдХреНрдд рдХреЛрд░ рдХреЗ рдмреАрдЪ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдм I / O рд▓реЙрдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдереНрд░реЗрдб рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХреЛрд░ рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдереНрд░реЗрдб рдкреВрд▓ рдХреЛ рдХрддрд╛рд░ рд╕реЗ рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд╛ рддрддреНрдХрд╛рд▓ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓ рдЬрдм I / O рд▓реЙрдХ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрд╡рд░реБрджреНрдз рдереНрд░реЗрдб рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХреЛрд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдореБрдХреНрдд рд╣реЛрддреЗ рд╣реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХрд╛рд░реНрдп рдХреЛ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдк-рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗрдВрджреНрд░реАрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред
рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ C ++ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдбреЗрдмрд┐рдпрди рд╕рд░реНрдЬ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ
рд╕рд┐рд╕реНрдЯрдордб рд╕рд░реНрд╡рд┐рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рджрд░реНрд╢рди рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП,
рдореЛрдирд┐рдЯ рд╕рдВрд╕рд╛рдзрди рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ Yandex рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкреИрд░рд╛рдореАрдЯрд░ - 4 vCPU рдХреЛрд░ 20%, 2 рдЬреАрдмреА рд░реИрдо, 100 рдЬреАрдмреА рдПрдЪрдбреАрдбреА рдХреА рдЧрд╛рд░рдВрдЯреА рд╢реЗрдпрд░ рдХреЗ рд╕рд╛рдеред рдЧрдгрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдкреНрд░рджрд░реНрд╢рди 3 рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдФрд░ ~ рдЬреЗрдб-рд╡реЗрд╡ рд╕реЗрдВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде ~ 1000 рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдЧрдгрдирд╛ рд╕реНрдкрд╖реНрдЯ рдХреА рдЬрд╛рдПрдЧреА)ред
рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░
рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рд╡рд┐рд╢реЗрд╖ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдирдХреЛрдбрд░ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
- рдЕрдкрдиреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛;
- рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдкреНрд░рд╕рд╛рд░рдг рдЬрд╛рдирдХрд╛рд░реАред
Wowza рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЗрдВрдЬрди 4.7.2 рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
(рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)RTMP рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ
рдЬрд┐рдЯрд░ рдмрдлрд░ рдореЗрдВ рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдиреЗрдЯрд╡рд░реНрдХ рдкреИрдХреЗрдЯ рджреЗрд░реА рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреА рднрд░рдкрд╛рдИ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
MP4 рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ RESTful HTTP API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рдирд┐рдореНрди рдЖрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ:
http://<mediaserverIp>:<port>/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/rtp-live-iot/instances/_definst_/streamrecorders/1616453d-30cd-44b7-9bf0-************ { "instanceName": "_definst_", "fileVersionDelegateName": "CustomFileVersionDelegate", "serverName": "", "recorderName": "1616453d-30cd-44b7-9bf0-************", "segmentSchedule": "", "outputPath": "", "currentFile": "", "applicationName": "rtp-live-iot", "fileTemplate": "", "segmentationType": "SegmentByDuration", "fileFormat": "MP4", "recorderState": "", "option": "", "currentSize": "0", "segmentSize": "0", "segmentDuration": "1800000", "backBufferTime": "0", "currentDuration": "0", "startOnKeyFrame": "true", "recordData": "false", "moveFirstVideoFrameToZero": "true", "defaultRecorder": "false", "splitOnTcDiscontinuity": "false" }
рд░рд┐рдХреЙрд░реНрдбрд░рдиреИрдо рдлрд╝реАрд▓реНрдб рдореЗрдВ, рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо (рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рдЖрдИрдкреА рдХреИрдорд░рд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛) рдХрд╛ рдирд╛рдо
рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ,
рдлрд╝рд╛рдЗрд▓рд╡рд┐рдЬрд╝рдирдбреЗрд▓рдЧреЗрдЯрдирд╛рдореЗ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдлрд╝реЛрд▓реНрдбрд░ рдкрде рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдоред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдореЗрдВ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ рдХреЛрдб рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
import java.io.File; import java.util.Calendar; import java.util.TimeZone; import com.wowza.wms.livestreamrecord.manager.IStreamRecorder; import com.wowza.wms.livestreamrecord.manager.IStreamRecorderFileVersionDelegate; import com.wowza.wms.logging.WMSLoggerFactory; public class CustomFileVersionDelegate implements IStreamRecorderFileVersionDelegate { @Override public String getFilename(IStreamRecorder recorder) { String sDisk = GetDisk(); if(sDisk == null) { WMSLoggerFactory.getLogger(null).error("CustomFileVersionDelegate::getFilename(): No drive chosen"); return null; } String sStreamName = recorder.getStreamName(); int nCameraId = Integer.parseUnsignedInt(ServiceQueries.GetCameraId(sStreamName)); TimeZone tz = TimeZone.getTimeZone("Europe/Moscow"); Calendar now = Calendar.getInstance(tz); String sDirPath = ServerParams.m_sServerContentPath + "/" + sDisk + "/" + Integer.toString(nCameraId / 200) + "/" + sStreamName + "/" + String.format("%1$tY/%1$tm/%1$td", now); String sFullFilePath = sDirPath + "/" + sStreamName + "_" + String.format("%1$tH_%1$tM_%1$tS", now) + ".mp4"; File dirs = new File(sDirPath); dirs.setExecutable(true); dirs.setWritable(true); dirs.mkdirs(); WMSLoggerFactory.getLogger(null).info( "CustomFileVersionDelegate::getFilename(): Filename created: " + sFullFilePath); return sFullFilePath; } }
CustomFileVersionDelegate рд╡рд░реНрдЧ рдореЗрдВ,
IStreamRecorderFileVersionDelegate рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓
getFilename рдлрд╝рдВрдХреНрд╢рди
рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди
sDirPath рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░
sFullFilePath рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рджреЗрддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдореАрдбрд┐рдпрд╛ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдХрдИ рднреМрддрд┐рдХ рдбрд┐рд╕реНрдХ (8 - 12 рдЯреАрдмреА) рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдбрд┐рд╕реНрдХ рдХреЛ рдЧрдВрддрд╡реНрдп рдбрд┐рд╕реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЗрд╖реНрдЯрддрдо рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд▓рдХреНрд╖реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрдирддрд╛ рд╣реИ:
/content/<diskId>/<cameraIdDivideBy200>/<streamUuid>/<year>/<month>/<day>/
рдЬрд╣рд╛рдВ
diskId рдбрд┐рд╕реНрдХ (рдорд╛рдЙрдВрдЯреЗрдб рдлреЛрд▓реНрдбрд░) рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ,
CameraIdDivideBy200 - 200 рд╕реЗ рдХреИрдорд░рд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо,
рд╕реНрдЯреНрд░реАрдордпреВрдЗрдб - рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░,
рд╡рд░реНрд╖, рдорд╛рд╣, рджрд┐рди - рд╡рд░реНрд╖, рдорд╛рд╣ рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛ рджрд┐рди, рдХреНрд░рдорд╢рдГред
рдпрд╣ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░реНрд╕ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рдШрд░реЛрдВ рдореЗрдВ рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХ рдирд╛рдЯрдХреАрдп рдЧрд┐рд░рд╛рд╡рдЯ рдЖрддреА рд╣реИред
рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рдореАрдбрд┐рдпрд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЖрд░рдВрдн рдФрд░ рдЕрдВрдд рд╕рдордп рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЧреНрд░рд╣ рд╕рдордпрд░реЗрдЦрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЪреБрдирд╛ рдФрд░ рдЦреЗрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рднреЗрдЬрддреЗ рд╣реБрдП, рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рддрд╛ рд╣реИред "рд▓рд╛рдЗрд╡" рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП:
https://<mediaserverIp>:<port>/rtp-live-iot/<streamUuid>/playlist.m3u8
рд╕рдВрдЧреНрд░рд╣реАрдд рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП:
https://<mediaserverIp>:<port>/vod/_definst_/mp4:<diskId>/<cameraIdDivideBy200>/<streamUuid>/<year>/<month>/<day>/<fileName>/playlist.m3u8?wowzaplaystart=<offsetMs>&wowzaplayduration=<durationMs>
рдЬрд╣рд╛рдВ
рдлрд╝рд╛рдЗрд▓рдирд╛рдо рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИ,
рдСрдлрд╕реЗрдЯ - рдкреНрд▓реЗрдмреИрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╕реЗрдЯ,
periodMs - рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдкреНрд▓реЗрдмреИрдХ рдХреА рдЕрд╡рдзрд┐ред
рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░
HLS рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░реАрдо рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ iOS рдФрд░ Android рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рд▓реЗ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ H.264 + AAC рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред HLS рдкреИрдХреЗрдЯ рдПрдХ рдЕрд▓рдЧ рдЪрдВрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд░реВрдк рдореЗрдВ HTTP рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред
рд╕рдВрдЧреНрд░рд╣рдг рд▓рд╛рдЧрдд рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реБрдкрд░рдорд╛рдЗрдХреНрд░реЛ CSE-825TQ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо, рдорджрд░рдмреЛрд░реНрдб X8DT6, 2xCPU Intel Xeon E5645 2.4 GHz, 32 GB RAM, 44 TB HDD Adaptec AAC-RAID рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ 400 рдПрдордмреАрдкреАрдПрд╕ рдХреА рдЧрд╛рд░рдВрдЯреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рдЪреИрдирд▓ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИред рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди H.264 рдХреЛрдбреЗрдХ, 720p рдлреНрд░реЗрдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдФрд░ 1 рдПрдордмреАрдкреАрдПрд╕ рдмрд┐рдЯрд░реЗрдЯ рдХреЗ рд╕рд╛рде ~ 400 рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рддрджрдиреБрд╕рд╛рд░, 1000 рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рд╕реЗ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, 3 рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рд▓реЛрдб рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ Wowza рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдЗрдВрдЬрди рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдЕрд▓рдЧ
рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдРрдб-рдСрди рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рдпрд╛
рдореВрд▓ рд╕рд░реНрд╡рд░ ) рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рдЕрдВрддрд┐рдо рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ (рдпрд╛
рдПрдЬ рд╕рд░реНрд╡рд░ ) рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░, рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рд░реНрд╡рд░ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИред
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╡рд╛рдм рдореЗрдВ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЖрдИрдкреА рдХреИрдорд░рд╛ рд╕реЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ RTMP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдореАрдЯреНрд░рд┐рдХ рдореЗрдВ рдореАрдбрд┐рдпрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪреИрдирд▓ рдХреА рд╡рд░реНрддрдорд╛рди рдмреИрдВрдбрд╡рд┐рдбреНрде рд╢рд╛рдорд┐рд▓ рд╣реИред рдмреИрд▓реЗрдВрд╕рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ, рдЖрдк рдХрд┐рдирд╛рд░реЗ-рд╕рд░реНрд╡рд░ рдХреА рдкрд╕рдВрдж рдХреЛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рднреВ-рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЬреЛ рдЖрдкрдХреЛ
рд╕реАрдбреАрдПрди рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╢рд╣рд░реЛрдВ рдФрд░ рджреЗрд╢реЛрдВ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЗрдб-рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рдХреА рд░реАрдбрд┐рдВрдЧ, рд╕рд╛рде рд╣реА рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдПрдордХреНрдпреВрдЯреАрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдЬреЗрдПрд╕рдПрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрд╡рд░ рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░
StoreSensorDataInfluxDB рдЙрдкрдЯреИрдм рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрд╛рддрд╛ рд╣реИред
(рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрд╛ рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛рдмреЗрд╕
рдЗрдиреНрдлреНрд▓реВрдПрдВрдбрдмреИрдВрдХ 1.7.x рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд╕рдордп рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА, рдЬреЛ рд╕реЗрдВрд╕рд░ рдФрд░ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрд╕ рдХреА рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реАрдЬрд╝ рдкрд╛рд░рдВрдкрд░рд┐рдХ SQL рдХреЗ рд╕рдорд╛рди
InfluxQL рднрд╛рд╖рд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдореЗрдВ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрдпрдирд┐рдд рдЯреИрд░рд┐рдл рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реАрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдФрд░ рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг, рдЙрдирдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рд╕рдордп рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред рд╡реАрдбрд┐рдпреЛ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЖрдХрд╛рд░ рджрд┐рдиреЛрдВ (7, 14, 30 рджрд┐рдиреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд░реЛрдВ рдкрд░) рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЖрдХрд╛рд░ рдХреНрд░рдорд╢рдГ (3, 5, 7 рд╡рд░реНрд╖,) рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП, рдЬрдм рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд╡рдзрд╛рд░рдг рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде 2 рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдкрд░реНрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ:
CREATE DATABASE "gateway_6774f85a_0a5b_4059_9b68_************_cameras" WITH DURATION 720h SHARD DURATION 1h; CREATE DATABASE "gateway_6774f85a_0a5b_4059_9b68_************_sensors" WITH DURATION 61320h SHARD DURATION 24h;
рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдмреИрдХрдПрдВрдб рд╕реНрдкрд░реНрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреИрд░рд┐рдл рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдмреИрдХрдПрдВрдб рд╕реНрдЯреЛрд░реЗрдЬ рдкреЙрд▓рд┐рд╕реА рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЖрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ:
ALTER RETENTION POLICY "autogen" ON "gateway_6774f85a_0a5b_4059_9b68_************_cameras" DURATION 168h SHARD DURATION 1h;
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддреЗ рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп, рдмреИрдХрдПрдВрдб рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ:
DROP DATABASE "gateway_6774f85a_0a5b_4059_9b68_************_cameras"; DROP DATABASE "gateway_6774f85a_0a5b_4059_9b68_************_sensors";
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рд╕реВрдЪрдирд╛рддреНрдордХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ:
INSERT device_20873eb0_dd5e_4213_a175_************,class=METER,label=Energy,units=kWh value_float=0.05 1572194550125;
рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП Z- рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЙрд╕ рдХреА рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдорд░реЗ рдореЗрдВ рдФрд╕рдд рддрд╛рдкрдорд╛рди рдпрд╛ рдкреНрд░рддрд┐ рдорд╛рд╣ рдХрд┐рддрдиреА рдмрд┐рдЬрд▓реА рдЦрд░реНрдЪ рдХрд░рдиреА рд╣реИ, рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред
InfluxQL рднрд╛рд╖рд╛ рдЖрдкрдХреЛ
рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА
рд╣реИ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рддрд╛рдкрдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
SELECT MEAN("value_float") FROM device_63c660da_f0e8_4eca_8d5f_************ WHERE label = 'Temperature' AND time >= '2019-10-21T00:00:00.000Z' AND time <= '2019-10-27T23:59:59.999Z' GROUP BY time(1d) fill(null);
рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЗ рдкрд░рд┐рдгрд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреЗрдмрд▓ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдХреНрд▓рд╛рдЙрдб рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдЗрдиреНрдлреНрд▓реЗрдХреНрд╕рдбреАрдмреА рдбреАрдмреАрдПрдордПрд╕ рдХреЛ рдПрдХ рдпреИрдВрдбреЗрдХреНрд╕ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЙрдб рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди: 20%, 2 рдЬреАрдмреА рд░реИрдо, 100 рдЬреАрдмреА рдПрдЪрдбреАрдбреА рдХреА рдЧрд╛рд░рдВрдЯреА рд╢реЗрдпрд░ рдХреЗ рд╕рд╛рде 4 рд╡реАрд╕реАрдкреАрдпреВ рдХреЛрд░ред рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЧрдгрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ 7 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП 3,000 рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рдФрд░ 5,000 рдЬреЗрдб-рд╡реЗрд╡ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕реЗрдВрд╕рд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕рд░реНрд╡рд░ рдХреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ, рднрдВрдбрд╛рд░рдг рдФрд░ рдЖрдИрдкреА рдХреИрдорд░реЛрдВ рд╕реЗ рдореАрдбрд┐рдпрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕рд░реНрд╡рд░ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рд╕рд╛рде рд╣реА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рднрдВрдбрд╛рд░рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрдЪ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЧрдИред рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рдЯреНрд░рд╛рдпрд▓ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдЬрд┐рддрдирд╛ рдкреБрд░рд╛рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдПрдЧреНрд░рд┐рдЧреЗрдЯрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдлрд┐рд░, рд╕реНрдкрд░реНрд╢ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЗрдиреНрдлреНрд▓рдХреНрд╕рдбреАрдмреА рдХрдВрдЯрд┐рдиреНрдпреВрдЕрд╕ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдерд┐рдирд┐рдВрдЧ (рдпрд╛
рдУрд╡рд░рд╕рдореНрдкрд▓рд┐рдВрдЧ ) рдбреЗрдЯрд╛ рдХреЗ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред

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