ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

ДнСс, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π±ΡŠΡ€Π·ΠΎΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠ΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°Ρ‚Π°, ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅ ΠΈ изкуствСния ΠΈΠ½Ρ‚Π΅Π»Π΅ΠΊΡ‚, Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° ΡƒΠΌΠ½ΠΈΡ‚Π΅ Π΄ΠΎΠΌΠΎΠ²Π΅ става всС ΠΏΠΎ-Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π°. Π§ΠΎΠ²Π΅ΡˆΠΊΠΈΡΡ‚ Π΄ΠΎΠΌ Π΅ ΠΏΡ€Π΅Ρ‚ΡŠΡ€ΠΏΡΠ» Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΌΠ΅Π½Π½Π°Ρ‚Π° Π΅Ρ€Π° насам, Π° Π² Π΅Ρ€Π°Ρ‚Π° Π½Π° Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»Π½Π°Ρ‚Π° Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ 4.0 ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π° Π΅ станал ΡƒΠ΄ΠΎΠ±Π΅Π½, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈ бСзопасСн. На ΠΏΠ°Π·Π°Ρ€Π° ΠΈΠ΄Π²Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π°Ρ‚ Π°ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ сСлска ΠΊΡŠΡ‰Π° Π² слоТни ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, управлявани ΠΎΡ‚ всяка Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° свСта с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° смартфон. ОсвСн Ρ‚ΠΎΠ²Π° Π·Π° взаимодСйствиС Ρ‡ΠΎΠ²Π΅ΠΊ-машина Π²Π΅Ρ‡Π΅ Π½Π΅ сС изисква ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ - Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Ρ‡ ΠΈ синтСз, Ρ‡ΠΎΠ²Π΅ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈ с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π½Π° родния си Π΅Π·ΠΈΠΊ.

Някои систСми Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΠ°Π·Π°Ρ€Π°, са Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ систСми Π·Π° видСонаблюдСниС, Ρ‡ΠΈΠΈΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ са осъзнали нСобходимостта ΠΎΡ‚ цялостно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ само Π·Π° наблюдСниС, Π½ΠΎ ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.

Π’Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅ ΠΏΠΎΠΊΠ°Π½Π΅Π½ΠΎ Π½Π° ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ Ρ‚Ρ€ΠΈ статии, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ говорят Π·Π° всички основни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° систСма Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ, Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ пусната Π² Сксплоатация. ΠŸΡŠΡ€Π²Π°Ρ‚Π° статия Π΅ посвСтСна Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½ΠΎΡ‚ΠΎ клиСнтско ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, инсталирано Π² интСлигСнтния Π΄ΠΎΠΌ, Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° Π΅ Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° систСма Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ накрая, Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° Π΅ Π·Π° клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° систСмата Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΈ стационарни устройства.

Π£ΠΌΠ½ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ Π·Π° Π΄ΠΎΠΌΠ°

ΠŸΡŠΡ€Π²ΠΎ, Π½Π΅ΠΊΠ° Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΡƒΠΌΠ΅Π½ Π΄ΠΎΠΌ ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Π°ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚, лятна ΠΊΡŠΡ‰Π° ΠΈΠ»ΠΈ Π²ΠΈΠ»Π°. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° поставитС слСдното ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ Π² ΠΆΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ:

  1. сСнзори, ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Ρ‰ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° срСда;
  2. ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, дСйстващи Π²ΡŠΡ€Ρ…Ρƒ външни ΠΎΠ±Π΅ΠΊΡ‚ΠΈ;
  3. ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° изчислСния Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с измСрванията Π½Π° сСнзоритС ΠΈ основната Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΈΠ·Π΄Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ към Π·Π°Π΄Π²ΠΈΠΆΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° Ρ„ΠΈΠ³ΡƒΡ€Π° ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° сСнзори Π·Π° Ρ‚Π΅Ρ‡ Π½Π° Π²ΠΎΠ΄Π° (1) Π² банята, сСнзори Π·Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (2) ΠΈ освСтлСниС (3) Π² спалнята, ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ (4) Π² кухнята ΠΈ видСонаблюдСниС ΠΊΠ°ΠΌΠ΅Ρ€Π° (5) Π² ΠΊΠΎΡ€ΠΈΠ΄ΠΎΡ€Π°.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ сСнзори, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ RF433, Z-Wave, ZigBee, Bluetooth ΠΈ WiFi. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΈΠΌ прСдимства са лСсна инсталация ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ниска Ρ†Π΅Π½Π° ΠΈ надСТдност. ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ сС стрСмят Π΄Π° прСдставят своитС устройства Π½Π° масовия ΠΏΠ°Π·Π°Ρ€ ΠΈ Π΄Π° Π³ΠΈ направят Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° срСдния ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π».

