Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Hello aliyense!

Mwinamwake si chinsinsi kuti ntchito zowunikira mavidiyo amtambo zakhala zikudziwika posachedwa. Ndipo zikuwonekeratu chifukwa chake izi zimachitika, kanema ndi "olemera" okhutira, kusungirako komwe kumafuna zowonongeka ndi zosungirako zambiri za disk. Kugwiritsa ntchito makina oyang'anira mavidiyo pa malo kumafuna ndalama zothandizira ndi kuthandizira, zonse za bungwe logwiritsa ntchito makamera mazanamazana komanso kwa munthu amene ali ndi makamera angapo.

Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Makina owonera makanema amtambo amathetsa vutoli popatsa makasitomala malo osungira mavidiyo omwe alipo komanso kukonza zida. Makasitomala owonera makanema pamtambo amangofunika kulumikiza kamera ku intaneti ndikuyilumikiza ku akaunti yake yamtambo.

Pali njira zingapo zamakono zolumikizira makamera kumtambo. Mosakayikira, njira yabwino kwambiri komanso yotsika mtengo kwambiri ndi yakuti kamera imagwirizanitsa mwachindunji ndikugwira ntchito ndi mtambo, popanda kutenga nawo mbali zina zowonjezera monga seva kapena chojambulira.

Kuti muchite izi, m'pofunika kuti pulogalamu ya pulogalamu yomwe ikugwira ntchito ndi mtambo ikhale pa kamera. Komabe, ngati tilankhula za makamera otsika mtengo, ndiye kuti ali ndi zida zochepa kwambiri za hardware, zomwe zimakhala pafupifupi 100% zomwe zimagwidwa ndi firmware yachibadwidwe cha ogulitsa kamera, ndipo palibe zofunikira pa plugin mtambo. Madivelopa ochokera ku ivideon adapereka vutoli nkhani, zomwe zikufotokozera chifukwa chake sangathe kuyika pulogalamu yowonjezera pa makamera otsika mtengo. Zotsatira zake, mtengo wochepera wa kamera ndi ma ruble 5000 (madola 80) ndi mamiliyoni a ndalama zomwe zimagwiritsidwa ntchito pazida.

Tathetsa vutoli bwinobwino. Ngati muli ndi chidwi ndi momwe - mwalandirira kudulidwa

Zakale za mbiriyakale

Mu 2016, tinayamba kupanga nsanja yowonera makanema a Rostelecom.

Pankhani ya mapulogalamu a kamera, pa gawo loyamba tinatsatira njira "yokhazikika" ya ntchito zoterezi: tinapanga pulogalamu yathu yowonjezera, yomwe imayikidwa mu firmware yokhazikika ya kamera ya ogulitsa ndikugwira ntchito ndi mtambo wathu. Komabe, ndikofunikira kudziwa kuti panthawi yopanga tidagwiritsa ntchito njira zopepuka komanso zogwira mtima kwambiri (mwachitsanzo, kukhazikitsa C kwa protobuf, libev, mbedtls ndi malaibulale osiyidwa osavuta koma olemera ngati kulimbikitsa)

Pakadali pano, palibe njira zophatikizira padziko lonse lapansi pamsika wa kamera ya IP: wogulitsa aliyense ali ndi njira yake yoyika pulogalamu yowonjezera, ma API ake ogwiritsira ntchito firmware, ndi njira yapadera yosinthira.

Izi zikutanthauza kuti kwa aliyense wogulitsa kamera ndikofunikira kuti payokha payokha pakhale pulogalamu yophatikiza yophatikiza. Ndipo panthawi yoyambira chitukuko, ndibwino kuti mugwire ntchito ndi wogulitsa 1 yekha kuti muyang'ane khama la gulu pakupanga malingaliro ogwirira ntchito ndi mtambo.

Wogulitsa woyamba kusankhidwa anali Hikvision, m'modzi mwa atsogoleri padziko lonse lapansi pamsika wamakamera, wopereka API yolembedwa bwino komanso chithandizo chaukadaulo chaukadaulo.

Tinayambitsa pulojekiti yathu yoyamba yoyendetsa ndege, kuyang'anira mavidiyo amtambo a Video Comfort, pogwiritsa ntchito makamera a Hikvision.

Pafupifupi atangoyamba kumene, ogwiritsa ntchito athu adayamba kufunsa mafunso okhudzana ndi kuthekera kolumikiza makamera otsika mtengo kuchokera kwa opanga ena kupita kuntchito.

