ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 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 ΠΈ Π³ΠΈΠ³Π°Π±ΠΈΡ‚Π΅Π½ Π΅Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ ΡˆΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π΅ΠΊΡƒ USB 2.0 .

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ ΠΈ сСнзори

Π‘ΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Сдноставно - ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ (1) Π΅ инсталиран Π²ΠΎ пластична ΠΊΡƒΡ‚ΠΈΡ˜Π° (2), ΠΏΠΎΡ‚ΠΎΠ° мСмориска ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠ° ΠΎΠ΄ 8 GB Π²ΠΎ microSD Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ со софтвСр (3) ΠΈ USB Z-Wave ΠΌΡ€Π΅ΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ (4) соодвСтнитС слотови. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½ со Π½Π°ΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡƒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π·Π° Π½Π°ΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ 5V, 2.1А (5) ΠΈ USB - ΠΌΠΈΠΊΡ€ΠΎ-USB ΠΊΠ°Π±Π΅Π» (6). БСкој ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈΠΌΠ° СдинствСн идСнтификациски Π±Ρ€ΠΎΡ˜, кој Π΅ запишан Π²ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΈ ΠΏΡ€Π²ΠΎΡ‚ΠΎ Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ ΠΈ Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π΅Π½ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со услугитС Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ.

Π‘ΠΎΡ„Ρ‚Π²Π΅Ρ€ΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ бСшС Ρ€Π°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Π°Π²Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π° овој напис Π²Ρ€Π· основа Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм Linux Распбијски Π²ΠΎΠ΄Π°Ρ‚. Π‘Π΅ состои ΠΎΠ΄ слСднивС Π³Π»Π°Π²Π½ΠΈ потсистСми:

  • сСрвСрски процСс Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π° домашна ΠΎΠΏΡ€Π΅ΠΌΠ° ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚;
  • Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ кориснички ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° конфигурацискитС ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚;
  • Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚.

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ ΠΈ сСнзори

Π‘Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π²Ρ€Π· основа Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ DBMS SQLite ΠΈ Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π½Π° SD ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠ° со систСмски софтвСр. Π‘Π»ΡƒΠΆΠΈ ΠΊΠ°ΠΊΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ - ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½Π°Ρ‚Π° ΠΎΠΏΡ€Π΅ΠΌΠ° ΠΈ Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°, Π±Π»ΠΎΠΊ ΠΎΠ΄ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° производство, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΡˆΡ‚ΠΎ Π±Π°Ρ€Π°Π°Ρ‚ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, имиња Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π°). Кога ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ сС рСстартира, ΠΎΠ²ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° ΠΏΡ€Π΅ΠΊΠΈΠ½ Π½Π° Π½Π°ΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ.

Π“Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ домашСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Ρ€Π°Π·Π²ΠΈΠ΅Π½ Π²ΠΎ PHP 7 со помош Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡ€Π°ΠΌΠΊΠ° Π’Π΅Π½ΠΎΠΊ. Π’Π΅Π±-сСрвСрот Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. lighttpd, чСсто сС користи Π²ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ пСрформанси ΠΈ нискитС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ Π·Π° рСсурси.

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ ΠΈ сСнзори
(ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π½Π° сликата Π·Π° Π΄Π° ја ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π²ΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π°)