Π‘Π΅Π½Π·ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ Ρ‡Ρ€Π΅Π· Π±Π΅Π·ΠΆΠΈΡ‡Π΅Π½ интСрфСйс към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ (6) - спСциализиран ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° всички Ρ‚Π΅Π·ΠΈ устройства Π² Π΅Π΄Π½Π° ΠΌΡ€Π΅ΠΆΠ° ΠΈ Π³ΠΈ управлява.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, някои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚ сСнзор, Π·Π°Π΄Π²ΠΈΠΆΠ²Π°Ρ‰ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НапримСр, ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ щСпсСл ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π° спорСд Π³Ρ€Π°Ρ„ΠΈΠΊ, Π° ΠΎΠ±Π»Π°Ρ‡Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π° Π·Π° видСонаблюдСниС ΠΌΠΎΠΆΠ΅ Π΄Π° записва Π²ΠΈΠ΄Π΅ΠΎ Π½Π° сигнал Π½Π° Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π’ Π½Π°ΠΉ-проститС случаи ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π±Π΅Π· ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Π½ΠΎ Π·Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ гъвкава систСма с ΠΌΠ½ΠΎΠ³ΠΎ сцСнарии, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π—Π° Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ към Π³Π»ΠΎΠ±Π°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ€ΡƒΡ‚Π΅Ρ€ (7), ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‚Π΄Π°Π²Π½Π° сС Π΅ ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π°Π» Π² ΠΏΠΎΠ·Π½Π°Ρ‚ домакински ΡƒΡ€Π΅Π΄ във всСки Π΄ΠΎΠΌ. Има ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ - Π°ΠΊΠΎ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° с ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ сС Π·Π°Π³ΡƒΠ±ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° интСлигСнтният Π΄ΠΎΠΌ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° логичСския Π±Π»ΠΎΠΊ, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°, Π° Π½Π΅ Π² ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° услуга.

ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° систСмата Π·Π° ΠΎΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ, Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ Π² Ρ‚Π°Π·ΠΈ статия, Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π΅Π΄Π½ΠΎΠΏΠ»Π°Ρ‚ΠΊΠΎΠ² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ Raspberry Pi 3 ΠΌΠΎΠ΄Π΅Π» B+, ΠΊΠΎΠΉΡ‚ΠΎ бСшС пуснат ΠΏΡ€Π΅Π· ΠΌΠ°Ρ€Ρ‚ 2018 Π³. ΠΈ ΠΈΠΌΠ° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ рСсурси ΠΈ производитСлност Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ домашни Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π²Π° чСтириядрСн процСсор Cortex-A53 Π½Π° 64-Π±ΠΈΡ‚ΠΎΠ²Π° ARMv8-A Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, с Ρ‚Π°ΠΊΡ‚ΠΎΠ²Π° чСстота 1.4 GHz, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ 1 GB RAM, Wi-Fi 802.11ac, Bluetooth 4.2 ΠΈ Π³ΠΈΠ³Π°Π±ΠΈΡ‚ΠΎΠ² Ethernet Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΏΡ€Π΅Π· USB 2.0 автобус.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

БглобяванСто Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто - ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ (1) сС ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π° Π² пластмасов корпус (2), слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Ρ‚ 8 GB microSD ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ със софтуСр (3) ΠΈ USB Z-Wave ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ (4) подходящитС слотовС. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ към СлСктричСската ΠΌΡ€Π΅ΠΆΠ° Ρ‡Ρ€Π΅Π· Π·Π°Ρ…Ρ€Π°Π½Π²Π°Ρ‰ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ 5V, 2.1A (5) ΠΈ USB-micro-USB ΠΊΠ°Π±Π΅Π» (6). ВсСки ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈΠΌΠ° ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ Π½ΠΎΠΌΠ΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ сС записва Π² конфигурационния Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ стартиранС ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π·Π° взаимодСйствиС с ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ услуги Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ.

Π‘ΠΎΡ„Ρ‚ΡƒΠ΅Ρ€ΡŠΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° Π½Π° Ρ‚Π°Π·ΠΈ статия въз основа Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Linux Raspbian Stretch. Π‘ΡŠΡΡ‚ΠΎΠΈ сС ΠΎΡ‚ слСднитС основни подсистСми:

  • ΡΡŠΡ€Π²ΡŠΡ€Π΅Π½ процСс Π·Π° взаимодСйствиС с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎ домашно ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ ΠΈ ΠΎΠ±Π»Π°ΠΊ;
  • Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ потрСбитСлски интСрфСйс Π·Π° настройка Π½Π° конфигурацията ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°;
  • Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° конфигурацията Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π‘Π£Π‘Π” SQLite ΠΈ Π΅ Ρ„Π°ΠΉΠ» Π½Π° SD ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° със систСмСн софтуСр. Π’ΠΎΠΉ слуТи ΠΊΠ°Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π° конфигурация Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° β€” информация Π·Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡ‚ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΌΡƒ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π±Π»ΠΎΠΊ ΠΎΡ‚ логичСски производствСни ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ информация, изискваща индСксиранС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π½Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ°Ρ€Ρ…ΠΈΠ²Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅). ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ сС рСстартира, Ρ‚Π°Π·ΠΈ информация сС Π·Π°ΠΏΠ°Π·Π²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ възмоТно Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° функционалността Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π² случай Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ.

Π“Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π² PHP 7 с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡ€Π°ΠΌΠΊΠ° Ρ‚ΡŠΠ½ΡŠΠΊ. Π£Π΅Π± ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ отговаря Π·Π° стартиранСто Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Lighttpd, чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ във Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ устройства ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΎΠ±Ρ€Π°Ρ‚Π° си производитСлност ΠΈ нискитС изисквания Π·Π° рСсурси.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори
(Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π² ΠΏΠΎ-голяма Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ)

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° функция Π½Π° GUI Π΅ Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎ домашно ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ (IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ ΠΈ сСнзори) към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°. Π£Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π΅ конфигурацията ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ към Π½Π΅Π³ΠΎ устройства ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ SQLite. Π—Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ конфигурацията Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°, Ρ‚ΠΎΠΉ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON Ρ‡Ρ€Π΅Π· RESTful API Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс.