Ndinakana mwayi wokhazikitsa gawo lophatikizira kwa wogulitsa aliyense nthawi yomweyo - chifukwa ndizosakhazikika bwino ndipo zimayika zofunikira paukadaulo wamakina a kamera. Mtengo wa kamera womwe umakwaniritsa zofunikira izi: ~60-70$

Chifukwa chake, ndidaganiza zokumba mozama - kupanga firmware yanga yamakamera kuchokera kwa ogulitsa aliyense. Njirayi imachepetsa kwambiri zofunikira zamakina a kamera - chifukwa Chosanjikiza chogwirira ntchito ndi mtambo chimaphatikizidwa bwino kwambiri ndi pulogalamu ya kanema, ndipo palibe mafuta osafunikira osagwiritsidwa ntchito mu firmware.

Ndipo chofunika kwambiri ndi chakuti pamene mukugwira ntchito ndi kamera pamtunda wotsika, ndizotheka kugwiritsa ntchito hardware AES, yomwe imasunga deta popanda kupanga katundu wowonjezera pa CPU yamphamvu.

Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Panthawiyo tinalibe kalikonse. Palibe konse.

Pafupifupi ogulitsa onse sanali okonzeka kugwira ntchito nafe pamlingo wotsika chonchi. Palibe chidziwitso chokhudza kuzungulira ndi zigawo zake, palibe SDK yovomerezeka ya chipsets ndi zolemba za sensor.
Palibenso chithandizo chaukadaulo.

Mafunso onse adayenera kuyankhidwa pogwiritsa ntchito uinjiniya wosintha - kuyesa ndi zolakwika. Koma tinakwanitsa.

Makamera oyamba omwe tidayesa nawo anali Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link makamera ndi makamera angapo otsika mtengo kwambiri achi China.

Njira

Makamera opangidwa ndi Hisilicon 3518E chipset. Makhalidwe a hardware a kamera ndi awa:

Xiaomi Yi Ants
Noname

SoC
Hisilicon 3518E
Hisilicon 3518E

Ram
64MB
64MB

kung'anima
16MB
8MB

Wifi
mt7601/bcm43143
-

kachipangizo
ov9732 (720p)
ov9712 (720p)

Efaneti
-
+

MicroSD
+
+

Mafonifoni
+
+

Wokamba
+
+

IRLed
+
+

IRCut
+
+

Tinayamba nawo.

Pakali pano timathandizira Hisilicon 3516/3518 chipsets, komanso Ambarella S2L/S2LM. Pali mitundu ingapo yama kamera.

Firmware kapangidwe

Yambani

uboot ndiye bootloader, imayamba kaye itatha kuyatsa, imayambitsa zida ndikunyamula kernel ya linux.

Cholemba chotsitsa kamera ndichochepa kwambiri:

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

Chimodzi mwazinthu ndikuti amatchedwa kawiri bootm, zambiri pa izi mtsogolo pang'ono, tikafika pakusintha kwadongosolo.

Samalani ndi mzere mem=38M. Inde, inde, iyi si typo - kernel ya Linux ndi zonse, zonse, mapulogalamu onse amatha kupeza ma megabytes 38 okha a RAM.

Komanso pafupi ndi uboot pali block yapadera yotchedwa reg_info, yomwe ili ndi zolemba zochepa zoyambira DDR ndi ma registry angapo a SoC. Zamkatimu reg_info zimadalira chitsanzo cha kamera, ndipo ngati sichili cholondola, kamera sichidzatha ngakhale kutsegula uboot, koma idzaundana kumayambiriro kwambiri.

Poyamba, titagwira ntchito popanda thandizo la ogulitsa, tinkangotengera chipikachi kuchokera pa firmware yoyambirira ya kamera.

Linux kernel ndi rootfs

Makamera amagwiritsa ntchito kernel ya Linux, yomwe ndi gawo la SDK ya chip; nthawi zambiri izi sizomwe zaposachedwa kwambiri kuchokera kunthambi ya 3.x, chifukwa chake nthawi zambiri timayenera kuthana ndi mfundo yakuti madalaivala a zida zowonjezera samagwirizana ndi kernel yomwe imagwiritsidwa ntchito. , ndipo tiyenera kuwabweza ku makamera a kernel.

