Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

НавСрноС, Π½ΠΈ для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ Π² послСднСС врСмя ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы видСонаблюдСния Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ. И понятно ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ происходит, Π²ΠΈΠ΄Π΅ΠΎ β€” это «Ρ‚ΡΠΆΠ΅Π»Ρ‹ΠΉ» ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, для хранСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° инфраструктура ΠΈ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ дискового Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. ИспользованиС локальной систСмы видСонаблюдСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ срСдств Π½Π° ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, ΠΊΠ°ΠΊ Π² случаС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ сотни ΠΊΠ°ΠΌΠ΅Ρ€ наблюдСния, Ρ‚Π°ΠΊ ΠΈ Π² случаС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с нСсколькими ΠΊΠ°ΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ систСмы видСонаблюдСния Ρ€Π΅ΡˆΠ°ΡŽΡ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ β€” прСдоставляя ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ инфраструктуру хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ видСонаблюдСния достаточно просто ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊ своСму Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ Π² ΠΎΠ±Π»Π°ΠΊΠ΅.

Π•ΡΡ‚ΡŒ нСсколько тСхнологичСских способов ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. БСсспорно, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ способ β€” ΠΊΠ°ΠΌΠ΅Ρ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, Π±Π΅Π· участия Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования Ρ‚ΠΈΠΏΠ° сСрвСра ΠΈΠ»ΠΈ рСгистратора.

Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π» установлСн ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ПО Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. Однако, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° 100% Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ родная ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π²Π΅Π½Π΄ΠΎΡ€Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, Π° рСсурсов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° β€” Π½Π΅Ρ‚. Π­Ρ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· ivideon посвятили ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ говорится ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π° Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. Как ΠΈΡ‚ΠΎΠ³, минимальная Ρ†Π΅Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ β€” 5000Ρ€ ($80 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²) ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π΅Π½Π΅Π³ Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠœΡ‹ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΈ. Если интСрСсно ΠΊΠ°ΠΊ β€” Π²Π΅Π»ΠΊΠΎΠΌ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚

НСмного истории

Π’ 2016 Π³ΠΎΠ΄Ρƒ ΠΌΡ‹ стартовали Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ видСонаблюдСния для РостСлСкома.

Π’ части ПО ΠΊΠ°ΠΌΠ΅Ρ€ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС пошли «ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ» для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΏΡƒΡ‚Π΅ΠΌ: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ свой ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся Π² ΡˆΡ‚Π°Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π²Π΅Π½Π΄ΠΎΡ€Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с нашим ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. Однако, стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ использовали Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ лСгковСсныС ΠΈ эффСктивныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, plain C Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ protobuf, libev, mbedtls ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ…, Π½ΠΎ тяТСлых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Ρ‚ΠΈΠΏΠ° boost)

БСйчас Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ IP ΠΊΠ°ΠΌΠ΅Ρ€ Π½Π΅Ρ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ: Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡ€Π° свой способ установки ΠΏΠ»Π°Π³ΠΈΠ½Π°, свой Π½Π°Π±ΠΎΡ€ API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обновлСния.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡ€Π° ΠΊΠ°ΠΌΠ΅Ρ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ слой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ПО. И Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ старта Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ цСлСсообразно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с 1-Π½ΠΈΠΌ Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒ усилия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Hikvision β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΈΡ€ΠΎΠ²Ρ‹Ρ… Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ API ΠΈ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΡƒΡŽ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.

На ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ… Hikvision ΠΌΡ‹ ΠΈ запустили наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΈΠ»ΠΎΡ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ видСонаблюдСниС Π’ΠΈΠ΄Π΅ΠΎΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ сразу послС запуска наши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ стали Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы ΠΎ возмоТности ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сСрвису Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… ΠΊΠ°ΠΌΠ΅Ρ€ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ слоя ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π½Π΄ΠΎΡ€Π° я отбросил практичСски сразу β€” ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊ ΠΆΠ΅Π»Π΅Π·Ρƒ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ тСхничСскиС трСбования. Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π°ΠΊΠΈΠΌ трСбованиям Π½Π° Π²Ρ…ΠΎΠ΄Π΅: ~60-70$

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, я принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠ°Ρ‚ΡŒ Π³Π»ΡƒΠ±ΠΆΠ΅ β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свою ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ для ΠΊΠ°ΠΌΠ΅Ρ€ Π»ΡŽΠ±Ρ‹Ρ… Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сущСствСнно сниТаСт трСбования ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ рСсурсам ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ β€” Ρ‚.ΠΊ. слой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ Π½Π° порядок Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с video application, ΠΈ Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Π½Π΅Ρ‚ лишнСго Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΆΠΈΡ€ΠΊΠ°.

И Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠ°ΠΌΠ΅Ρ€ΠΎΠΉ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ AES, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ создавая Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹ΠΉ CPU.

Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

Π’ Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ нас Π½Π΅ Π±Ρ‹Π»ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ. Π’ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС Π²Π΅Π½Π΄ΠΎΡ€Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π°ΠΌΠΈ Π½Π° Ρ‚Π°ΠΊΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ схСмотСхникС ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… β€” Π½Π΅Ρ‚, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… 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 ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ПО ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, Ρ‚Π΅ΠΌ самым ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈ Π±Π΅Ρ€Π΅ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скромныС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ возмоТности ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹.

Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° обновлСния

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ гордости β€” подсистСма fault-tolerant ΠΎΠ½Π»Π°ΠΉΠ½ обновлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.