Π‘ΡŠΡ€Π²ΡŠΡ€Π΅Π½ процСс

Π‘ΡŠΡ€Π²ΡŠΡ€Π΅Π½ процСс - ΠΊΠ»ΡŽΡ‡ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ изпълнява цялата основна Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ процСси, ΠΊΠΎΠΈΡ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ основата Π½Π° интСлигСнтния Π΄ΠΎΠΌ: ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сСнзорни Π΄Π°Π½Π½ΠΈ, ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ дСйствия Π² зависимост ΠΎΡ‚ основната Π»ΠΎΠ³ΠΈΠΊΠ°. Π¦Π΅Π»Ρ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс Π΅ Π΄Π° взаимодСйства с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎ домашно ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, Π΄Π° изпълнява производствСни логичСски ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ‚ графичния интСрфСйс ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°. Π‘ΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡΡ‚ процСс Π² разглСТдания ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ многонишково ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΎ Π² C ++ ΠΈ стартирано ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½Π° услуга systemd ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Linux Raspbian.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс са:

  1. ΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ;
  2. IP ΠΊΠ°ΠΌΠ΅Ρ€Π° ΡΡŠΡ€Π²ΡŠΡ€;
  3. Z-Wave ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° устройства;
  4. Π‘ΡŠΡ€Π²ΡŠΡ€ Π½Π° производствСни логичСски ΠΏΡ€Π°Π²ΠΈΠ»Π°;
  5. Π‘Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° конфигурация Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° ΠΈ Π±Π»ΠΎΠΊ ΠΎΡ‚ логичСски ΠΏΡ€Π°Π²ΠΈΠ»Π°;
  6. RESTful API ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° взаимодСйствиС с графичния интСрфСйс;
  7. MQTT ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° взаимодСйствиС с ΠΎΠ±Π»Π°ΠΊΠ°.

Π‘Π»ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, информацията ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON (ΠΈΠ»ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, прСдставляващи Ρ‚ΠΎΠ·ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° процСса).

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΊΠΎΠΉΡ‚ΠΎ насочва JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ към всички Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс. Π’ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° Π² JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ стойноститС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚, са ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°:

deviceType
ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»
messageType
deviceState
ΠΊΠΎΠΌΠ°Π½Π΄Π°

стая
ONVIF
сСнзорни Π΄Π°Π½Π½ΠΈ
on
ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ (Π²ΠΊΠ»./ΠΈΠ·ΠΊΠ».)

сСнзор
zwave
ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΎΡ‚
запис (вкл./изкл.)

Π΅Ρ„Π΅ΠΊΡ‚ΠΎΡ€
mqtt
businessLogicRule
ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ (Π²ΠΊΠ»./ΠΈΠ·ΠΊΠ».)
устройство (ДобавянС/ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅)

businessLogic
ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ
запис (вкл./изкл.)

Bluetooth
deviceState
Π³Ρ€Π΅ΡˆΠΊΠ°

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 ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ‚ GUI ΠΈ ΠΎΠ±Π»Π°ΠΊΠ°, трябва Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ слСдното ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ:

{
	"if": {
	    "and": [{
		"equal": {
		    "deviceId": "1616453d-30cd-44b7-9bf0-************"
		}
	    },
	    {
		"equal": {
		    "messageType": "command"
		}
	    }
	    ]
	},
	"then": {
	    "result": "true"
	}
}

Ако условията, посочСни Π² Π°Π½Ρ‚Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ (лявата страна) ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° са Π²Π΅Ρ€Π½ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° послСдващо (дясна страна) ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ тялото Π½Π° JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠΠ½Ρ‚Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΡŠΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° логичСски ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сравняват JSON Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност:

  1. Π΅ Ρ€Π°Π²Π½ΠΎ Π½Π° "Ρ€Π°Π²Π½ΠΎ";
  2. Π½Π΅ Π΅ Ρ€Π°Π²Π½ΠΎ Π½Π° "not_equal";
  3. ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ "ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ";
  4. ΠΏΠΎΠ²Π΅Ρ‡Π΅ "ΠΏΠΎ-голямо";
  5. ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π½Π° "ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ_ΠΈΠ»ΠΈ_Ρ€Π°Π²Π½ΠΎ";
  6. ΠΏΠΎ-голямо ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π½Π° "ΠΏΠΎ-голямо_ΠΈΠ»ΠΈ_Ρ€Π°Π²Π½ΠΎ".

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ сравнСниСто ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ Π½Π° Π±ΡƒΠ»Π΅Π²Π° Π°Π»Π³Π΅Π±Ρ€Π°:

  1. И "и";
  2. Π˜Π›Π˜ "ΠΈΠ»ΠΈ";
  3. НЕ "Π½Π΅".

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, записвайки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΈ Π² полска нотация, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚Π΅ доста слоТни условия с голям Π±Ρ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΈ производствСни ΠΏΡ€Π°Π²ΠΈΠ»Π° във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² производствСния логичСски ΡΡŠΡ€Π²ΡŠΡ€Π΅Π½ Π±Π»ΠΎΠΊ Π·Π° прСдставянС Π½Π° знания ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²ΠΎΠ΄ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ сСнзорни Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈ домашни сСнзори.

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, създава сцСнарии, спорСд ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. НапримСр: "Ако ΡΠ΅Π½Π·ΠΎΡ€ΡŠΡ‚ Π·Π° отварянС Π½Π° Π²Ρ…ΠΎΠ΄Π½Π°Ρ‚Π° Π²Ρ€Π°Ρ‚Π° сС задСйства, Ρ‚ΠΎΠ³Π°Π²Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ свСтлината Π² ΠΊΠΎΡ€ΠΈΠ΄ΠΎΡ€Π°". ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° сСнзори (сСнзор Π·Π° отварянС) ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ (ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ΠΈΠ»ΠΈ смарт Π»Π°ΠΌΠΏΠ°) ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° логичСско ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π½Π° интСлигСнтния Π΄ΠΎΠΌ. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Ρ‰Π΅ бъдС Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° статия ΠΎΡ‚ нашия Ρ†ΠΈΠΊΡŠΠ», ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° клиСнтското ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ.