Nkhani ina ndi kukula kwa kernel. Pamene kukula kwa FLASH ndi 8MB kokha, ndiye kuti byte iliyonse imawerengera ndipo ntchito yathu ndikuletsa mosamala ntchito zonse za kernel zomwe sizinagwiritsidwe ntchito kuti muchepetse kukula kwake.

Rootfs ndi fayilo yoyambira. Zimaphatikizapo busybox, madalaivala a module a wifi, gulu la malaibulale okhazikika, monga libld ΠΈ libc, komanso mapulogalamu athu, omwe ali ndi udindo wowongolera malingaliro a LED, kasamalidwe ka ma network ndi zosintha za firmware.

Mizu yamafayilo imalumikizidwa ndi kernel monga initramfs ndipo chifukwa cha kumanga timapeza fayilo imodzi. uImage, yomwe ili ndi kernel ndi rootfs.

Kanema ntchito

Gawo lovuta kwambiri komanso lozama kwambiri la firmware ndikugwiritsa ntchito, komwe kumapereka kujambulidwa kwamavidiyo, kusungitsa makanema, kukonza magawo azithunzi, kugwiritsa ntchito kusanthula kwamavidiyo, mwachitsanzo, zowunikira zoyenda kapena zomveka, kuwongolera PTZ ndipo imayang'anira kusintha tsiku ndi tsiku. usiku modes.

Chofunikira, ndinganenenso chofunikira, mawonekedwe ndi momwe pulogalamu yamavidiyo imalumikizirana ndi pulogalamu yowonjezera yamtambo.

M'mayankho achikhalidwe 'wogulitsa firmware + plugin cloud', omwe sangagwire ntchito pazida zotsika mtengo, kanema mkati mwa kamera imafalitsidwa kudzera pa protocol ya RTSP - ndipo iyi ndi mutu waukulu: kukopera ndi kutumiza deta kudzera pa socket, ma syscalls osafunikira.

Apa timagwiritsa ntchito njira yogawana kukumbukira - kanemayo samakopera kapena kutumizidwa kudzera pazitsulo pakati pa mapulogalamu a pulogalamu ya kamera, potero moyenera komanso mosamala pogwiritsa ntchito mphamvu zochepa za kamera.

Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Sinthani ma subsystem

Chonyadira chapadera ndi kachitidwe kolekerera zolakwika pazosintha za firmware pa intaneti.

Ndiroleni ndifotokoze vuto. Kusintha firmware sikutanthauza ntchito ya atomiki, ndipo ngati kulephera kwamagetsi kumachitika pakati pa zosintha, ndiye kuti kukumbukira kwa flash kumakhala ndi gawo la firmware yatsopano "yolembedwa". Ngati simuchitapo kanthu mwapadera, kamerayo idzakhala "njerwa" yomwe iyenera kutengedwa kupita ku malo othandizira.

Ifenso tathana ndi vuto limeneli. Ngakhale kamera itazimitsidwa panthawi yosinthira, imangotulutsa yokha komanso popanda kulowererapo kwa wogwiritsa ntchito kutsitsa firmware kuchokera pamtambo ndikubwezeretsa ntchito.

Tiyeni tiwone njira mwatsatanetsatane:

Malo omwe ali pachiwopsezo kwambiri ndikulembanso magawowo ndi Linux kernel ndi mizu yamafayilo. Ngati chimodzi mwa zigawozi chawonongeka, kamera sichidzayambanso kupitirira bootloader ya uboot, yomwe singathe kukopera firmware kuchokera pamtambo.

Izi zikutanthauza kuti tiyenera kuwonetsetsa kuti kamera ili ndi kernel yogwira ntchito ndi rootfs nthawi iliyonse panthawi yosintha. Zikuwoneka kuti yankho losavuta kwambiri lingakhale kusunga makope awiri a kernel ndi rootfs pa flash memory ndipo, ngati kernel yaikulu yawonongeka, ikani izo kuchokera muzosunga zosungira.

Yankho labwino - komabe, kernel yokhala ndi rootfs imatenga pafupifupi 3.5MB ndipo kuti musunge zosunga zobwezeretsera muyenera kugawa 3.5MB. Makamera otsika mtengo samangokhala ndi malo aulere otere osungira kernel.