Π“Π»Π°Π²Π½Π°Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π΅ Π΄Π° ја ΠΏΠΎΠ²Ρ€Π·Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π°Ρ‚Π° домашна ΠΎΠΏΡ€Π΅ΠΌΠ° (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 ΠΈ врСдноститС ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΈΡ„Π°Ρ‚Π°Ρ‚ сС Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π°:

Π’ΠΈΠΏ Π½Π° ΡƒΡ€Π΅Π΄
ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»
Π’ΠΈΠΏ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠ°
ΡƒΡ€Π΅Π΄Π‘ΠΎΡΡ‚ΠΎΡ˜Π±Π°
ΠΊΠΎΠΌΠ°Π½Π΄Π°

ΠΊΠ°ΠΌΠ΅Ρ€Π°
onvif
сСнзорски ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
on
стриминг (Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ/исклучСно)

сСнзор
Π±Ρ€Π°Π½
ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅
снимањС (Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ/исклучСно)

Π΅Ρ„Π΅ΠΊΡ‚ΠΎΡ€
mqtt
BusinessLogicRule
стриминг (Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ/исклучСно)
evice (Π”ΠΎΠ΄Π°Ρ˜/ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΠΈ)

бизнисЛогика
ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠŸΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ
снимањС (Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΎ/исклучСно)

Bluetooth
ΡƒΡ€Π΅Π΄Π‘ΠΎΡΡ‚ΠΎΡ˜Π±Π°
Π³Ρ€Π΅ΡˆΠΊΠ°

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. Π½Π΅ Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½Π° β€žΠ½Π΅_Π΅Π΄Π½Π°ΠΊΠΎΠ²β€œ;
  3. ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ β€žΠΏΠΎΠΌΠ°Π»ΠΊΡƒβ€œ;
  4. повСќС β€žΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ°β€œ;
  5. ΠΏΠΎΠΌΠ°Π»ΠΎ ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½Π° β€žΠΏΠΎΠΌΠ°Π»_ΠΈΠ»ΠΈ_Π΅Π΄Π½Π°ΠΊΠ²ΠΎβ€œ;
  6. ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΎ ΠΈΠ»ΠΈ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½Π° β€žΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΎ_ΠΈΠ»ΠΈ_Π΅Π΄Π½Π°ΠΊΠ²ΠΎβ€œ.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ спорСдбата ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π°Ρ‚ Π΅Π΄Π½ΠΈ со Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π±ΡƒΠ»ΠΎΠ²ΠΈ Π°Π»Π³Π΅Π±Ρ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ:

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

Π’Π°ΠΊΠ°, со ΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΈ Π²ΠΎ полска Π½ΠΎΡ‚Π°Ρ†ΠΈΡ˜Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° создадСтС ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ слоТСни услови со Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.

Π’ΠΎΡ‡Π½ΠΎ истиот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° JSON ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° производство Π²ΠΎ JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, сС користи Π²ΠΎ Π±Π»ΠΎΠΊΠΎΡ‚ Π½Π° сСрвСрот Π·Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° производство Π·Π° Π΄Π° Π³ΠΎ прСтстави Π·Π½Π°Π΅ΡšΠ΅Ρ‚ΠΎ ΠΈ Π΄Π° спровСдС Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ Π·Π°ΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ сСнзорни ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ сСнзори Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ.

Π‘ΠΎ помош Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, корисникот ΠΊΡ€Π΅ΠΈΡ€Π° ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π° спорСд ΠΊΠΎΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€: β€žΠΠΊΠΎ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° сСнзорот Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π½Π° Π²Π»Π΅Π·Π½Π°Ρ‚Π° Π²Ρ€Π°Ρ‚Π°, Ρ‚ΠΎΠ³Π°Ρˆ Π²ΠΊΠ»ΡƒΡ‡Π΅Ρ‚Π΅ Π³ΠΎ свСтлото Π²ΠΎ Ρ…ΠΎΠ΄Π½ΠΈΠΊΠΎΡ‚β€œ. ΠΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π³ΠΈ Ρ‡ΠΈΡ‚Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° сСнзоритС (сСнзор Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π°ΡšΠ΅) ΠΈ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ (ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π° Π»Π°ΠΌΠ±Π°) ΠΎΠ΄ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΎ JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠ΅ сС ΠΈΡΠΏΡ€Π°ΡœΠ° Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ. Овој ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ ќС сС дискутира Π²ΠΎ Ρ‚Ρ€Π΅Ρ‚Π°Ρ‚Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ΠΎΠ΄ Π½Π°ΡˆΠ°Ρ‚Π° ΡΠ΅Ρ€ΠΈΡ˜Π°, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ќС Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° клиСнтската Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈΠΎΡ‚ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ дискутиран ΠΏΠΎΠ³ΠΎΡ€Π΅ сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° со помош Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° RapidJSON β€” 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);
        }
    }
}