ΠžΠ±ΡΡŠΠ΄Π΅Π½ΠΈΡΡ‚ ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π½Π° производствСна Π»ΠΎΠ³ΠΈΠΊΠ° сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π‘ΡŠΡ€Π· JSON β€” SAX-парсСр Π½Π° JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΅Π·ΠΈΠΊ C++. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° масив ΠΎΡ‚ производствСни ΠΏΡ€Π°Π²ΠΈΠ»Π° улСснява ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° функция Π·Π° ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π°Ρ‰ΠΈΡ‚Π΅:

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);
        }
    }
}

Π’ΡƒΠΊ pΠ€Π°ΠΊΡ‚ - структура, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност ΠΎΡ‚ JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, m_ΠŸΡ€Π°Π²ΠΈΠ»Π° β€” Π½ΠΈΠ·ΠΎΠ² масив ΠΎΡ‚ производствСни ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π‘ΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅Ρ‚ΠΎ Π½Π° входящото ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ производствСното ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° във функцията reader.Parse(ruleStream, ruleHandler)ΠšΡŠΠ΄Π΅Ρ‚ΠΎ ruleHandler Π΅ ΠΎΠ±Π΅ΠΊΡ‚, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π±ΡƒΠ»Π΅Π²ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° сравнСниС. sRuleId - ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ възмоТно Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. m_pActions - масив с Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·Π²ΠΎΠ΄Π°: JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ слСдствия ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΈ ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ към ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° Π°Π±ΠΎΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° RapidJSON Π΅ сравнима с функцията strlen(), Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ изисквания Π·Π° систСмни рСсурси позволяват Ρ‚Π°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° във Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ устройства. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΈ логичСски ΠΏΡ€Π°Π²ΠΈΠ»Π° във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON Π²ΠΈ позволява Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ гъвкава систСма Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° информация ΠΌΠ΅ΠΆΠ΄Ρƒ всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.

Π‘Π΅Π½Π·ΠΎΡ€ΠΈ ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Z-Wave

ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ прСдимство Π½Π° интСлигСнтния Π΄ΠΎΠΌ Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ самостоятСлно Π΄Π° ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° срСда ΠΈ Π΄Π° изпълнява ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² зависимост ΠΎΡ‚ ситуацията. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, сСнзоритС ΠΈ Π·Π°Π΄Π²ΠΈΠΆΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Ρ‚ΠΎΠ²Π° са Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ устройства, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Z-вълна Π½Π° спСциална чСстота 869 MHz Π—Π° Русия. Π—Π° своята Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π΅ са ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² mesh ΠΌΡ€Π΅ΠΆΠ°, Π² която ΠΈΠΌΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Π»ΠΈ Π½Π° сигнала с Ρ†Π΅Π» ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π·ΠΎΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅. Устройствата ΠΈΠΌΠ°Ρ‚ ΠΈ спСциалСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° пСстСнС Π½Π° СнСргия - Ρ‚Π΅ ΠΏΡ€Π΅ΠΊΠ°Ρ€Π²Π°Ρ‚ ΠΏΠΎ-голямата част ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ си Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° заспиванС ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ информация само ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠΌ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° ΡƒΠ΄ΡŠΠ»ΠΆΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° батСрия.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