Chifukwa chake, kuti tisungire kernel pakusintha kwa firmware, timagwiritsa ntchito magawo a pulogalamuyo.
Ndipo kusankha magawo omwe mukufuna ndi kernel, malamulo awiri amagwiritsidwa ntchito bootm mu uboot - pachiyambi timayesa kukweza kernel yayikulu ndipo ngati yawonongeka, ndiye yosunga zobwezeretsera.

Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Izi zimatsimikizira kuti nthawi iliyonse kamera idzakhala ndi kernel yolondola ndi rootfs, ndipo idzatha kuyambitsa ndi kubwezeretsa firmware.

CI/CD system yomanga ndi kutumiza firmware

Kuti timange firmware, timagwiritsa ntchito gitlab CI, yomwe imangopanga firmware yamitundu yonse yothandizidwa ndi makamera, ndipo pambuyo pomanga firmware, imatumizidwa ku pulogalamu yosinthira mapulogalamu a kamera.

Momwe tidaphunzirira kulumikiza makamera aku China kwa ma ruble 1000 kumtambo. Palibe odula mitengo kapena ma SMS (ndikupulumutsa mamiliyoni a madola)

Kuchokera pautumiki, zosintha za firmware zimaperekedwa ku makamera athu oyesera a QA, ndipo akamaliza magawo onse oyesera, kumakamera a ogwiritsa ntchito.

Information Security

Si chinsinsi kuti masiku ano chitetezo chazidziwitso ndichofunikira kwambiri pazida zilizonse za IoT, kuphatikiza makamera. Mabotolo ngati Mirai akuyendayenda pa intaneti, akuwononga makamera mamiliyoni ambiri ndi firmware yokhazikika kuchokera kwa ogulitsa. Ndi ulemu wonse kwa ogulitsa makamera, sindingachitire mwina koma kuzindikira kuti firmware yokhazikika imakhala ndi magwiridwe antchito ambiri omwe safunikira kuti agwire ntchito ndi mtambo, koma ali ndi zovuta zambiri zomwe ma botnet amapezerapo mwayi.

Choncho, ntchito zonse zosagwiritsidwa ntchito mu firmware yathu ndizolephereka, madoko onse a tcp / udp amatsekedwa, ndipo pokonzanso firmware, siginecha ya digito ya pulogalamuyo imafufuzidwa.

Ndipo pambali pa izi, firmware imayesedwa pafupipafupi mu labotale yoteteza zidziwitso.

Pomaliza

Tsopano firmware yathu imagwiritsidwa ntchito mwachangu pamapulojekiti owunikira makanema. Mwina chachikulu mwa iwo ndi kuwulutsa kuvota pa tsiku la chisankho cha Purezidenti wa Chitaganya cha Russia.
Ntchitoyi idakhudza makamera opitilira 70 okhala ndi firmware yathu, yomwe idayikidwa m'malo ovotera mdziko lathu.

Popeza tathetsa zovuta zingapo, ndipo m'malo ena, ngakhale panthawiyo zovuta zosatheka, ife, ndithudi, tinalandira chisangalalo chachikulu monga injiniya, koma kuwonjezera pa izi, tinapulumutsanso madola mamiliyoni ambiri pa kugula makamera. Ndipo pamenepa, kupulumutsa si mawu okha ndi mawerengedwe ongoyerekeza, koma zotsatira za tender yomalizidwa kale yogula zida. Chifukwa chake, ngati tilankhula za kuwunika kwamavidiyo amtambo: pali njira ziwiri - kudalira luso laling'ono komanso chitukuko, zomwe zimapangitsa kuti pakhale ndalama zambiri pazida, kapena kugwiritsa ntchito zida zamtengo wapatali, zomwe, ngati muyang'ana makamaka mawonekedwe a ogula, sizili choncho. zosiyana ndi zotchipa zofanana.

Kodi nchifukwa ninji kuli kofunika kwambiri kusankha njira yophatikizira mwamsanga mwamsanga? Popanga pulogalamu yowonjezera, opanga amadalira matekinoloje ena (malaibulale, ma protocol, miyezo). Ndipo ngati matekinoloje amasankhidwa pazida zamtengo wapatali, ndiye kuti m'tsogolomu kuyesa kusintha makamera otsika mtengo, osachepera, kumatenga nthawi yayitali kwambiri kapena kulephera ndipo kubwerera ku zida zodula kudzachitika.

Source: www.habr.com

Kuwonjezera ndemanga