Π’ΡƒΠΊΠ° pFact β€” структура која содрТи ΠΏΠ°Ρ€ΠΎΠ²ΠΈ ΠΊΠ»ΡƒΡ‡-врСдност ΠΎΠ΄ ΠΏΠΎΡ€Π°ΠΊΠ° JSON, m_ΠŸΡ€Π°Π²ΠΈΠ»Π° β€” Π½ΠΈΠ·Π° ΠΎΠ΄ продукциски ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π°Ρ‚Π° Π½Π° Π΄ΠΎΡ˜Π΄ΠΎΠ²Π½Π°Ρ‚Π° ΠΏΠΎΡ€Π°ΠΊΠ° ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ Π·Π° производство сС Π²Ρ€ΡˆΠΈ Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° reader.Parse(ruleStream, ruleRandler)ΠΊΠ°Π΄Π΅ Π Π°ΠΊΡƒΠ²Π°Ρ‡ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΅ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ кој ја содрТи Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Π‘ΡƒΠ»ΠΎΠ²ΠΈΡ‚Π΅ ΠΈ спорСдбСнитС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ. sRuleId β€” ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° кој Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° сС складираат ΠΈ ΡƒΡ€Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ домашни ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ. m_pActions β€” Π½ΠΈΠ·Π° со Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΠ΄ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΎ Π·Π°ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅: JSON ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΊΠΎΠΈ содрТат послСдици ΠΎΠ΄ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ испратСни ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΡƒ Π΄ΠΎ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΎΡ‚ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ°Ρ‚ Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ Π½Π° ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚.

ΠŸΠ΅Ρ€Ρ„ΠΎΡ€ΠΌΠ°Π½ΡΠΈΡ‚Π΅ Π½Π° RapidJSON сС спорСдливи со Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° strlen (), Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° Π·Π° систСмски рСсурси Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Π°Ρ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΎΠ²Π°Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ. Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²ΠΎ JSON Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ флСксибилСн систСм Π·Π° Ρ€Π°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ситС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ.

Π—-Π±Ρ€Π°Π½ΠΎΠ²ΠΈ сСнзори ΠΈ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΈ

Π“Π»Π°Π²Π½Π°Ρ‚Π° прСдност Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌ Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡ˜Π½ΠΎ Π΄Π° ΠΌΠ΅Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΎΠΏΠΊΡ€ΡƒΠΆΡƒΠ²Π°ΡšΠ΅ ΠΈ Π΄Π° Π²Ρ€ΡˆΠΈ корисни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ зависност ΠΎΠ΄ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, сСнзоритС ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ. Π’ΠΎ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°, ΠΎΠ²Π° сС Π±Π΅Π·ΠΆΠΈΡ‡Π½ΠΈ ΡƒΡ€Π΅Π΄ΠΈ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со помош Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ Π—-Π±Ρ€Π°Π½ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ распрСдСлСна Ρ„Ρ€Π΅ΠΊΠ²Π΅Π½Ρ†ΠΈΡ˜Π° 869 MHz Π—Π° Π ΡƒΡΠΈΡ˜Π°. Π—Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚, Ρ‚ΠΈΠ΅ сС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ Π²ΠΎ ΠΌΡ€Π΅ΠΆΠ½Π° ΠΌΡ€Π΅ΠΆΠ°, која содрТи ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°Ρ‡ΠΈ Π½Π° сигнали Π·Π° Π΄Π° сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ областа Π½Π° покриСност. Π£Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠΌΠ°Π°Ρ‚ ΠΈ посСбСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° Π·Π°ΡˆΡ‚Π΅Π΄Π° Π½Π° Π΅Π½Π΅Ρ€Π³ΠΈΡ˜Π° - ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π³ΠΎ ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΌΠΈΡ€ΡƒΠ²Π°ΡšΠ΅ ΠΈ ΠΈΡΠΏΡ€Π°ΡœΠ°Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ само ΠΊΠΎΠ³Π° Π½ΠΈΠ²Π½Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° ќС сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈΠΎΡ‚ Π²Π΅ΠΊ Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° Π±Π°Ρ‚Π΅Ρ€ΠΈΡ˜Π°.

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 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++, кој ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со ΠΌΡ€Π΅ΠΆΠ½ΠΈΠΎΡ‚ USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Z-Wave ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ сСнзори ΠΈ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΈ. ВрСдноста Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ΠΎΡ‚ Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Π°Ρ‚Π° срСдина ΡˆΡ‚ΠΎ ја ΠΌΠ΅Ρ€ΠΈ сСнзорот ја снима сСрвСрот 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, кој Π³ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€Π° ΠΈ Π³ΠΈ ΠΈΡΠΏΡ€Π°ΡœΠ° Π΄ΠΎ ΠΌΡ€Π΅ΠΆΠ½ΠΈΠΎΡ‚ USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Z-Wave. ΠŸΠΎΡ‚ΠΎΠ° Π²Π»Π΅Π³ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΎΡ‚, кој ја ΠΌΠ΅Π½ΡƒΠ²Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π΅ΠΊΠΎΠ»ΠΎΡˆΠΊΠΈΡ‚Π΅ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ, Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌ Π½Π° Ρ‚ΠΎΡ˜ Π½Π°Ρ‡ΠΈΠ½ Π²Ρ€ΡˆΠΈ корисна Ρ€Π°Π±ΠΎΡ‚Π°.

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ ΠΈ сСнзори
(ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π½Π° сликата Π·Π° Π΄Π° ја ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π²ΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π°)

ΠŸΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΡƒΡ€Π΅Π΄ΠΈΡ‚Π΅ Z-Wave сС Π²Ρ€ΡˆΠΈ Π²ΠΎ Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, ΠΎΠ΄Π΅Ρ‚Π΅ Π½Π° страницата со список Π½Π° ΡƒΡ€Π΅Π΄ΠΈ ΠΈ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ β€žΠ”ΠΎΠ΄Π°Ρ˜β€œ. ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° додавањС ΠΏΡ€Π΅ΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ RESTful API Π²Π»Π΅Π³ΡƒΠ²Π° Π²ΠΎ процСсот Π½Π° сСрвСрот ΠΈ ΠΏΠΎΡ‚ΠΎΠ° сС ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΎΠ΄ ΠΌΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΎΡ‚ Π½Π° ΠΏΠΎΡ€Π°ΠΊΠΈ Π΄ΠΎ сСрвСрот Z-Wave, кој Π³ΠΎ става ΠΌΡ€Π΅ΠΆΠ½ΠΈΠΎΡ‚ USB ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Z-Wave Π²ΠΎ посСбСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° додавањС ΡƒΡ€Π΅Π΄ΠΈ. Π‘Π»Π΅Π΄Π½ΠΎ, Π½Π° ΡƒΡ€Π΅Π΄ΠΎΡ‚ Z-Wave Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΡΠ΅Ρ€ΠΈΡ˜Π° Π±Ρ€Π·ΠΈ ΠΏΡ€ΠΈΡ‚ΠΈΡΠΊΠ°ΡšΠ° (3 ΠΏΡ€ΠΈΡ‚ΠΈΡΠΊΠ°ΡšΠ° Π²ΠΎ Ρ€ΠΎΠΊ ΠΎΠ΄ 1,5 сСкунди) Π½Π° ΠΊΠΎΠΏΡ‡Π΅Ρ‚ΠΎ Π·Π° ΡΠ΅Ρ€Π²ΠΈΡΠΈΡ€Π°ΡšΠ΅. Π£Π‘Π‘-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ Π³ΠΎ ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π° ΡƒΡ€Π΅Π΄ΠΎΡ‚ со ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π½Π΅Π³ΠΎ Π΄ΠΎ сСрвСрот Z-Wave. Π’ΠΎΠ°, ΠΏΠ°ΠΊ, создава Π½ΠΎΠ² запис Π²ΠΎ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ SQLite со ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ ΡƒΡ€Π΅Π΄. По ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ врСмСнски ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ сС Π²Ρ€Π°ΡœΠ° Π½Π° страницата со список Π½Π° ΡƒΡ€Π΅Π΄ΠΈ Z-Wave, Ρ‡ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π³ΠΎ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ ΡƒΡ€Π΅Π΄ Π²ΠΎ списокот. БСкој ΡƒΡ€Π΅Π΄ Π΄ΠΎΠ±ΠΈΠ²Π° свој ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, кој сС користи Π²ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° Π·Π°ΠΊΠ»ΡƒΡ‡ΠΎΡ†ΠΈ Π·Π° производство ΠΈ ΠΊΠΎΠ³Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° овој Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½Π° Π½Π° Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌΠΎΡ‚ UML:

ΠŸΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠΌ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ. Π”Π΅Π» 1: ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ ΠΈ сСнзори
(ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ‚Π΅ Π½Π° сликата Π·Π° Π΄Π° ја ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π²ΠΎ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π°)

ΠŸΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° IP ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ

БистСмот Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ Π·Π° кој сС дискутира Π²ΠΎ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π΅ Π½Π°Π΄Π³Ρ€Π°Π΄Π±Π° Π½Π° систСмот Π·Π° Π²ΠΈΠ΄Π΅ΠΎ Π½Π°Π΄Π·ΠΎΡ€ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ, исто Ρ‚Π°ΠΊΠ° Ρ€Π°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ Π°Π²Ρ‚ΠΎΡ€ΠΎΡ‚, кој Π΅ Π½Π° ΠΏΠ°Π·Π°Ρ€ΠΎΡ‚ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ инсталации Π²ΠΎ Π ΡƒΡΠΈΡ˜Π°.

Π—Π° систСмитС Π·Π° Π²ΠΈΠ΄Π΅ΠΎ Π½Π°Π΄Π·ΠΎΡ€ Π²ΠΎ ΠΎΠ±Π»Π°ΠΊ, Π΅Π΄Π΅Π½ ΠΎΠ΄ Π°ΠΊΡƒΡ‚Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΎΡ‚ ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΎΠΏΡ€Π΅ΠΌΠ° со која ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°. Π‘ΠΎΡ„Ρ‚Π²Π΅Ρ€ΠΎΡ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π΅Π½ Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ со ΠΎΠ±Π»Π°ΠΊΠΎΡ‚ Π΅ инсталиран Π²Π½Π°Ρ‚Ρ€Π΅ Π²ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°, ΡˆΡ‚ΠΎ вСднаш поставува сСриозни Π±Π°Ρ€Π°ΡšΠ° Π·Π° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ - процСсорот ΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° слободна ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°. Ова Π³Π»Π°Π²Π½ΠΎ ја ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π° повисоката Ρ†Π΅Π½Π° Π½Π° ΠΎΠ±Π»Π°ΠΊ CCTV ΠΊΠ°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π²ΠΎ спорСдба со ΠΎΠ±ΠΈΡ‡Π½ΠΈΡ‚Π΅ 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, Π·Π²ΡƒΠΊ Π“.711 ΠΌΡƒ-Π—Π°ΠΊΠΎΠ½);
  2. ΠœΠΈΠΊΡ€ΠΎΠ΄ΠΈΠ³ΠΈΡ‚Π°Π»Π΅Π½ 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 ΠΠ°Ρ€ΡŸ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π΅ Π²ΠΎ ΠΏΡ€ΠΎΠ±Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° пСрформанситС ќС Π±ΠΈΠ΄Π°Ρ‚ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со ΠΎΠ±Π»Π°ΠΊΠΎΡ‚

ΠŸΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΎΠ±Π»Π°ΠΊ складира кориснички ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ΅Ρ€Π΅ΡšΠ° со сСнзор) Π²ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚. АрхитСктурата Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ±Π»Π°ΠΊ ќС Π±ΠΈΠ΄Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½Π° ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½ΠΎ Π²ΠΎ слСдната ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ΠΎΠ΄ Π½Π°ΡˆΠ°Ρ‚Π° ΡΠ΅Ρ€ΠΈΡ˜Π°. Π‘Π΅Π³Π° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΎΡ‚ Π·Π° прСнос Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ Π΄ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚.

