ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π½ΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π½Π°Π±ΠΈΡΠ°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ. Π ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎ β ΡΡΠΎ «ΡΡΠΆΠ΅Π»ΡΠΉ» ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ² Π½Π° ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΈ ΠΊΠ°ΠΌΠ΅Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ.
ΠΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ°ΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅Ρ ΠΊ ΠΎΠ±Π»Π°ΠΊΡ. ΠΠ΅ΡΡΠΏΠΎΡΠ½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈ Π΄Π΅ΡΠ΅Π²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΊΠ°ΠΌΠ΅ΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ Π΄Π΅ΡΠ΅Π²ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ, ΡΠΎ Ρ Π½ΠΈΡ
ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π° 100% Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ΄Π½Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π²Π΅Π½Π΄ΠΎΡΠ° ΠΊΠ°ΠΌΠ΅ΡΡ, Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° β Π½Π΅Ρ. ΠΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ· ivideon ΠΏΠΎΡΠ²ΡΡΠΈΠ»ΠΈ
ΠΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ β Π²Π΅Π»ΠΊΠΎΠΌ ΠΏΠΎΠ΄ ΠΊΠ°Ρ
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠΈΠΈ
Π 2016 Π³ΠΎΠ΄Ρ ΠΌΡ ΡΡΠ°ΡΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΄Π»Ρ Π ΠΎΡΡΠ΅Π»Π΅ΠΊΠΎΠΌΠ°.
Π ΡΠ°ΡΡΠΈ ΠΠ ΠΊΠ°ΠΌΠ΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΡΠ»ΠΈ «ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ» Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΡΡΠ΅ΠΌ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ°ΡΠ½ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π²Π΅Π½Π΄ΠΎΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π°ΡΠΈΠΌ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, plain C ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ protobuf, libev, mbedtls ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΡ ΡΠ΄ΠΎΠ±Π½ΡΡ , Π½ΠΎ ΡΡΠΆΠ΅Π»ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΈΠΏΠ° boost)
Π‘Π΅ΠΉΡΠ°Ρ Π½Π° ΡΡΠ½ΠΊΠ΅ IP ΠΊΠ°ΠΌΠ΅Ρ Π½Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ: Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡΠ° ΡΠ²ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡΠ° ΠΊΠ°ΠΌΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΠ. Π Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ°ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ 1-Π½ΠΈΠΌ Π²Π΅Π½Π΄ΠΎΡΠΎΠΌ, ΡΡΠΎ Π±Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ.
ΠΠ΅ΡΠ²ΡΠΌ Π²Π΅Π½Π΄ΠΎΡΠΎΠΌ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Hikvision β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΈΡΠΎΠ²ΡΡ Π»ΠΈΠ΄Π΅ΡΠΎΠ² Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΊΠ°ΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Ρ ΠΎΡΠΎΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ API ΠΈ Π³ΡΠ°ΠΌΠΎΡΠ½ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ.
ΠΠ° ΠΊΠ°ΠΌΠ΅ΡΠ°Ρ Hikvision ΠΌΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΈΠ»ΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΠΈΠ΄Π΅ΠΎΠΊΠΎΠΌΡΠΎΡΡ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΡΠ°Π»ΠΈ Π·Π°Π΄Π°Π²Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΊΠ°ΠΌΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΡΠΈΠ°Π½Ρ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ»ΠΎΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡΠ° Ρ ΠΎΡΠ±ΡΠΎΡΠΈΠ» ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π·Ρ β ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ ΡΠ°ΠΊΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π½Π° Π²Ρ ΠΎΠ΄Π΅: ~60-70$
ΠΠΎΡΡΠΎΠΌΡ, Ρ ΠΏΡΠΈΠ½ΡΠ» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠ°ΡΡ Π³Π»ΡΠ±ΠΆΠ΅ β ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΌΠ΅Ρ Π»ΡΠ±ΡΡ Π²Π΅Π½Π΄ΠΎΡΠΎΠ². ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΊΠ°ΠΌΠ΅ΡΡ β Ρ.ΠΊ. ΡΠ»ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ Ρ video application, ΠΈ Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ Π½Π΅Ρ Π»ΠΈΡΠ½Π΅Π³ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΆΠΈΡΠΊΠ°.
Π ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ AES, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΌΠ°Π»ΠΎΠΌΠΎΡΠ½ΡΠΉ CPU.
Π ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ. ΠΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π²Π΅Π½Π΄ΠΎΡΡ Π½Π΅ Π±ΡΠ»ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π°ΠΌΠΈ Π½Π° ΡΠ°ΠΊΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΡ
Π΅ΠΌΠΎΡΠ΅Ρ
Π½ΠΈΠΊΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
β Π½Π΅Ρ, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ
SDK ΡΠΈΠΏΡΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ΅Π½ΡΠΎΡΠΎΠ² β Π½Π΅Ρ.
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π΅Ρ.
ΠΡΠ²Π΅ΡΡ Π½Π° Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π²Π΅ΡΡ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ΠΎΠΌ β ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ± ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎ ΠΌΡ ΡΠΏΡΠ°Π²ΠΈΠ»ΠΈΡΡ.
ΠΠ΅ΡΠ²ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΊΠ°ΠΌΠ΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π°Π±ΠΈΠ²Π°Π»ΠΈ ΡΠΈΡΠΊΠΈ ΡΡΠ°Π»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅ΡΡ Π΄Π΅ΡΠ΅Π²ΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ ΠΊΠ°ΠΌΠ΅Ρ.
Π’Π΅Ρ Π½ΠΈΠΊΠ°
ΠΠ°ΠΌΠ΅ΡΡ Π½Π° ΡΠΈΠΏΡΠ΅ΡΠ΅ Hisilicon 3518E. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅:
Xiaomi Yi Ants
Noname
SoC
Hisilicon 3518E
Hisilicon 3518E
RAM
64MB
64MB
FLASH
16MB
8MB
WiFi
mt7601/bcm43143
—
Sensor
ov9732 (720p)
ov9712 (720p)
Ethernet
—
+
MicroSD
+
+
Microphone
+
+
Speaker
+
+
IRLed
+
+
IRCut
+
+
Π‘ Π½ΠΈΡ ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π»ΠΈ.
Π‘Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠΏΡΠ΅ΡΡ Hisilicon 3516/3518, Π° ΡΠ°ΠΊ ΠΆΠ΅ Ambarella S2L/S2LM. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΊΠ°ΠΌΠ΅Ρ β Π΄Π΅ΡΡΡΠΊΠΈ.
Π‘ΠΎΡΡΠ°Π² ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ
uboot
uboot β ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΏΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΄ΡΠΎ linux.
Π‘ΠΊΡΠΈΠΏΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»Π΅Π½:
bootargs=mem=38M console=ttyAMA0,115200 rootfstype=ramfs mtdparts=hi_sfc:256K(boot),64K(tech),4096K(kernel),8192K(app),-(config) hw_type=101
bootcmd=sf probe 0; sf read 0x82000000 0x50000 0x400000; bootm 0x82000000; setenv bootargs $(bootargs) bkp=1; sf read 0x82000000 0x450000 0x400000; bootm 0x82000000
ΠΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ β Π΄Π²Π° ΡΠ°Π·Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ bootm
, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠΉΠ΄Π΅ΠΌ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΎΡΠΊΡ mem=38M
. ΠΠ°, Π΄Π°, ΡΡΠΎ Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ° β ΡΠ΄ΡΡ Linux ΠΈ Π²ΡΠ΅ΠΌ-Π²ΡΠ΅ΠΌ-Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 38 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
Π’Π°ΠΊ ΠΆΠ΅ ΡΡΠ΄ΠΎΠΌ Ρ uboot Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ reg_info
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ DDR ΠΈ ΡΡΠ΄Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² SoC. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ reg_info
Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ, ΡΠΎ ΠΊΠ°ΠΌΠ΅ΡΠ° Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ uboot, Π° Π·Π°Π²ΠΈΡΠ½Π΅Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ°Π½Π½Π΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²Π΅Π½Π΄ΠΎΡΠΎΠ², ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΠΈΠ· ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ.
Π―Π΄ΡΠΎ linux ΠΈ rootfs
ΠΠ° ΠΊΠ°ΠΌΠ΅ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΄ΡΠΎ Linux, Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Π² ΡΠΎΡΡΠ°Π² SDK ΡΠΈΠΏΠ°, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΡΠ΅ ΡΠ²Π΅ΠΆΠΈΠ΅ ΡΠ΄ΡΠ° ΠΈΠ· Π²Π΅ΡΠΊΠΈ 3.x, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΡΠ΄ΡΠΎΠΌ, ΠΈ Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡ Π±ΡΠΊ-ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΡΠ΄ΡΠΎ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΄ΡΠ°. ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ FLASH Π²ΡΠ΅Π³ΠΎ 8MB, ΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ Π½Π° ΡΡΠ΅Ρ ΠΈ Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° β Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄ΡΠ°, ΡΡΠΎ Π±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.
Rootfs β ΡΡΠΎ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. Π Π½Π΅Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ busybox
, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° wifi ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΈΠΏΠ° libld
ΠΈ libc
, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΠ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π΅ Π·Π° Π»ΠΎΠ³ΠΈΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
ΠΠΎΡΠ½Π΅Π²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊ ΡΠ΄ΡΡ ΠΊΠ°ΠΊ initramfs ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» uImage
, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΠΈ ΡΠ΄ΡΠΎ ΠΈ rootfs.
Video application
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄Π΅ΠΎ-Π°ΡΠ΄ΠΈΠΎ Π·Π°Ρ Π²Π°Ρ, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π²ΡΠΊΠ°, ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ PTZ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈ Π½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΠ².
ΠΠ°ΠΆΠ½Π°Ρ, Ρ Π±Ρ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·Π°Π» ΠΊΠ»ΡΡΠ΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ β ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ.
Π ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ ‘ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π²Π΅Π½Π΄ΠΎΡΠ° + ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½’, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅, Π²ΠΈΠ΄Π΅ΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ RTSP β Π° ΡΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΠΎΠ²Π΅ΡΡ Π΅Π΄: ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· socket, Π»ΠΈΡΠ½ΠΈΠ΅ syscall-Ρ.
ΠΡ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ shared memory β Π²ΠΈΠ΄Π΅ΠΎ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· socket ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΠ ΠΊΠ°ΠΌΠ΅ΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ Π±Π΅ΡΠ΅ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΡΠΎΠΌΠ½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
ΠΡΠ΅Π΄ΠΌΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π³ΠΎΡΠ΄ΠΎΡΡΠΈ β ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° fault-tolerant ΠΎΠ½Π»Π°ΠΉΠ½ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ.
ΠΠΎΡΡΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΠΊΡ. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ β ΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π°ΡΠΎΠΌΠ°ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ ΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΠΎ Π½Π° ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΡ «Π½Π΅Π΄ΠΎΠ·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ» Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ. ΠΡΠ»ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅Ρ, ΡΠΎ ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π΅Ρ «ΠΊΠΈΡΠΏΠΈΡΠΎΠΌ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΡΡΠΈ Π² ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΡΠ΅Π½ΡΡ.
ΠΡ ΡΠΏΡΠ°Π²ΠΈΠ»ΠΈΡΡ ΠΈ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π²ΡΠΊΠ»ΡΡΠΈΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΠ°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΈΠ· ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠ·Π²ΠΈΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»Π° Ρ ΡΠ΄ΡΠΎΠΌ Linux ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΌ, ΡΠΎ ΠΊΠ°ΠΌΠ΅ΡΠ° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ Π΄Π°Π»ΡΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° uboot, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΈΠ· ΠΎΠ±Π»Π°ΠΊΠ°.
ΠΠ½Π°ΡΠΈΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡ Π½Π°Π»ΠΈΡΠΈΡ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° ΠΈ rootfs Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π° ΡΠ»Π΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΄ΡΠ° Ρ rootfs ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.
ΠΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠ΄ΡΠΎ Ρ rootfs Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 3.5MB ΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ 3.5MB. ΠΠ° ΡΠ°ΠΌΡΡ Π΄Π΅ΡΠ΅Π²ΡΡ ΠΊΠ°ΠΌΠ΅ΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ΄ backup ΡΠ΄ΡΠ°.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ backup ΡΠ΄ΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ application ΠΏΠ°ΡΡΠΈΡΠΈΡ.
Π Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ Ρ ΡΠ΄ΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ bootm
Π² uboot β Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΄ΡΠΎ ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΎ, ΡΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅.
ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΄ΡΠΎ Ρ rootfs, ΠΈ ΠΎΠ½Π° ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ.
CI/CD ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ gitlab CI, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΠΎΠ΄ Π²ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅ΠΏΠ»ΠΎΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ ΠΊΠ°ΠΌΠ΅Ρ.
ΠΠ· ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π½Π°ΡΠΈΡ QA, Π° ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ°ΠΏΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π² Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β ΡΡΠΎ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠΉ Π°ΡΠΏΠ΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ IoT ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ. ΠΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Π³ΡΠ»ΡΡΡ Π±ΠΎΡΠ½Π΅ΡΡ ΡΠΈΠΏΠ° Mirai, ΠΏΠΎΡΠ°ΠΆΠ°ΡΡΠΈΠ΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΊΠ°ΠΌΠ΅Ρ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ ΠΎΡ Π²Π΅Π½Π΄ΠΎΡΠΎΠ². ΠΡΠΈ Π²ΡΠ΅ΠΌ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π²Π΅Π½Π΄ΠΎΡΠ°ΠΌ ΠΊΠ°ΠΌΠ΅Ρ, Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°Ρ Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π±ΠΎΡΠ½Π΅ΡΡ.
ΠΠΎΡΡΠΎΠΌΡ, Π²Π΅ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, Π²ΡΠ΅ tcp/udp ΠΏΠΎΡΡΡ Π·Π°ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΠ.
Π ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΡΠ° ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
ΠΏΠΎ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ°Π»ΡΠΉ ΡΠ°ΠΌΡΠΉ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΉ ΠΈΠ· Π½ΠΈΡ
β ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π½ΠΈΡ Π² Π΄Π΅Π½Ρ Π²ΡΠ±ΠΎΡΠΎΠ² ΠΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ° Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 70 ΡΡΡΡΡ ΠΊΠ°ΠΌΠ΅Ρ Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΠΎ ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ°ΡΡΠΊΠ°ΠΌ Π½Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½Ρ.
Π Π΅ΡΠΈΠ² ΡΡΠ΄ ΡΠ»ΠΎΠΆΠ½ΡΡ , Π° ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π΄Π°ΠΆΠ΅ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, Π½ΠΎ ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ»ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π½Π° Π·Π°ΠΊΡΠΏΠΊΠ΅ ΠΊΠ°ΠΌΠ΅Ρ. Π Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ²Π° ΠΈ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΡΡΡ, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΆΠ΅ ΡΠ»ΡΡΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΡΠ΅Π½Π΄Π΅ΡΠ° Π½Π° Π·Π°ΠΊΡΠΏΠΊΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅: Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° β ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π»ΠΎΠΆΠΈΡΡΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΈΠ·Ρ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅, Π΅ΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²ΠΎΠ³ΠΎ.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π½ΡΡΠ΅? ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, ΡΡΠ°Π½Π΄Π°ΡΡΡ). Π Π΅ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½ Π½Π°Π±ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ Π΄ΠΎΡΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π΄Π΅ΡΠ΅Π²ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π·Π°ΠΉΠΌΠ΅Ρ Π±Π΅Π·ΡΠΌΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ Π΄ΠΎΡΠΎΠ³ΠΎΠΌΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com