Π‘Π΅Π³ΠΎΠ΄Π½Ρ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΡΡΠ½ΠΎΠΌΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΈΠΊΠΈ, ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ, ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΡΠ΅ΠΌΠ° ΡΠΌΠ½ΡΡ
Π΄ΠΎΠΌΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ. Π§Π΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΆΠΈΠ»ΠΈΡΠ΅ ΠΏΡΠ΅ΡΠ΅ΡΠΏΠ΅Π»ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ ΠΊΠ°ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ° ΠΈ Π² ΡΠΏΠΎΡ
Ρ ΠΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ Π Π΅Π²ΠΎΠ»ΡΡΠΈΠΈ 4.0 ΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΠ΅ΡΠ΅ΠΉ ΡΡΠ°Π»ΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ. ΠΠ° ΡΡΠ½ΠΎΠΊ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΠΊΠ²Π°ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΡΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΠΌ Π² ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΌΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°. ΠΡΠΈΡΠ΅ΠΌ, Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎ-ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΆΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ Π·Π½Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, β Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΈ ΡΠΈΠ½ΡΠ΅Π·Π° ΡΠ΅ΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡ Ρ ΡΠΌΠ½ΡΠΌ Π΄ΠΎΠΌΠΎΠΌ Π½Π° ΡΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π½Π° ΡΡΠ½ΠΊΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ·Π½Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, Π½ΠΎ ΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ΅ΠΌΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠΈΠΊΠ» ΠΈΠ· ΡΡΠ΅Ρ
ΡΡΠ°ΡΠ΅ΠΉ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ Π²ΡΠ΅Ρ
ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, Π»ΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ. ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΎΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, Π²ΡΠΎΡΠ°Ρ β Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ΅ΡΡΡ β ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΈ ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
.
ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°
Π‘ΠΏΠ΅ΡΠ²Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠ²Π°ΡΡΠΈΡΡ, Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΡΡΠ΅Π΄ΠΆΠ° ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΆΠΈΠ»ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅:
- Π΄Π°ΡΡΠΈΠΊΠΈ, ΠΈΠ·ΠΌΠ΅ΡΡΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ΅Π΄Ρ;
- ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ;
- ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠΈΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΈ Π²ΡΠ΄Π°ΡΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡ Π΅ΠΌΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π΄Π°ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ΄Ρ (1) Π² Π²Π°Π½Π½ΠΎΠΉ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ (2) ΠΈ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ (3) Π² ΡΠΏΠ°Π»ΡΠ½Π΅, ΡΠΌΠ½Π°Ρ ΡΠΎΠ·Π΅ΡΠΊΠ° (4) Π½Π° ΠΊΡΡ Π½Π΅ ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ (5) Π² ΠΏΡΠΈΡ ΠΎΠΆΠ΅ΠΉ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ Π΄Π°ΡΡΠΈΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ RF433, Z-Wave, ZigBee, Bluetooth ΠΈ WiFi. ΠΡ
Π³Π»Π°Π²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° β ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΌΠΎΠ½ΡΠ°ΠΆΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΡΠ΅Π²ΠΈΠ·Π½Π° ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ, Ρ.ΠΊ. ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΡΡΡΠ΅ΠΌΡΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΌΠ°ΡΡΠΎΠ²ΡΠΉ ΡΡΠ½ΠΎΠΊ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ
Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΡΡΠ΄ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ°ΡΡΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΏΠΎ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° (6) β ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅ΠΌΡ Π²ΡΠ΅ ΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Π΅Π΄ΠΈΠ½ΡΡ ΡΠ΅ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΌΡ ΠΈΠΌΠΈ.
ΠΠΏΡΠΎΡΠ΅ΠΌ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π±Π΅ Π΄Π°ΡΡΠΈΠΊ, ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠ½Π°Ρ ΡΠΎΠ·Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, Π° ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠΌΠ΅Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΡΠΈΠ³Π½Π°Π»Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΡΡΠ΅Ρ (7), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΡΠ°Π» ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ Π±ΡΡΠΎΠ²ΡΠΌ ΠΏΡΠΈΠ±ΠΎΡΠΎΠΌ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΠΎΠΌΠ΅. ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° β Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠΎ ΡΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π±Π»ΠΎΠΊΡ Π»ΠΎΠ³ΠΈΠΊΠΈ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΉΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π° Π½Π΅ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°
Π‘Π±ΠΎΡΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ° β ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ (1) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΠ»Π°ΡΡΠΈΠΊΠΎΠ²ΡΠΉ ΠΊΠΎΡΠΏΡΡ (2), Π΄Π°Π»Π΅Π΅ Π² Π½Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»ΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ 8 ΠΠ ΠΊΠ°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ microSD Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ (3) ΠΈ USB-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΠΈ Z-Wave (4). ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π· Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΏΠΈΡΠ°Π½ΠΈΡ 5Π, 2.1Π (5) ΠΈ ΠΊΠ°Π±Π΅Π»Ρ USB β micro-USB (6). ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π°Π²ΡΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Linux Raspbian Stretch. ΠΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ:
- ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ;
- Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°;
- Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π‘Π£ΠΠ
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ PHP 7 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠΊΡΠΎΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°
(ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ)
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° (IP-ΠΊΠ°ΠΌΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΈ Π΄Π°ΡΡΠΈΠΊΠΎΠ²) ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈΠ· ΠΠ SQLite. ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΎΠ½ΠΎ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ RESTful API ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ΅Π½ΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΡΠ΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° β Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°. Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ systemd ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Linux Raspbian.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ²Π»ΡΡΡΡΡ:
- ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ;
- Π‘Π΅ΡΠ²Π΅Ρ IP-ΠΊΠ°ΠΌΠ΅ΡΡ;
- Π‘Π΅ΡΠ²Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Z-Wave;
- Π‘Π΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»;
- ΠΠ°Π·Π° ΠΠ°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ Π±Π»ΠΎΠΊΠ° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»;
- RESTful API ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ;
- MQTT ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ.
ΠΠ»ΠΎΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON (ΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°).
ΠΠ»Π°Π²Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON Π΄Π»Ρ Π²ΡΠ΅Ρ
Π±Π»ΠΎΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. Π’ΠΈΠΏΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ JSON-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅:
deviceType
protocol
messageType
deviceState
command
camera
onvif
sensorData
on
streaming(On/Off)
sensor
zwave
command
off
recording(On/Off)
effector
mqtt
businessLogicRule
streaming(On/Off)
evice(Add/Remove)
businessLogic
configurationData
recording(On/Off)
bluetooth
deviceState
error
wifi
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-ΠΊΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
{
"if": {
"and": [{
"equal": {
"deviceId": "1616453d-30cd-44b7-9bf0-************"
}
},
{
"equal": {
"messageType": "command"
}
}
]
},
"then": {
"result": "true"
}
}
ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Π°Π½ΡΠ΅ΡΠ΅Π΄Π΅Π½ΡΠ΅ (Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ) ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌΠΈ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠΊΠ²Π΅Π½Ρ (ΠΏΡΠ°Π²Π°Ρ ΡΠ°ΡΡΡ) ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π»Ρ JSON-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π Π°Π½ΡΠ΅ΡΠ΅Π΄Π΅Π½ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ JSON-ΠΏΠ°Ρ Β«ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β»:
- ΡΠ°Π²Π½ΠΎ Β«equalΒ»;
- Π½Π΅ ΡΠ°Π²Π½ΠΎ Β«not_equalΒ»;
- ΠΌΠ΅Π½ΡΡΠ΅ Β«lessΒ»;
- Π±ΠΎΠ»ΡΡΠ΅ Β«greaterΒ»;
- ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ Β«less_or_equalΒ»;
- Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ Β«greater_or_equalΒ».
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π±ΡΠ»Π΅Π²ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ:
- Π Β«andΒ»;
- ΠΠΠ Β«orΒ»;
- ΠΠ Β«notΒ».
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ Π² ΠΏΠΎΠ»ΡΡΠΊΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° 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-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, m_Rules β ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ». Π‘ΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ reader.Parse(ruleStream, ruleHandler), Π³Π΄Π΅ ruleHandler β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΠΊΡ Π±ΡΠ»Π΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. sRuleId β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²Π½ΡΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. m_pActions β ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°: JSON-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠΊΠ²Π΅Π½ΡΡ ΠΈΠ· Π±Π°Π·Ρ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΠΌΡΠ΅ Π΄Π°Π»Π΅Π΅ Π² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΊΠΈ-ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ RapidJSON ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ° Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ strlen(), Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π²ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π² JSON-ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΠΈΠ±ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°.
ΠΠ°ΡΡΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Z-Wave
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ΅Π΄Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄Π°ΡΡΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ β ΡΡΠΎ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ
ΠΠ° ΡΡΠ½ΠΊΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² Z-Wave. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ:
- Π£ΠΌΠ½Π°Ρ ΡΠΎΠ·Π΅ΡΠΊΠ° Zipato PAN16 ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³ΠΈΠΈ (ΠΊΠΡ/Ρ), ΠΌΠΎΡΠ½ΠΎΡΡΡ (ΠΡ), Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ (Π) ΠΈ ΡΠΎΠΊ (Π) Π² ΡΠ»Π΅ΠΊΡΡΠΎΡΠ΅ΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΡΠΈΠ±ΠΎΡΠΎΠΌ;
- ΠΠ°ΡΡΠΈΠΊ ΠΏΡΠΎΡΠ΅ΡΠΊΠΈ Neo Coolcam ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΎΠΉ ΠΆΠΈΠ΄ΠΊΠΎΡΡΠΈ ΠΏΠΎ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π²ΡΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΏΠ°;
- ΠΠ°ΡΡΠΈΠΊ Π·Π°Π΄ΡΠΌΠ»Π΅Π½ΠΈΡ Zipato PH-PSG01 ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ ΡΠ°ΡΡΠΈΡ Π΄ΡΠΌΠ° Π² ΠΊΠ°ΠΌΠ΅ΡΡ Π³Π°Π·ΠΎΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°;
- ΠΠ°ΡΡΠΈΠΊ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Neo Coolcam Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΡΠ°ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄Π°ΡΡΠΈΠΊ ΠΎΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ (ΠΠΊ);
- ΠΡΠ»ΡΡΠΈΡΠ΅Π½ΡΠΎΡ Philio PST02-A ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ (Β°C), ΠΎΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ (%), ΠΎΡΠΊΡΡΡΠΈΠ΅ Π΄Π²Π΅ΡΠΈ, ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ;
- ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΠΈ Z-Wave USB Stick ZME E UZB1, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄Π°ΡΡΠΈΠΊΠΈ.
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠ΅, β ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΈ, ΠΏΠΎ-ΠΏΡΠΎΡΡΡ, Π½Π΅ ΡΠ²ΠΈΠ΄ΡΡ Π΄ΡΡΠ³-Π΄ΡΡΠ³Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ΅ΡΠΈ Z-Wave ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄ΠΎ 232 ΡΡΡΡΠΎΠΉΡΡΠ², ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ²Π°ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΡΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π·ΠΎΠ½Ρ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΠΈ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΌΠ½Π°Ρ ΡΠΎΠ·Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ΡΠΈΠ³Π½Π°Π»Π°.
Π ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠ΅, Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Z-Wave ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ Z-Wave. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
{
"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, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΠΈ ΠΎΡΡΡΠ»Π°Π΅Ρ Π² USB-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΠΈ Z-Wave. ΠΠ°Π»Π΅Π΅ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ΅Π΄Ρ, ΠΈ ΡΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
(ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ)
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Z-Wave ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠ±Π°Π²ΠΈΡΡΒ». ΠΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ RESTful API ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ, Π·Π°ΡΠ΅ΠΌ, ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²Π΅ΡΡ Z-Wave, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ USB-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΡΠΈ Z-Wave Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ°Π»Π΅Π΅, Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Z-Wave Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ΅ΡΠΈΡ Π±ΡΡΡΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠΉ (3 Π½Π°ΠΆΠ°ΡΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 1,5 ΡΠ΅ΠΊΡΠ½Π΄) ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. USB-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠ΅ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΌ Π² ΡΠ΅ΡΠ²Π΅Ρ Z-Wave. Π’ΠΎΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΠ SQLite Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΊΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² Z-Wave, ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΠ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Π Π°Π±ΠΎΡΠ° ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° UML-Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅:
(ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ)
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ IP-ΠΊΠ°ΠΌΠ΅Ρ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΉ Π² Π ΠΎΡΡΠΈΠΈ.
ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ Π·Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π»Π°ΠΊΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π΅Π΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π½Π°ΡΠΈΠ½ΠΊΠ΅ β ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈΠΌ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠ΅Π½Π° ΠΊΠ°ΠΌΠ΅Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ IP-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ²ΠΎΡΠΎΠ² Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΊΠ°ΠΌΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ IP-ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²ΠΈΠ΄Π΅ΠΎΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ² Ρ IP-ΠΊΠ°ΠΌΠ΅Ρ Π² ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π±ΡΠ»Π° ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΡΡΡ
IP-ΠΊΠ°ΠΌΠ΅Ρ, ΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ IP-Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠ΅ΠΌΠΈ Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ 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
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π°Π±ΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ Β«*.hΒ» ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Β«*.cppΒ» ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GCC. ΠΠ·-Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Raspberry Pi 3 model B+ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
IP-ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ ONVIF, ΠΏΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΡΠ»ΡΡΠΈΠΊΠ°ΡΡΠΎΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ 239.255.255.250. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° IP-ΠΊΠ°ΠΌΠ΅Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ PHP, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ XML-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ Π£ΡΡΡΠΎΠΉΡΡΠ²Π° > IP-ΠΊΠ°ΠΌΠ΅ΡΡ > Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° IP-ΠΊΠ°ΠΌΠ΅Ρ, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ:
(ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ)
ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΅ΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΅Π΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ±Π»Π°ΠΊΠ°.
ΠΠ°Π»Π΅Π΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ RESTful API, Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΠ SQLite, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ:
- ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ RTSP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²;
- ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠ΄ΠΈΠΎ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠΎΠ² G.711 mu-Law, G.711 A-Law, G.723, ΠΈΡΠ΄. Π² ΡΠΎΡΠΌΠ°Ρ AAC;
- ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ H.264 ΠΈ Π°ΡΠ΄ΠΈΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ AAC Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ FLV ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΅Π³ΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ RTMP;
- ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ IP-ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ONVIF ΠΈ Π΅Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΠΎΡ;
- ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° (preview) ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ΅ Π΅Π³ΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ MQTT;
- Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ MP4 Π½Π° SD- ΠΈΠ»ΠΈ Flash-ΠΊΠ°ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ, ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠΎΠ² Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ 3 ΠΊΠ°ΠΌΠ΅ΡΡ:
- HiWatch DS-I114W (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β 720p, ΡΠΎΡΠΌΠ°Ρ ΡΠΆΠ°ΡΠΈΡ β H.264, Π±ΠΈΡΡΠ΅ΠΉΡ β 1 Mb/s, Π·Π²ΡΠΊ G.711 mu-Law);
- Microdigital 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 ΠΠ (Π½Π° ΠΏΡΠΎΡΠ΅ΡΡ), 56 ΠΠ (Π²ΡΠ΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΠ‘).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 20 β 30 ΠΊΠ°ΠΌΠ΅Ρ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π±ΠΈΡΡΠ΅ΠΉΡΠ°), ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΡΠ΅Ρ ΡΡΠ°ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΡΠ΅Π΄ΠΆΠ° ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΊΠ»Π°Π΄Π°. Π Π·Π°Π΄Π°ΡΠ°Ρ , Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΠΎΠΏ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ Intel ΠΈ ΠΠ‘ Linux Debian Sarge. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΡΠ½ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ, ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄ΡΡ ΡΡΠΎΡΠ½ΡΡΡΡΡ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ
ΠΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠΌΠ½ΡΠΉ Π΄ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ²) Π² ΠΎΠ±Π»Π°ΠΊΠ΅. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°. Π‘Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π² ΠΎΠ±Π»Π°ΠΊΠΎ.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ
- QoS 0 β ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ);
- QoS 1 β Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ);
- QoS 2 β ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ).
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ MQTT-Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
MQTT-ΠΊΠ»ΠΈΠ΅Π½Ρ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠ΅Π΄ΠΈΠ°ΠΏΠΎΡΠΎΠΊΠΈ H.264 + AAC ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ RTMP, Π³Π΄Π΅ Π·Π° ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΊ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°ΠΏΠΎΡΠΎΠΊ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Raspberry Pi 3 B+, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Z-Wave, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ IP-ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ONVIF, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ MQTT ΠΈ RTMP. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΎΠ½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΡΠ°ΠΊΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² JSON ΡΠΎΡΠΌΠ°ΡΠ΅.
Π‘Π΅ΠΉΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΡΠ½ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Π² ΠΠΎΡΠΊΠ²Π΅ ΠΈ ΠΠΎΠ΄ΠΌΠΎΡΠΊΠΎΠ²ΡΠ΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΠΏΠΎΠ² (RF, Bluetooth, WiFi, ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠ΅). ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠΎΠ² ΠΈ IP-ΠΊΠ°ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com