ДнСс Π½Π° ΠΏΠ°Π·Π°Ρ€Π° ΠΈΠΌΠ° доста Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Z-Wave устройства. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ няколко:

  1. Умният ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Zipato PAN16 ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° слСднитС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ: консумация Π½Π° СлСктроСнСргия (kWh), мощност (W), Π½Π°ΠΏΡ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ (V) ΠΈ Ρ‚ΠΎΠΊ (A) Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π Π°Π·ΠΏΠΎΠ»Π°Π³Π° ΠΈ с Π²Π³Ρ€Π°Π΄Π΅Π½ ΠΊΠ»ΡŽΡ‡, с ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° управляватС ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΡƒΡ€Π΅Π΄;
  2. Π‘Π΅Π½Π·ΠΎΡ€ΡŠΡ‚ Π·Π° Ρ‚Π΅Ρ‡ Neo Coolcam ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° разлята тСчност Ρ‡Ρ€Π΅Π· затварянС Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° дистанционната сонда;
  3. Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ Π·Π° Π΄ΠΈΠΌ Zipato PH-PSG01 сС задСйства, ΠΊΠΎΠ³Π°Ρ‚ΠΎ частици Π΄ΠΈΠΌ навлязат Π² ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° Π½Π° Π³Π°Π·ΠΎΠ°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°;
  4. Π‘Π΅Π½Π·ΠΎΡ€ΡŠΡ‚ Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Neo Coolcam Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΈΠ½Ρ„Ρ€Π°Ρ‡Π΅Ρ€Π²Π΅Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π»ΡŠΡ‡Π²Π°Π½Π΅ Π½Π° Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΎΡ‚ΠΎ тяло. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ° сСнзор Π·Π° свСтлина (Lx);
  5. ΠœΡƒΠ»Ρ‚ΠΈΡΠ΅Π½Π·ΠΎΡ€ Philio PST02-A ΠΈΠ·ΠΌΠ΅Ρ€Π²Π° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° (Β°C), освСтСност (%), отварянС Π½Π° Π²Ρ€Π°Ρ‚Π°, Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΎ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²ΠΈΠ΅ Π² ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ;
  6. ΠœΡ€Π΅ΠΆΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Z-Wave USB Stick ZME E UZB1, към ΠΊΠΎΠΉΡ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ сСнзоритС.

Много Π΅ Π²Π°ΠΆΠ½ΠΎ устройствата ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π΄Π° работят Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° чСстота, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Ρ‚Π΅, ΠΏΠΎ прост Π½Π°Ρ‡ΠΈΠ½, няма Π΄Π° сС Π²ΠΈΠΆΠ΄Π°Ρ‚ Π΅Π΄ΠΈΠ½ Π΄Ρ€ΡƒΠ³ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅. Към Π΅Π΄ΠΈΠ½ Z-Wave ΠΌΡ€Π΅ΠΆΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Π΄ΠΎ 232 устройства, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ напълно Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π·Π° Π°ΠΏΠ°Ρ€Ρ‚Π°ΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ сСлска ΠΊΡŠΡ‰Π°. Π—Π° Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° Π·Π°ΠΊΡ€ΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Π» Π½Π° сигнала.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π’ процСса Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ, обсъдСн Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„, Z-Wave ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° взаимодСйствиСто с Z-Wave устройства. Π—Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ информация ΠΎΡ‚ сСнзори, Ρ‚ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° OpenZWave Π² C++, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя интСрфСйс Π·Π° взаимодСйствиС с Z-Wave ΠΌΡ€Π΅ΠΆΠΎΠ² USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сСнзори ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ. Бтойността Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π½Π° ΠΎΠΊΠΎΠ»Π½Π°Ρ‚Π° срСда, ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ ΠΎΡ‚ сСнзора, сС записва ΠΎΡ‚ Z-Wave ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΊΠ°Ρ‚ΠΎ JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅:

{
	"vendor": "*****",
	"version": "3.0.0",
	"timestampMs": "1566479791290",
	"clientType": "gateway",
	"deviceId": "20873eb0-dd5e-4213-a175-************",
	"deviceType": "sensor",
	"protocol": "zwave",
	"messageType": "sensorData",
	"homeId": "0xefa0cfa7",
	"nodeId": "20",
	"sensorType": "METER",
	"label": "Voltage",
	"sensorData": "229.3",
	"units": "V"
}

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΄ΠΎ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° Π°Π±ΠΎΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π°Π±ΠΎΠ½Π°Ρ‚ Π΅ производствСният логичСски ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ съвпада със стойноститС Π½Π° ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ части Π½Π° логичСскитС ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·Π²ΠΎΠ΄Π°, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ към ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° ΠΈ ΠΎΡ‚Ρ‚Π°ΠΌ към Z-Wave ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π° ΠΈ Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° към Z-Wave мрСТовия USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‚Π΅ Π²Π»ΠΈΠ·Π°Ρ‚ Π² ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ устройство, ΠΊΠΎΠ΅Ρ‚ΠΎ промСня ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ във Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° срСда ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ умният Π΄ΠΎΠΌ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори
(Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π² ΠΏΠΎ-голяма Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ)

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Z-Wave устройства сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π² графичния интСрфСйс Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° страницата със списъка с устройства ΠΈ Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Π±ΡƒΡ‚ΠΎΠ½Π° β€žΠ”ΠΎΠ±Π°Π²ΡΠ½Π΅β€œ. ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° добавянС ΠΏΡ€Π΅Π· RESTful API интСрфСйса Π²Π»ΠΈΠ·Π° Π² процСса Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ слСд Ρ‚ΠΎΠ²Π° сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΎΡ‚ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π΄ΠΎ Z-Wave ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ поставя Z-Wave USB мрСТовия ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π² спСциалСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° добавянС Π½Π° устройства. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π½Π° устройството Z-Wave трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ сСрия ΠΎΡ‚ Π±ΡŠΡ€Π·ΠΈ натискания (3 натискания Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° 1,5 сСкунди) Π½Π° сСрвизния Π±ΡƒΡ‚ΠΎΠ½. USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ ΡΠ²ΡŠΡ€Π·Π²Π° устройството към ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° информация Π·Π° Π½Π΅Π³ΠΎ към Z-Wave ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’ΠΎΠ²Π° ΠΎΡ‚ своя страна създава Π½ΠΎΠ² запис Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ SQLite с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π½ΠΎΠ²ΠΎΡ‚ΠΎ устройство. Графичният интСрфСйс слСд посочСния ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ сС Π²Ρ€ΡŠΡ‰Π° към страницата със списък Π½Π° Z-Wave устройства, Ρ‡Π΅Ρ‚Π΅ информация ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½ΠΎΠ²ΠΎ устройство Π² списъка. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ всяко устройство ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° свой собствСн ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° производствСн ΠΈΠ·Π²ΠΎΠ΄ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΎΠ±Π»Π°ΠΊΠ°. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° UML Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π°:

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори
(Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π² ΠΏΠΎ-голяма Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ)

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ

Π Π°Π·Π³Π»Π΅Π΄Π°Π½Π°Ρ‚Π° Π² Ρ‚Π°Π·ΠΈ статия систСма Π·Π° ΠΎΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ надстройка Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° систСма Π·Π° видСонаблюдСниС, ΡΡŠΡ‰ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°, която Π΅ Π½Π° ΠΏΠ°Π·Π°Ρ€Π° ΠΎΡ‚ няколко Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ инсталации Π² Русия.

ΠŸΡ€ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ систСми Π·Π° видСонаблюдСниС Π΅Π΄ΠΈΠ½ ΠΎΡ‚ остритС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π΅ ограничСният ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅, с ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ интСграция. Π‘ΠΎΡ„Ρ‚ΡƒΠ΅Ρ€ΡŠΡ‚, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ с ΠΎΠ±Π»Π°ΠΊΠ°, Π΅ инсталиран Π²ΡŠΡ‚Ρ€Π΅ Π² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²Π΅Π΄Π½Π°Π³Π° Π½Π°Π»Π°Π³Π° сСриозни изисквания към нСйния Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π΅Π½ пълнСТ - процСсора ΠΈ количСството свободна ΠΏΠ°ΠΌΠ΅Ρ‚. Π’ΠΎΠ²Π° основно обяснява ΠΏΠΎ-високата Ρ†Π΅Π½Π° Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎ наблюдСниС Π² сравнСниС с ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ‚Π΅ IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ. ОсвСн Ρ‚ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ дълъг Π΅Ρ‚Π°ΠΏ Π½Π° ΠΏΡ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΈ с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ Π·Π° ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π·Π° видСонаблюдСниС, Π·Π° Π΄Π° сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° ΠΈ всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна, всички ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ ΠΈΠΌΠ°Ρ‚ стандартни ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π·Π° взаимодСйствиС с Π΄Ρ€ΡƒΠ³ΠΎ ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ (ΠΏΠΎ-спСциално Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ΠΈ). По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ сС ΡΠ²ΡŠΡ€Π·Π²Π° Ρ‡Ρ€Π΅Π· стандартСн ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ ΠΈΠ·Π»ΡŠΡ‡Π²Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ към ΠΎΠ±Π»Π°ΠΊΠ°, осигурява Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈ прСдимства Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΈΡ‚Π΅ систСми Π·Π° видСонаблюдСниС. ОсвСн Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π²Π΅Ρ‡Π΅ Π΅ инсталирал систСма Π·Π° видСонаблюдСниС, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° прости IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° става възмоТно Π΄Π° я Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅ ΠΈ Π΄Π° я ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Π² ΠΏΡŠΠ»Π½ΠΎΠΏΡ€Π°Π²Π΅Π½ ΠΎΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ.

Най-популярният ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π·Π° IP систСми Π·Π° видСонаблюдСниС, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ Π²Π΅Ρ‡Π΅ ΠΎΡ‚ всички ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π±Π΅Π· ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π΅ ONVIF ΠΏΡ€ΠΎΡ„ΠΈΠ» S, Ρ‡ΠΈΠΈΡ‚ΠΎ спСцификации ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π² Π΅Π·ΠΈΠΊΠ° Π·Π° описаниС Π½Π° ΡƒΠ΅Π± услугитС wsdl. ИзползванС Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΎΡ‚ инструмСнтариума gSOAP възмоТно Π΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° изходния ΠΊΠΎΠ΄ Π½Π° услуги, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с 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" Π½Π° Π΅Π·ΠΈΠΊΠ° C ++, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ поставСни Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° GCC ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°. ΠŸΠΎΡ€Π°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ΄ΡŠΡ‚ Π΅ голям ΠΈ изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° оптимизация. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€ΡŠΡ‚ Raspberry Pi 3 ΠΌΠΎΠ΄Π΅Π» B+ ΠΈΠΌΠ° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π° производитСлност, Π·Π° Π΄Π° изпълни Ρ‚ΠΎΠ·ΠΈ ΠΊΠΎΠ΄, Π½ΠΎ Π² случай, Ρ‡Π΅ сС Π½Π°Π»ΠΎΠΆΠΈ прСнасянС Π½Π° ΠΊΠΎΠ΄Π° към Π΄Ρ€ΡƒΠ³Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½Π°Ρ‚Π° процСсорна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ систСмни рСсурси.

IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ стандарта ONVIF, ΠΊΠΎΠ³Π°Ρ‚ΠΎ работят Π² Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΡ€Π΅ΠΆΠ°, сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ към спСциална мултикаст Π³Ρ€ΡƒΠΏΠ° с адрСс 239.255.255.250. Има ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» WS Discovery, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π½Π° устройства Π² Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°.

Π’ графичния интСрфСйс Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° функцията Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° PHP, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ взаимодСйствиС с ΡƒΠ΅Π± услуги Ρ‡Ρ€Π΅Π· XML ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ. ΠŸΡ€ΠΈ ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ Устройства > IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ > Π‘ΠΊΠ°Π½ΠΈΡ€Π°Π½Π΅ сС стартира Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°:

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори
(Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π·Π° Π΄Π° Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π² ΠΏΠΎ-голяма Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ)

ΠšΠΎΠ³Π°Ρ‚ΠΎ добавятС ΠΊΠ°ΠΌΠ΅Ρ€Π° към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ настройкитС, спорСд ΠΊΠΎΠΈΡ‚ΠΎ тя Ρ‰Π΅ взаимодСйства с ΠΎΠ±Π»Π°ΠΊΠ°. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΡƒ сС присвоява ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° устройството, Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ лСсно Π΄Π° бъдС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Π² ΠΎΠ±Π»Π°ΠΊΠ° Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΎ всички ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π΄ΠΎΠ±Π°Π²Π΅Π½Π°Ρ‚Π° ΠΊΠ°ΠΌΠ΅Ρ€Π° ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° RESTful API, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° сС Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Ρ‚ ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ SQLite ΠΈ сС ΡΡŠΡ‰ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° стартиранС Π½Π° слСднитС нишки Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°:

  1. установяванС Π½Π° RTSP Π²Ρ€ΡŠΠ·ΠΊΠ° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ;
  2. Π°ΡƒΠ΄ΠΈΠΎ транскодиранС ΠΎΡ‚ G.711 mu-Law, G.711 A-Law, G.723 ΠΈ Π΄Ρ€. във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ AAC;
  3. транскодиранС Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ H.264 ΠΈ Π°ΡƒΠ΄ΠΈΠΎ Π² AAC Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ във FLV ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ ΠΌΡƒ Π² ΠΎΠ±Π»Π°ΠΊΠ° Ρ‡Ρ€Π΅Π· RTMP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°;
  4. УстановяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° с ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° ΠΏΠΎ ONVIF ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅;
  5. ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄ (ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π΅Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄) ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ Π² ΠΎΠ±Π»Π°ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MQTT;
  6. Π»ΠΎΠΊΠ°Π»Π΅Π½ запис Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² MP4 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° SD ΠΈΠ»ΠΈ Flash ΠΊΠ°Ρ€Ρ‚Π°Ρ‚Π° Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€.

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π—Π° установяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° с ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, ΠΏΡ€Π΅ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ запис Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π² ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° FFmpeg 4.1.0.

Π’ СкспСримСнта Π·Π° тСстванС Π½Π° производитСлността 3 ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ бяха ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°:

  1. HiWatch DS-I114W (Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ - 720p, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° компрСсия - H.264, Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ - 1 Mb / s, Π·Π²ΡƒΠΊ G.711 mu-Law);
  2. Microdigital MDC-M6290FTD-1 (Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ - 1080p, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° компрСсия - H.264, Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ - 1 Mb / s, Π±Π΅Π· Π·Π²ΡƒΠΊ);
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (Ρ€Π΅Π·ΠΎΠ»ΡŽΡ†ΠΈΡ - 1080p, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° компрСсия - H.264, Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ - 1.5 Mb/s, AAC Π°ΡƒΠ΄ΠΈΠΎ).

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

И Ρ‚Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° бяха Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°, Π°ΡƒΠ΄ΠΈΠΎΡ‚ΠΎ бСшС транскодирано само ΠΎΡ‚ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π° ΠΈ Π·Π°ΠΏΠΈΡΡŠΡ‚ Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ Π°Ρ€Ρ…ΠΈΠ² бСшС Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½. НатоварванСто Π½Π° процСсора бСшС ΠΎΠΊΠΎΠ»ΠΎ 5%, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° RAM бСшС 32 MB (Π½Π° процСс), 56 MB (ΠΎΠ±Ρ‰ΠΎ с ОБ).

Π’Π°ΠΊΠ° към интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ°Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 20-30 ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ (Π² зависимост ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° способност ΠΈ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π°), ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π·Π° систСма Π·Π° видСонаблюдСниС Π½Π° Ρ‚Ρ€ΠΈΠ΅Ρ‚Π°ΠΆΠ½Π° Π²ΠΈΠ»Π° ΠΈΠ»ΠΈ малък склад. ΠŸΡ€ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ сС изисква висока производитСлност, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π½Π΅Ρ‚Ρ‚ΠΎΠΏ с многоядрСн процСсор Intel ΠΈ Linux Debian Sarge. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π΅ Π² ΠΏΡ€ΠΎΠ±Π½Π° Сксплоатация, ΠΊΠ°Ρ‚ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΌΡƒ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ уточнявани.

ВзаимодСйствиС с ΠΎΠ±Π»Π°ΠΊΠ°