Π‘ΠΎΡΡ‚ΠΎΡ˜Π±ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈΡ‚Π΅ ΡƒΡ€Π΅Π΄ΠΈ ΠΈ ΠΌΠ΅Ρ€Π΅ΡšΠ°Ρ‚Π° Π½Π° сСнзорот сС прСнСсуваат ΠΏΡ€Π΅ΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ MQTT, кој чСсто сС користи Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Π·Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅ΡˆΡ‚Π°Ρ‚Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Сдноставност ΠΈ СнСргСтска Сфикасност. MQTT користи ΠΌΠΎΠ΄Π΅Π» ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π°Ρ‚ Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ Ρ‚Π΅ΠΌΠΈ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΡ‚ ΠΈ Π³ΠΈ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ своитС ΠΏΠΎΡ€Π°ΠΊΠΈ. Π‘Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΡ‚ ΠΈΡΠΏΡ€Π°ΡœΠ° ΠΏΠΎΡ€Π°ΠΊΠΈ Π΄ΠΎ ситС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ‚Π½ΠΈΡ†ΠΈ спорСд ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° ΡƒΡ‚Π²Ρ€Π΄Π΅Π½ΠΈ со Π½ΠΈΠ²ΠΎΡ‚ΠΎ QoS (ΠšΠ²Π°Π»ΠΈΡ‚Π΅Ρ‚ Π½Π° услуга):

  • QoS 0 - максимум Сднаш (Π±Π΅Π· Π³Π°Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π·Π° испорака);
  • QoS 1 - Π±Π°Ρ€Π΅ΠΌ Сднаш (со ΠΏΠΎΡ‚Π²Ρ€Π΄Π° Π·Π° испорака);
  • QoS 2 - Ρ‚ΠΎΡ‡Π½ΠΎ Сднаш (со Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° ΠΏΠΎΡ‚Π²Ρ€Π΄Π° Π·Π° испорака).

Π’ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜, Π½ΠΈΠ΅ користимС ΠšΠΎΠΌΠ°Ρ€Π΅Ρ† Π·Π° Π·Π°Ρ‚Π΅ΠΌΠ½ΡƒΠ²Π°ΡšΠ΅. Π˜ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π΅ СдинствСниот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΡ€ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌΠΎΠ²ΠΈ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ 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 ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ ќС Π±ΠΈΠ΄Π΅ ΠΏΡ€Π΅Ρ„Ρ€Π»Π΅Π½Π° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π°Ρ‚Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°. Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΈΠ΄Π΅ΠΈ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° процСсот Π½Π° сСрвСрот ΠΈ ΠΏΡ€Π΅Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° софтвСрот Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм ΠžΠΏΠ΅Π½Π²Π΅Ρ€Ρ‚. Ова ќС Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° Π·Π°ΡˆΡ‚Π΅Π΄ΠΈΡ‚Π΅ Π½Π° посСбСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ Π΄Π° ја прСнСсСтС функционалноста Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠΌ Π½Π° ΠΎΠ±ΠΈΡ‡Π΅Π½ Ρ€ΡƒΡ‚Π΅Ρ€ Π·Π° Π΄ΠΎΠΌΠ°ΡœΠΈΠ½ΡΡ‚Π²ΠΎ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π΄ΠΎΠ²Π΅Ρ€Π»ΠΈΠ² хостинг Π·Π° ΡΠ°Ρ˜Ρ‚ΠΎΠ²ΠΈ со DDoS Π·Π°ΡˆΡ‚ΠΈΡ‚Π°, VPS VDS сСрвСри πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ сигурСн Π²Π΅Π±-хостинг со DDoS Π·Π°ΡˆΡ‚ΠΈΡ‚Π°, VPS VDS сСрвСри | ProHoster