Поясню ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ. ОбновлСниС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ β€” это тСхничСски Π½Π΅ атомарная опСрация ΠΈ Π² случаС Ссли посСрСдинС обновлСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сбой питания, Ρ‚ΠΎ Π½Π° Ρ„Π»Π΅Ρˆ памяти Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ «Π½Π΅Π΄ΠΎΠ·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ» Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ. Если Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ€, Ρ‚ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Π° послС этого станСт «ΠΊΠΈΡ€ΠΏΠΈΡ‡ΠΎΠΌ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ нСсти Π² сСрвисный Ρ†Π΅Π½Ρ‚Ρ€.

ΠœΡ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ ΠΈ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π”Π°ΠΆΠ΅ Ссли ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обновлСния, ΠΎΠ½Π° автоматичСски ΠΈ Π±Π΅Π· участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ скачаСт ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ ΠΈΠ· ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ восстановит Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:

НаиболСС уязвимый ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Ρ€Π°Π·Π΄Π΅Π»Π° с ядром Linux ΠΈ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. Π’ случаС, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² окаТСтся ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ, Ρ‚ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ дальшС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° uboot, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ ΠΈΠ· ΠΎΠ±Π»Π°ΠΊΠ°.

Π—Π½Π°Ρ‡ΠΈΡ‚, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡŽ наличия Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π΅ работоспособного ядра ΠΈ rootfs Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ процСсса обновлСния. Казалось Π±Ρ‹ самым простым Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ постоянно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π° Ρ„Π»Π΅Ρˆ памяти Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ ядра с rootfs ΠΈ Π² случаС поврСТдСния основного ядра Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.

Π“ΠΎΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΎΠ΄Π½Π°ΠΊΠΎ, ядро с rootfs Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 3.5MB ΠΈ для постоянной Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ 3.5MB. На самых Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ… просто Π½Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ свободного мСста ΠΏΠΎΠ΄ backup ядра.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для backup ядра Π²ΠΎ врСмя обновлСния ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ application ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡŽ.
А для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ с ядром ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ bootm Π² uboot β€” Π² Π½Π°Ρ‡Π°Π»Π΅ пытаСмся Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ основноС ядро ΠΈ Ссли ΠΎΠ½ΠΎ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΎ, Ρ‚ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅.

Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ядро с rootfs, ΠΈ ΠΎΠ½Π° смоТСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ.

CI/CD систСма сборки ΠΈ дСплоя ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ

Для сборки ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ gitlab CI, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ автоматичСски ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΠΎΠ΄ всС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€, послС сборки ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ автоматичСски дСплоятся Π½Π° сСрвис обновлСния ПО ΠΊΠ°ΠΌΠ΅Ρ€.

Как ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ китайскиС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π° 1000Ρ€ ΠΊ ΠΎΠ±Π»Π°ΠΊΡƒ. Π‘Π΅Π· рСгистраторов ΠΈ SMS (ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²)

Из сСрвиса обновлСния ПО ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° тСстовыС ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π½Π°ΡˆΠΈΡ… QA, Π° ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ всСх этапов тСстирования ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Ни для ΠΊΠΎΠ³ΠΎ Π½Π΅ сСкрСт, Ρ‡Ρ‚ΠΎ Π² нашС врСмя информационная Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” это ваТнСйший аспСкт любого IoT устройства, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹. По ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ Π³ΡƒΠ»ΡΡŽΡ‚ Π±ΠΎΡ‚Π½Π΅Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠ° Mirai, ΠΏΠΎΡ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΊΠ°ΠΌΠ΅Ρ€ со стандартными ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠ². ΠŸΡ€ΠΈ всСм ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π²Π΅Π½Π΄ΠΎΡ€Π°ΠΌ ΠΊΠ°ΠΌΠ΅Ρ€, Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² стандартных ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ вострСбован для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ содСрТит Π² сСбС ΠΌΠ½ΠΎΠ³ΠΎ уязвимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΎΡ‚Π½Π΅Ρ‚Ρ‹.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, вСсь Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π² нашСй ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½, всС tcp/udp ΠΏΠΎΡ€Ρ‚Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ провСряСтся цифровая подпись ПО.

И ΠΊΡ€ΠΎΠΌΠ΅ этого, ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ рСгулярноС тСстированиС Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности.

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

БСйчас наша ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΠΎ видСонаблюдСнию. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ самый ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… β€” трансляция голосования Π² дСнь Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² ΠŸΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π° Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ.
Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Ρ‹Π»ΠΎ задСйствовано Π±ΠΎΠ»Π΅Π΅ 70 тысяч ΠΊΠ°ΠΌΠ΅Ρ€ с нашСй ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ установлСны ΠΏΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ участкам нашСй страны.

РСшив ряд слоТных, Π° мСстами, Π΄Π°ΠΆΠ΅ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΌΡ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, Π½ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ этого, ΠΈ сэкономили ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π½Π° Π·Π°ΠΊΡƒΠΏΠΊΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€. И Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, экономия β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ слова ΠΈ тСорСтичСскиС расчёты, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡƒΠΆΠ΅ ΡΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ Ρ‚Π΅Π½Π΄Π΅Ρ€Π° Π½Π° Π·Π°ΠΊΡƒΠΏΠΊΡƒ оборудования. БоотвСтствСнно, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ видСонаблюдСниС: Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” стратСгичСски Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ экспСртизу ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ экономию Π½Π° ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, Ссли ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ характСристики, практичСски Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ дСшСвого.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ стратСгичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ способу ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅? ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, стандарты). И Ссли Π²Ρ‹Π±Ρ€Π°Π½ Π½Π°Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ Π² дальнСйшСм ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ с большой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π·Π°ΠΉΠΌΠ΅Ρ‚ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ большоС врСмя ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠΈΡ‚ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΌΡƒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ.

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