Π˜Π½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΈΡΡ‚ Π΄ΠΎΠΌ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° потрСбитСлски Π΄Π°Π½Π½ΠΈ (Π²ΠΈΠ΄Π΅ΠΎ ΠΈ сСнзорни измСрвания) Π² ΠΎΠ±Π»Π°ΠΊΠ°. АрхитСктурата Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΡ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ‰Π΅ бъдС Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½Π° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² слСдващата статия ΠΎΡ‚ Π½Π°ΡˆΠ°Ρ‚Π° сСрия. Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° интСрфСйса Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ към ΠΎΠ±Π»Π°ΠΊΠ°.

Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° Π½Π° ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ устройства ΠΈ сСнзорнитС измСрвания сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MQTT, ΠΊΠΎΠΉΡ‚ΠΎ чСсто сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π° ΠΏΠΎΡ€Π°Π΄ΠΈ своята простота ΠΈ Π΅Π½Π΅Ρ€Π³ΠΈΠΉΠ½Π° СфСктивност. MQTT ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚-ΡΡŠΡ€Π²ΡŠΡ€, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС Π°Π±ΠΎΠ½ΠΈΡ€Π°Ρ‚ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ‚Π΅ΠΌΠΈ Π² Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚ своитС ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ. Π‘Ρ€ΠΎΠΊΠ΅Ρ€ΡŠΡ‚ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π΄ΠΎ всички Π°Π±ΠΎΠ½Π°Ρ‚ΠΈ спорСд ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΡ‚ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° QoS (Quality of Service):

  • QoS 0 - максимум вСднъТ (Π±Π΅Π· гаранция Π·Π° доставка);
  • QoS 1 - ΠΏΠΎΠ½Π΅ вСднъТ (с ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° доставка);
  • QoS 2 - Ρ‚ΠΎΡ‡Π½ΠΎ вСднъТ (с Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° доставка).

Π’ нашия случай Ρ‚ΠΎΠ²Π° Π΅ Π±Ρ€ΠΎΠΊΠ΅Ρ€ΡŠΡ‚ MQTT Π—Π°Ρ‚ΡŠΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Ρ€. Π˜ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π΅ уникалният ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. MQTT ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π² ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс сС Π°Π±ΠΎΠ½ΠΈΡ€Π° Π·Π° Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° ΠΈ ΠΏΡ€Π΅Π²Π΅ΠΆΠ΄Π° Π² нСя JSON ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΈΠ΄Π²Π°Ρ‰ΠΈ ΠΎΡ‚ диспСчСра Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ. И ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΡ‚ΠΎ, ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° ΠΎΡ‚ MQTT Π±Ρ€ΠΎΠΊΠ΅Ρ€Π° сС ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‚ към ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Π³ΠΈ мултиплСксира към своитС Π°Π±ΠΎΠ½Π°Ρ‚ΠΈ Π² ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ процСс:

ΠžΠ±Π»Π°Ρ‡Π΅Π½ ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ. Част 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ сСнзори

Π—Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° интСлигСнтния домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΡ‚Π΅ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ. Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ MQTT ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ». Π’ΠΎΠ²Π° Π²ΠΈ позволява Π΄Π° прослСдяватС ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π² случай Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ.

MQTT ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ въз основа Π½Π° внСдряванСто Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Еклипс ΠŸΠ°Ρ…ΠΎ Π² C++.

ΠœΠ΅Π΄ΠΈΠΉΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ H.264 + AAC сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π² ΠΎΠ±Π»Π°ΠΊΠ° Ρ‡Ρ€Π΅Π· RTMP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΎΡ‚ ΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ отговаря Π·Π° тяхната ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. Π—Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΈ ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ ΠΌΠ΅Π΄ΠΈΠ΅Π½ ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° заявка към облачния Π±Π°Π»Π°Π½ΡΡŒΠΎΡ€ Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π΅Π΄Π²Π° слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° мСдийния ΠΏΠΎΡ‚ΠΎΠΊ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Бтатията Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° Π΅Π΄Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° рСализация Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π° Raspberry Pi 3 B+, ​​който ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° информация ΠΈ управлява ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Z-Wave, Π΄Π° взаимодСйства с IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ONVIF, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° обмСня Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° услуга Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ MQTT ΠΈ RTMP. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π΅ производствСн логичСски Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» въз основа Π½Π° сравнСниС Π½Π° логичСски ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Ρ„Π°ΠΊΡ‚ΠΈ, прСдставСни във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON.

Π‘Π΅Π³Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Π·Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ Π² ΠΎΠΏΠΈΡ‚Π½Π° Сксплоатация Π² няколко ΡΡŠΠΎΡ€ΡŠΠΆΠ΅Π½ΠΈΡ Π² Москва ΠΈ Московска област.

Π’ слСдващата вСрсия Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ устройства ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ (RF, Bluetooth, WiFi, ΠΊΠ°Π±Π΅Π»Π½ΠΈ). Π—Π° удобство Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° сСнзори ΠΈ IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ Ρ‰Π΅ бъдС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½Π° Π² ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Има ΠΈ ΠΈΠ΄Π΅ΠΈ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° процСса Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ прСнасянС Π½Π° софтуСр към ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма openwrt. Π’ΠΎΠ²Π° Ρ‰Π΅ спСсти ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ Ρ‰Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ функционалността Π½Π° ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ Π΄ΠΎΠΌ към ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ домашСн Ρ€ΡƒΡ‚Π΅Ρ€.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€