áááºá¹ááá¬áá«áá°ááá¯ááºážá¡ááœááº!
cloud áá®áá®ááá¯á á±á¬áá·áºááŒáá·áºáá±ážáááºáá±á¬ááºááŸá¯áá»á¬ážááẠáááŒá¬áá±ážáá®á áá±áááºážá á¬ážáá¬áá±áááºááŸá¬ áá»áŸáá¯á·ááŸááºáá»ááºááá¯ááºáá±á áá®áá®ááá¯ááẠ"áá±ážáá¶áá±á¬" á¡ááŒá±á¬ááºážá¡áá¬ááŒá áºááŒá®ážá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááŸáá·áº áá áºááºááá¯ááŸá±á¬ááºááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážááá¯á¡ááºááá·áº ááá¯ááŸá±á¬ááºááŸá¯ááŸá¬ á¡áááºááŒá±á¬áá·áº ááá¯ááá¯á·ááŒá áºáááŒááºážááŸá¬ ááŸááºážáá«áááºá áá¬ááŸáá·áºáá»á®áá±á¬ á á±á¬áá·áºááŒáá·áºáááºááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±ááá·áº á¡ááœá²á·á¡á ááºážá¡ááœááºáá±á¬ áááºááá¬áá»á¬ážá áœá¬áá«áá±á¬ áá¯á¶ážá áœá²áá°áá áºáŠážáá»ááºážá á®á¡ááœááºáá±á¬ áá¯ááºáááºážáááºáááºáááºááŸáá·áº áá¶á·ááá¯ážáááºá¡ááœáẠáááºáá¯á¶ááœá± ááá¯á¡ááºáá«áááºá
Cloud áá®áá®ááá¯á á±á¬áá·áºááŒáá·áºáá±ážá áá áºáá»á¬ážááẠáá¯á¶ážá áœá²áá°áá»á¬ážá¡á¬áž ááŸáááŒá®ážáá¬áž áá®áá®ááá¯ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº áá¯ááºáá±á¬ááºáá±ááá·áº á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááᯠáá¶á·ááá¯ážáá±ážááŒááºážááŒáá·áº á€ááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážáá«áááºá cloud áá®áá®ááá¯á á±á¬áá·áºááŒáá·áºáá±ážáá±á¬ááºáááºáá áºáŠážááẠáááºááá¬ááᯠá¡ááºáá¬áááºááŸáá·áº áá»áááºáááºááŒá®áž áááºážá cloud á¡áá±á¬áá·áºááá¯á· áá»áááºáááºááẠááá¯á¡ááºáááºá
áááºááá¬áá»á¬ážááᯠcloud ááŸáá·áºáá»áááºáááºááẠáááºážááá¬ááá¯ááºáá¬áááºážáááºážáá»á¬ážá áœá¬ááŸááá«áááºá áá¶ááááŒá áºá áá¬á á¡áááºááŒá±áá¯á¶ážááŸáá·áº á á»á±ážá¡áááºáá¬áá¯á¶ážáááºážáááºážááŸá¬ áááºááá¬ááẠáá¬áᬠááá¯á·ááá¯áẠá¡áá¶áááºážá ááºáá²á·ááá¯á· áááºáá±á¬ááºážáááááá¬áá»á¬ážáá«áááºááŒááºážáááŸááá² cloud ááŸáá·áº ááá¯ááºááá¯ááºáá»áááºáááºááŒá®áž á¡áá¯ááºáá¯ááºááŒááºážááŒá áºáááºá
áá«ááá¯áá¯ááºááá¯á·á cloud áá²á· á¡áá¯ááºáá¯ááºáá²á· software module áá
áºáá¯ááᯠáááºááá¬ááŸá¬ ááá·áºááœááºážááá¯á· ááá¯á¡ááºáááºá ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·ááẠá
á»á±ážáá±á«áá±á¬áááºááá¬áá»á¬ážá¡ááŒá±á¬ááºážááŒá±á¬áá«áá áááºážááá¯á·ááœáẠáááºááá¬áá±á¬ááºážáá»áá°á áá°áááºáž firmware á០100% áá®ážáá«áž ááá·áºáááºáá¬ážáá±á¬ áá¬á·ááºáá²á¡áááºážá¡ááŒá
áºáá»á¬ážááŸáááŒá®áž áááºážááá¯á·ááœáẠcloud plugin á¡ááœáẠá¡áááºážá¡ááŒá
áºáá»á¬ážáááá¯á¡ááºáá«á ivideon á០developer áá»á¬ážááẠá€ááŒá¿áá¬ááᯠááŒá±ááŸááºážáá²á·ááŒáááºá
á€ááŒá¿áá¬ááᯠáá»áœááºá¯ááºááá¯á· á¡á±á¬ááºááŒááºá áœá¬ ááŒá±ááŸááºážááá¯ááºáá²á·áááºá áááºáááºááá¯á áááºáááºá á¬ážáááºááá¯ááẠ- ááŒááºááŸááŒáá¯ááá¯áá«áááºá
á¡áááºážáááºáá±á¬áááá¯ááºáž
2016 áá¯ááŸá áºááœááºá Rostelecom á¡ááœáẠcloud áá®áá®ááá¯á á±á¬áá·áºááŒáá·áºáá±ážááááºáá±á¬ááºážááᯠá áááºáá®ááœááºáá²á·áááºá
áááºááá¬áá±á¬á·ááºáá²ááºáá ááºážáááºážáá»ááºáá»á¬ážá¡áá áááá¡ááá·áºááœááºá áá»áœááºá¯ááºááá¯á·ááẠááá¯áá²á·ááá¯á·áá±á¬á¡áá¯ááºáá»á¬ážá¡ááœáẠ"á á¶" áááºážááŒá±á¬ááºážááᯠááá¯ááºáá»áŸá±á¬ááºáá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºážáá»áá°ááááºááá¬á standard firmware ááœááºááá·áºááœááºážááŒá®áž áá»áœááºá¯ááºááá¯á·á cloud ááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬ áá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠplugin ááá¯áá®ááœááºáá²á·áááºá ááá¯á·áá±á¬áº áá®ááá¯ááºážáá±ážááœá²á ááºá¡ááœááºáž áá»áœááºá¯ááºááá¯á·ááẠá¡áá±á«á·áá«ážáá¯á¶ážááŸáá·áº á¡áááá±á¬ááºáá¯á¶áž ááŒá±ááŸááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá²á·ááẠ(á¥ááá¬á ááá¯ážááá¯áž C á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŒá áºáá±á¬ protobufá libevá mbedtls ááŸáá·áº boost áá²á·ááá¯á·áá±á¬ á¡áááºááŒá±áá±á¬áºáááºáž áá±ážáá¶áá±á¬á á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠáá¯á¶ážáá áœáá·áºáá áºáá¬ážáááº)
áá±á¬áá±á¬áááºááœááºá IP áááºááá¬á á»á±ážááœááºááœáẠuniversal integration solutions áá»á¬ážáááŸááá«- áá±á¬ááºážáá»áá°ááá¯ááºážááœáẠplugin ááá·áºááœááºážááẠááá¯ááºááá¯ááºáááºážáááºážá firmware áááºáááºáááºá¡ááœáẠáááºážáááá¯ááºááá¯áẠAPI á¡á á¯á¶ááŸáá·áº áá°ážááŒá¬ážáá±á¬á¡ááºááááºááá¹ááá¬ážáá áºáá¯ááŸááááºá
ááá¯ááá¯áááºááŸá¬ áááºááá¬áá±á¬ááºážáá»áá°ááá¯ááºážá¡ááœáẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ áá±á«ááºážá ááºáá±á¬á·ááºáá²ááºá¡ááœáŸá¬ááᯠáá áºáŠážáá»ááºáž áá®ááœááºááẠááá¯á¡ááºáá«áááºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á áááºáá»áááºááœááºá cloud ááŸáá·áºáá¯ááºáá±á¬ááºáááºá¡ááœáẠáá¯áá¹áááá±áááᯠáá±á¬áºáá±á¬ááºáá¬ááœáẠá¡ááœá²á·áááŒáá¯ážáááºážá¡á¬ážáá¯ááºááŸá¯áá»á¬ážááᯠá¡á¬áá¯á¶á áá¯ááºáááºá¡ááœáẠáá±á¬ááºážáá»áá° 1 áŠážááŸáá·áºáᬠáá¯ááºáá±á¬ááºááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
ááááá¯á¶ážááœá±ážáá»ááºáá±á¬ááºážáá»áá°ááŸá¬ áááºááá¬áá±ážááœááºááœáẠááá¹áá¬á·áá±á«ááºážáá±á¬ááºáá»á¬ážáá²á០áá áºáŠážááŒá áºááá·áº Hikvision ááẠáá±á¬ááºážááœááºá áœá¬ááŸááºáááºážáááºáá¬ážáá±á¬ API ááŸáá·áº á¡áááºá¡áá»ááºážááŒáá·áºáá®áá±á¬ á¡ááºáá»ááºáá®áá¬áááºážááá¬ááá¯ááºáᬠáá¶á·ááá¯ážááŸá¯ááá¯á·ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
Hikvision áááºááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá»áœááºá¯ááºááá¯á·á ááááá¯á¶ážáá±á¬ ááŸá±á·ááŒá±ážááá±á¬áá»ááºá cloud áá®áá®ááᯠá á±á¬áá·áºááŒáá·áºááŒááºáž Video Comfort ááᯠá áááºáá²á·áá«áááºá
ááœáŸáá·áºáááºááŒá®ážááŒá®ážáá»ááºážááœááºá áá»áœááºá¯ááºááá¯á·áá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠá¡ááŒá¬ážáá¯ááºáá¯ááºáá°áá»á¬ážá០á á»á±ážáááºáá¬áá±á¬áááºááá¬áá»á¬ážááᯠáááºáá±á¬ááºááŸá¯ááá¯á· áá»áááºáááºááá¯ááºááŒá±ááŸáá·áºáááºáááºá áá±ážááœááºážáá»á¬ážáá±ážáá¬ááŒáááºá
áá±á¬ááºážáá»áá°ááá¯ááºážá¡ááœáẠáá±á«ááºážá ááºá¡ááœáŸá¬áá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááœá±ážáá»ááºááœáá·áºááᯠáá»áœááºá¯áẠáá»ááºáá»ááºáž ááŒááºážáááºáá²á·ááẠ- áááºážááẠá¡ááœááºá¡á á¬áž áá¶á·áá»ááºážááŒá®áž áááºááᬠáá¬á·ááºáá²ááœáẠáá±ážáááºáá±á¬ áááºážááá¬ááá¯ááºáᬠááá¯á¡ááºáá»ááºáá»á¬ážááᯠáá»ááŸááºáá¬ážáá±á¬ááŒá±á¬áá·áºá á€ááá·áºááœááºážááŸá¯ááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº ááá¯ááºáá®áá±á¬ áááºááá¬áá áºáá¯á¶ážá áá¯ááºáá»á ááááº- ~60-70$
ááá¯á·ááŒá±á¬áá·áºá áá±á¬ááºážáá»áá°áá¶á០áááºááá¬áá»á¬ážá¡ááœáẠáá»áœááºá¯ááºáááá¯ááºááá¯áẠFirmware ááŒá¯áá¯ááºááẠááá¯ááá¯áááºááŸáá¯ááºážá áœá¬ áá°ážáá±á¬áºááẠáá¯á¶ážááŒááºáá²á·áááºá á€áá»ááºážáááºááŸá¯ááẠáááºááᬠáá¬á·ááºáá²á¡áááºážá¡ááŒá áºáá»á¬ážá¡ááœáẠááá¯á¡ááºáá»ááºáá»á¬ážááᯠáááááá¬áᬠáá»á±á¬á·áááºážá á±ááẠ- á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áºá cloud ááŸáá·áºá¡áá¯ááºáá¯ááºáááºá¡ááœáŸá¬ááẠáá®áá®ááá¯á¡ááá®áá±ážááŸááºážááŸáá·áºááá¯ááá¯áááá±á¬ááºá áœá¬áá±á«ááºážá ááºáá¬ážááŒá®áž firmware ááœááºáááá¯á¡ááºáá±á¬á¡áá¯á¶ážáááŒá¯áá±á¬á¡áá®áááŸááá«á
á¡áá±ážááŒá®ážáááºááŸá¬ á¡ááá·áºáááá·áºáááºááá¬ááŒáá·áº á¡áá¯ááºáá¯ááºááá·áºá¡áá« áá«áá«áááá·áº CPU ááœáẠáááºáá±á¬ááºážáááºááááºáá®ážáá² áá±áá¬ááᯠá á¬ááŸááºáá±ážááá·áº áá¬á·ááºáá² AES ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á¡á²áá®á·á¡áá»áááºááŸá¬ áá»áœááºáá±á¬áºááá¯á·ááŸá¬ áá¬ááŸáááŸááá°ážá áá¬ááŸááá«áá°ážá
á
á»á±ážáááºá¡á¬ážáá¯á¶ážáá®ážáá«ážááẠá€áá»áŸáááá·áºáá»áá±á¬á¡ááá·áºááœáẠáá»áœááºá¯ááºááá¯á·ááŸáá·áº áááºááœá²ááẠá¡áááºááá·áºáááŒá
áºáá±ážáá«á áá¬ážáá
áºáááºáááºážááŸáá·áº á¡á
áááºá¡ááá¯ááºážáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáááŸááá«á áá»á
áºááºáááºáá»á¬ážááŸáá·áº á¡á¬áá¯á¶áá¶á
á¬ááœááºá
á¬áááºážáá»á¬ážá ááá¬ážááẠSDK áááŸááá«á
áááºážááá¬áá¶á·ááá¯ážááŸá¯áááºáž áááŸááá«áá°ážá
áá±ážááœááºážá¡á¬ážáá¯á¶ážááᯠreverse engineeringâá ááºážáááºááŸá¯ááŸáá·áº á¡ááŸá¬ážááŸáá áºááá·áº ááŒá±ááááºááŒá áºáááºá áá«áá±ááá·áº áá»áœááºáá±á¬áºááá¯á· ááááºážááá¯ááºáá²á·áá«áááºá
áá»áœááºá¯ááºááá¯á·á ááºážáááºáá²á·ááá·áº ááááá¯á¶ážáááºááá¬áá±á¬áºáááºáá»á¬ážááŸá¬ Xiaomi Yi Antsá Hikvisioná Dahuaá Spezvisioná D-Link áááºááá¬áá»á¬ážááŸáá·áº á¡ááœááºá á»á±ážáááºáá¬áá±á¬ á¡áááºáá²á· ááá¯ááºáááºááá¬áá»á¬ážááŒá áºáááºá
áá á¹á ááºážááááá¬
Hisilicon 3518E áá»á áºááºáááºáá±á«áºááœáẠá¡ááŒá±áá¶áá¬ážáá±á¬ áááºááá¬áá»á¬ážá áááºááá¬áá»á¬ážá hardware ááá¹ááá¬áá»á¬ážááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááºá
Xiaomi Yi Ants
áá¬á
SoC
Hisilicon 3518E
Hisilicon 3518E
áááº
64MB
64MB
áá»áŸááºáá
áºááŒááºáá®áž
16MB
8MB
ááá¯ááºááá¯ááº
mt7601/bcm43143
-
sensor
ov9732 (720p)
ov9712 (720p)
Ethernet
-
+
MicroSD
+
+
ááá¯ááºáááá¯áá¯ááºáž
+
+
á
áá®áá¬
+
+
IRLed
+
+
IRCut
+
+
áá«ááá¯á·á áá°ááá¯á·áá²á· á áááºá
áá»áœááºá¯ááºááá¯á·ááẠáááºááŸáááœáẠHisilicon 3516/3518 áá»á áºááºáááºáá»á¬ážá¡ááŒáẠAmbarella S2L/S2LM ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá áááºááá¬áá±á¬áºáááºááœá± áá«áááºáá²á·áá»á®ááŸááááºá
Firmware ááœá²á·á ááºážááŸá¯
áá±áá¯ááºáááºá¹áá±á¬
uboot ááẠboot loader ááŒá áºááŒá®ážá áááºážááẠáá«áá«ááœáá·áºááŒá®ážáá±á¬áẠááááŠážá áœá¬ boot áááºáááºá áá¬á·ááºáá²ááᯠá¡á ááŒá¯ááŒá®áž linux kernel ááᯠload áá¯ááºáá«áááºá
áááºááá¬ááœáá·áºááŒááºáž script ááẠá¡ááœááºáá±ážáááºáááº-
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
. áá¯ááºáá²á·á áá¯ááºáááºá áá«á typo ááá¯ááºáá«áá°áž - Linux kernel áá²á· á¡á¬ážáá¯á¶ážá á¡á¬ážáá¯á¶ážá á¡á¬ážáá¯á¶ážá á¡á¬ážáá¯á¶ážáᬠRAM áá²á· 38 megabytes ááá¯áᬠá¡áá¯á¶ážááŒá¯ááœáá·áºááŸááá«áááºá
Uboot áá²á·áá±ážááŸá¬ á¡áá°ážááá±á¬ááºáá
áºáá¯ááŸááá«áááºá reg_info
DDR ááᯠá¡á
ááŒá¯áááºá¡ááœáẠá¡ááá·áºáááá·áº script áá
áºáá¯ááŸáá·áº SoC á á
áá
áºááŸááºáá¯á¶áááºááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážáá«ááŸááááºá á¡ááŒá±á¬ááºážá¡áᬠreg_info
áááºááá¬áá±á¬áºáááºáá±á«áº áá°áááºááŒá®áž áááŸááºáá«á áááºááá¬ááẠuboot ááá¯ááẠload áá¯ááºááá¯ááºáááºááá¯ááºáá±á¬áºáááºáž loading á¡á
á±á¬ááá¯ááºážá¡ááá·áºááœáẠá¡á±ážáá²ááœá¬ážáááºááŒá
áºáááºá
á¡á ááá¯ááºážááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºážáá»áá°áá¶á·ááá¯ážááŸá¯áááŸááá² á¡áá¯ááºáá¯ááºáá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠá€ááá±á¬ááºááᯠáá°áááºážáááºááᬠfirmware á០ááá¯ážááá¯ážáá°ážáá°áá«áááºá
Linux kernel ááŸáá·áº rootf áá»á¬áž
áááºááá¬áá»á¬ážááẠáá»á áºááºá SDK á áá áºá áááºáá áºááá¯ááºážááŒá áºááá·áº Linux kernel ááᯠá¡áá¯á¶ážááŒá¯áááºá áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áááºážááá¯á·ááẠ3.x áá¬áááœá²á០áá±á¬ááºáá¯á¶ážááœáẠkernel áá»á¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡ááá¯áá á¹á ááºážáá»á¬ážá¡ááœáẠdrivers áá»á¬ážááẠá¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ kernel ááŸáá·áº ááá¯ááºáá®ááŸá¯áááŸáááá·áºá¡áá»ááºááᯠáááŒá¬áá ááá¯ááºááœááºááááºááŒá áºáá«áááºá áááºážááá¯á·ááᯠkernel áááºááá¬áá»á¬ážáᶠback-port áá¯ááºááá«áááºá
áá±á¬ááºááŒá¿áá¬áá áºáá¯á kernel á¡ááœááºá¡á á¬ážá FLASH á¡ááœááºá¡á á¬ážááẠ8MB áá¬ááŸááá±á¬á¡áá«á ááá¯ááºáá áºáá¯á á®ááá¯ááºážááẠá¡ááœááºá¡á á¬ážááᯠá¡áááºážáá¯á¶ážáá»áŸá±á¬á·áá»áááºá¡ááœáẠá¡áá¯á¶ážáááŒá¯áá±á¬ kernel áá¯ááºáá±á¬ááºáá»ááºá¡á¬ážáá¯á¶ážááᯠááá¯áá áá¯ááºááááºáááºááŒá áºáááºá
Rootfs ááẠá¡ááŒá±áá¶ááá¯ááºá
áá
áºáá
áºáá¯ááŒá
áºáááºá áá«áááºáá«áááºá busybox
á wifi áá±á¬áºáá»á°ážáááá¯ááºáá¬áá»á¬ážá áá²á·ááá¯á·áá±á¬ á
á¶á
áá
áºá
á¬ááŒáá·áºááá¯ááºáá»á¬áž libld
О libc
LED ááááºážáá»á¯ááºááŸá¯áá¯áá¹áááá±áá ááœááºáááºáá»áááºáááºááŸá¯á
á®áá¶ááá·áºááœá²ááŸá¯ááŸáá·áº firmware á¡ááºááááºáá»á¬ážá¡ááœáẠáá¬áááºááŸáááá·áº áá»áœááºá¯ááºááá¯á·ááá±á¬á·ááºáá²á¡ááŒááºá
root ááá¯ááºá
áá
áºááẠinitramfs á¡ááŒá
Ạkernel ááŸáá·áº áá»áááºáááºáá¬ážááŒá®áž áááºáá±á¬ááºááŸá¯áááááºá¡áá±ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠááá¯ááºáá
áºáá¯áááŸáááẠuImage
kernel ááŸáá·áº rootfs ááŸá
áºáá¯áá¯á¶ážáá« á ááºáááºá
áá®áá®ááá¯áá»áŸá±á¬ááºááœáŸá¬
Firmware á á¡ááŸá¯ááºááœá±ážáá¯á¶ážááŸáá·áº á¡áááºážá¡ááŒá áº-á¡ááœááºá¡áá»áœá¶á·áá¯á¶ážááá·áº á¡á áááºá¡ááá¯ááºážááŸá¬ áá®áá®ááá¯-á¡áá¶áááºážáá°ááŸá¯á áá®áá®ááá¯áá¯ááºááœááºážááŸá¯á áá¯ááºáá¯á¶ááá·áºáááºáá»ááºáá»á¬ážááᯠá á®á ááºáááºááŸááºáá±ážáááºá á¥ááá¬á ááœá±á·áá»á¬ážááŸá¯ ááá¯á·ááá¯áẠá¡áá¶ááŸá¬ááœá±á ááºá PTZ ááᯠááááºážáá»á¯ááºáá¬ážááŒá®áž áá±á·ááŸáá·áºááŒá±á¬ááºážáá²ááŒááºážá¡ááœáẠáá¬áááºááŸáááá·áº á¡ááá®áá±ážááŸááºážááŒá áºáááºá ááá¯ááºáá»á¬ážá
á¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááŸá¬á áá¯ááºáá±á¬ááºáá»ááºááẠáá®áá®ááá¯á¡ááá®áá±ážááŸááºážááẠcloud plugin ááŸáá·áº áááºááá¯á·á¡ááŒááºá¡ááŸááºáá¯ááºáá±á¬ááºáááºááŒá áºá á± á¡áááá¡áá»ááºáá¯ááẠááá¯ááááºááŒá áºáááºá
á á»á±ážáá±á«áá±á¬áá¬á·ááºáá²ááœááºá¡áá¯ááºááá¯ááºááá¯ááºáá±á¬ 'áá±á¬ááºážáá»áá° firmware + cloud plugin' ááœááºá áááºááá¬á¡ááœááºážááŸááá®áá®ááá¯ááẠRTSP áááá¯ááá¯áá±á¬ááŸáá áºááá·áº áá¯ááºááœáŸáá·áºááẠ- áááºážááẠááŒá®ážáá¬ážáá±á¬ááá á¹á ááŒá áºáááº- socket ááŸáááá·áºáá±áá¬ááá¯áá°ážáá°ááŒááºážááŸáá·áº ááá¯á·ááŒááºážá áááá¯á¡ááºáá±á¬ syscalls áá»á¬ážá
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá»áŸáá±áá¬ážáá±á¬ ááŸááºáá¬ááºááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠ- áá®áá®ááá¯ááᯠáááºááá¬áá±á¬á·ááºáá²áẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááŒá¬ážááŸá socket ááŸáááá·áº áá°ážáá°ááŒááºáž ááá¯á·ááá¯áẠáá±ážááá¯á·ááŒááºážáááŒá¯áá«á ááá¯á·ááŒá±á¬áá·áº áááºááá¬á áá»áá¯ážááœá¶áá±á¬ áá¬á·ááºáá²á áœááºážáááºáá»á¬ážááᯠá¡áá±á¬ááºážáá¯á¶ážááŸáá·áº ááá¯áá áá¯ááºá¡áá¯á¶ážááŒá¯áá«á
á áá áºááœá²ááᯠá¡ááºááááºáá¯ááºáá«á
á¡áá°ážáá¯ááºáá°á áá¬á¡áá»ááºááŸá¬ á¡áœááºááá¯ááºáž firmware á¡ááºááááºáá»á¬ážá¡ááœáẠá¡ááŸá¬ážá¡ááœááºážáá¶ááá¯ááºáá±á¬ á áá áºááœá²ááŒá áºáááºá
ááŒá¿áá¬ááᯠááŸááºážááŒáá«áá á±á Firmware ááᯠá¡ááºááááºáá¯ááºááŒááºážááẠáááºážááá¬á¡á á¡áá¯ááŒá°áá¯ááºáá±á¬ááºááŸá¯ááá¯ááºáá«á ááŸáá·áº á¡ááºááááºáá¡áááºááœáẠáá«áá«áá»áá¯á·ááœááºážááŸá¯ááŒá áºáá±á«áºáá«áá flash memory ááœáẠâá¡á±á¬ááº-áá±ážáá¬ážáá±á¬â firmware á¡áá áºá áá áºá áááºáá áºááá¯ááºáž áá«áááºáááºááŒá áºáááºá á¡áá°ážá¡á á®á¡áá¶áá»á¬áž ááá¯ááºáá«áá áááºááá¬ááẠáááºáá±á¬ááºááŸá¯á ááºáá¬ááá¯á· áá±á«áºáá±á¬ááºááẠááá¯á¡ááºáá±á¬ "á¡á¯ááº" ááŒá áºáá¬áá«áááºá
áá®ááŒá¿áá¬ááᯠáá»áœááºáá±á¬áºááá¯á·áááºáž ááŒá±ááŸááºážááŒá®ážááŒá®á á¡ááºááááºáá¯ááºáá±á ááºá¡ááœááºáž áááºááá¬ááᯠááááºáá¬ážáá±á¬áºáááºážá á¡áá¯á¶ážááŒá¯áá°ááŒá¬ážáááºá áœááºáááºááŸá¯áááŸááá² cloud á០firmware ááᯠá¡ááá¯á¡áá»á±á¬ááºáá±á«ááºážáá¯ááºáá¯ááºáᬠáá¯ááºáá±á¬ááºáá»ááºááᯠááŒááºáááºááá°áááºááŒá áºáááºá
ááá¯ááá¯á¡áá±ážá áááºáááºážááá¬ááá¯ááŒáá·áºááŸá¯ááŒáá«á áá¯á·á
á¡á¬ážáááºážáá»ááºá¡ááŸááá¯á¶ážá¡áá»ááºááŸá¬ partition ááᯠLinux kernel ááŸáá·áº root file system ááŒáá·áº overwrite áá¯ááºááŒááºážááŒá áºáááºá á€á¡á áááºá¡ááá¯ááºážáá»á¬ážáá²ááŸáá áºáᯠáá»ááºá á®ážááœá¬ážáá«áá cloud á០firmware ááᯠáá±á«ááºážáá¯ááºáá¯ááºááááá±á¬ uboot bootloader ááẠáááºááá¬ááẠboot áá¯ááºáááºááá¯ááºáá«á
ááá¯ááá¯áááºááŸá¬ á¡ááºááááºáá¯ááºáááºážá ááºá¡ááœááºáž áááºááá¬ááœáẠá¡áá¯ááºáá¯ááºááá·áº kernel ááŸáá·áº rootfs áá»á¬áž á¡áá»áááºáááœá±áž ááŸááá±ááŒá±á¬ááºáž áá±áá»á¬á á±ááẠááá¯á¡ááºáá«áááºá á¡ááá¯ážááŸááºážáá¯á¶ážááŒá±ááŸááºážáááºážááŸá¬ flash memory ááœáẠrootfs ááŒáá·áº kernel áááá¹áá°ááŸá áºá á±á¬ááºááᯠá¡áááºáááŒááºááááºážáááºážáááºááŸáá·áº áááºá kernel áá»ááºá á®ážáá«áá áááºážááᯠá¡áááºáá°ážáá°ááŸá¯á០load áá¯ááºáááºááŒá áºáááºá
áá±á¬ááºážááœááºáá±á¬ááŒá±ááŸááºážáá»áẠ- ááá¯á·áá±á¬áºá rootfs áá«áá±á¬ kernel ááẠ3.5MB ááá·áºáá°ááá¯ááºááŒá®áž á¡ááŒá²áááºážá¡áááºááááºážáááºážáááºá¡ááœáẠ3.5MB ááᯠááœá²áá±áá±ážáááºááá¯á¡ááºáááºá á á»á±ážá¡áááºáá¬áá¯á¶áž áááºááá¬áá»á¬ážááœáẠá¡ááẠkernel á¡ááœáẠáá±áá¬ááœááºáá»á¬áž áááŸááá«á
ááá¯á·ááŒá±á¬áá·áºá Firmware á¡ááºááááºáá¯ááºáá±á
ááºá¡ááœááºáž kernel ááᯠá¡áááºáá°ážáááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááá®áá±ážááŸááºáž partition ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
kernel ááŒáá·áº ááá¯áá»ááºáá±á¬ partition ááᯠááœá±ážááẠcommand ááŸá
áºáá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá bootm
uboot ááœáẠ- á¡á
ááœááºáá»áœááºá¯ááºááá¯á·ááẠmain kernel ááá¯áááºáááºááŒáá¯ážá
á¬ážááŒá®ážáá»ááºá
á®ážáá«áá backup áá
áºáá¯ááŒá
áºáááºá
áááºážááẠáááºááŸááºáá¬ážáá±á¬á¡áá»áááºá áááºááá¬ááœáẠrootfs ááŒáá·áºááŸááºáááºáá±á¬ kernel ááŸááááºááŒá áºááŒá®ážá áááºážááẠfirmware ááá¯á áááºááá¯ááºááŒá®áž firmware ááá¯ááŒááºáááºááá°ááá¯ááºáááºááŒá áºáááºá
Firmware áááºáá±á¬ááºááŒááºážááŸáá·áº á¡áá¯á¶ážááŒá¯ááŒááºážá¡ááœáẠCI/CD á áá áº
Firmware áááºáá±á¬ááºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ áááºááá¬áá±á¬áºáááºáá»á¬ážá¡á¬ážáá¯á¶ážá¡ááœáẠfirmware ááᯠá¡ááá¯á¡áá»á±á¬ááºáááºáá±á¬ááºáá±ážááá·áº gitlab CI ááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž firmware ááá¯áááºáá±á¬ááºááŒá®ážáá±á¬ááºá áááºážááᯠcamera software update service ááá¯á· á¡ááá¯á¡áá»á±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
áááºáá±á¬ááºááŸá¯ááŸá Firmware á¡ááºááááºáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·á QA á ááºážáááºáááºááá¬áá»á¬ážáᶠáá±ážááá¯á·ááŒá®áž á ááºážáááºááŸá¯á¡ááá·áºá¡á¬ážáá¯á¶ážááŒá®ážáá¯á¶ážáá«á áá¯á¶ážá áœá²áá°áá»á¬ážá áááºááá¬áá»á¬ážááá¯á· áá±ážááá¯á·áá«áááºá
ááááºážá¡áá»ááºá¡áááºáá¯á¶ááŒá¯á¶áá±áž
ááá±á·áá±ááºááœáẠááááºážá¡áá»ááºá¡áááºáá¯á¶ááŒá¯á¶áá±ážááẠáááºááá¬áá»á¬ážá¡áá«á¡ááẠáááºááá·áº IoT á ááºáá á¹á ááºážá á¡áá±ážááŒá®ážáá¯á¶ážááá¹áááŒá áºáááºáá°ááá·áº áá»áŸáá¯á·ááŸááºáá»ááºááá¯ááºáá«á Mirai áá²á·ááá¯á·áá±á¬ Botnets áá»á¬ážááẠáá±á¬ááºážáá»áá°áá»á¬ážáá¶á០áá¯á¶ááŸáẠfirmware ááŒáá·áº áááºááá¬áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠáá°ážá ááºá á±áá«áááºá áááºááá¬áá±á¬ááºážáá»áá°áá»á¬ážááŸáá·áºá ááºáá»ááºážá standard firmware ááœáẠcloud ááŸáá·áºá¡áá¯ááºáá¯ááºáááºáááá¯á¡ááºáá±á¬áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážá áœá¬áá«áááºáá±á¬áºáááºáž botnet áá»á¬ážááŸá¡áá¬á á®ážáá°ááá¯ááºáá±á¬á¡á¬ážáááºážáá»ááºáá»á¬ážá áœá¬áá«ááŸááááºááá¯áááááŒá¯áá«á
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·á firmware ááŸá á¡áá¯á¶ážáááŒá¯áá±á¬ áá¯ááºáá±á¬ááºááá¯ááºá áœááºážá¡á¬ážáá¯á¶ážááᯠááááºáá¬ážááŒá®ážá tcp/udp á¡áá±á«ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááºáá¬ážááŒá®áž firmware ááᯠá¡ááºááááºáá¯ááºáá±á¬á¡áá«á áá±á¬á·ááºáá²á áá áºáá»á áºááẠáááºááŸááºááᯠá á áºáá±ážáá«áááºá
áááºážá¡ááŒááºá Firmware ááẠááááºážá¡áá»ááºá¡áááºáá¯á¶ááŒá¯á¶áá±ážáá¬ááºááœá²áááºážááœáẠáá¯á¶ááŸááºá ááºážáááºááŸá¯ááŒá¯áá¯ááºáááºá
áá±á¬ááºáá»ááº
ááá¯áá»áœááºá¯ááºááá¯á·á firmware ááᯠáá®áá®ááá¯á
á±á¬áá·áºááŒáá·áºáá±ážááá±á¬áá»ááºáá»á¬ážááœáẠáááºááŒáœá
áœá¬á¡áá¯á¶ážááŒá¯áá«áááºá áááºážááá¯á·á¡áááºá០á¡ááŒá®ážáá¯á¶ážááẠáá¯ááŸá¬ážáááºááá±ážááŸááºážááá¹áá ááœá±ážáá±á¬ááºááœá²áá»ááºážáááá·áºáá±á·ááœáẠáá²áá±ážááá·áºá¡áá¶ááœáŸáá·áºááŒááºážááŒá
áºááá¯ááºáááºá
ááá±á¬áá»ááºááœáẠáá»áœááºá¯ááºááá¯á·ááá¯ááºáá¶ááŸá áá²áá¯á¶áá»á¬ážááœáẠáááºáááºáá¬ážááá·áº áá»áœááºá¯ááºááá¯á·á firmware ááŒáá·áº áááºááᬠáá,ááá áá»á±á¬áº áá«áááºáá«áááºá
ááŸá¯ááºááœá±ážááŸá¯áá»á¬ážá áœá¬ááᯠááŒá±ááŸááºážááá¯ááºáá²á·ááŒá®áž á¡áá»áá¯á·áá±áá¬áá»á¬ážááœáẠááá¯á¡áá»áááºá áááŒá áºááá¯ááºáá¯áá®ážáá«áž ááŒá¿áá¬áá»á¬ážááá¯ááẠáá»áœááºá¯ááºááá¯á·ááẠá¡ááºáá»ááºáá®áá¬áá»á¬ážáá²á·ááá¯á·ááẠá áááºáá»á±áááºááŸá¯áá»á¬ážá áœá¬áááŸááá²á·áá±á¬áºáááºáž áááºážá¡ááŒáẠáááºááá¬áá»á¬ážáááºáá°ááŸá¯á¡ááœááºáááºáž áá±á«áºáá¬áááºážáá±á«ááºážáá»á¬ážá áœá¬ ááááºážáááºážáá²á·áááºá á€ááá á¹á ááœááºá á á¯áá±á¬ááºážááœá±ááẠá áá¬ážáá¯á¶ážáá»á¬ážááŸáá·áº áá®á¡áá¯áá®ááá¯ááºáᬠááœááºáá»ááºááŸá¯áá»á¬ážáá¬áá á ááºáá á¹á ááºážáááºáá°ááŸá¯á¡ááœáẠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ áááºáá«ááááºáá»á¬ážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠcloud áá®áá®ááá¯á á±á¬áá·áºááŒáá·áºááŒááºážá¡ááŒá±á¬ááºážááŒá±á¬áá«á- áá»ááºážáááºááŸá¯ááŸá áºáá¯ááŸáááẠ- á¡ááá·áºáááá·áºáá»áœááºážáá»ááºááŸá¯ááŸáá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡áá±á«áº ááá¬áá»á°áá¬áá»áá» á¡á¬ážááá¯ážáᬠá ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠááŒá®ážááŒá®ážáá¬ážáá¬ážáá»áœá±áá¬ááá¯ááºááẠááá¯á·ááá¯áẠáááºááá¯ážááŒá®ážáá±á¬á ááºáá á¹á ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áá á á¬ážáá¯á¶ážáá°ááœááºááŒááºááá¹ááá¬áá»á¬ážááᯠá¡ááá¡áá»ááŒáá·áºáááºááá¯áá»áŸáẠáááºááœá±á·ááœáẠáá¯á¶ážááááŸááá±á á¡áá¬ážáá°á á»á±ážáááºáá¬áá±á¬áá á¹á ááºážáá»á¬ážááŸáá·áºááœá²ááŒá¬ážááŒá¬ážáá¬ážáááºá
áá±á«ááºážá ááºážááŒááºážááá¯ááºáᬠáá»ááºážáááºááœá±ážáá»ááºááŸá¯á¡áá±á«áº ááŒá áºááá¯ááºááá»áŸ á á±á¬ááá¯ááºááá»áŸá á±á¬á áœá¬ áá¯á¶ážááŒááºááẠá¡áááºááŒá±á¬áá·áº áá»á°áá¬ááŒá±á¬áẠá¡áá±ážááŒá®ážááááºážá ááááºá¡ááºáá áºáá¯ááᯠáá®ááœááºáá±á¬á¡áá«á áá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠá¡áá»áá¯á·áá±á¬áááºážááá¬áá»á¬áž (á á¬ááŒáá·áºááá¯ááºáá»á¬ážá áááá¯ááá¯áá±á¬áá»á¬ážá á á¶ááŸá¯ááºážáá»á¬áž) ááᯠá¡á¬ážááá¯ážáááºá áááºážááá¬á¡á á¯á¶á¡áááºááᯠá á»á±ážááŒá®ážáá±á¬á ááºáááááá¬áá»á¬ážá¡ááœááºáᬠááœá±ážáá»ááºáá«á áá±á¬ááºááœáẠáá±ážáá±á«áá±á¬áááºááá¬áá»á¬ážááŒá±á¬ááºážááẠááŒáá¯ážáááºážááŸá¯ááẠá¡áááºážáá¯á¶ážá¡á¬ážááŒáá·áº á¡áá»áááºá¡ááŒá¬ááŒá®ážáá°áááẠááá¯á·ááá¯áẠáá»ááºááœááºááœá¬ážáᬠáááºááá¯ážááŒá®ážá ááºáá á¹á ááºážáá»á¬ážááá¯á· ááŒááºááœá¬ážáááºááŒá áºáááºá
source: www.habr.com