Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Sawubona wonke umuntu!

Cishe akuyona imfihlo ukuthi izinsizakalo zokubhekwa kwevidiyo yamafu ziye zathola ukuthandwa muva nje. Futhi kuyacaca ukuthi kungani lokhu kwenzeka, ividiyo "inzima" okuqukethwe, ukugcinwa kwayo kudinga ingqalasizinda kanye nenani elikhulu lokugcinwa kwediski. Ukusebenzisa uhlelo lokugada amavidiyo asendaweni kudinga imali ukuze isebenze futhi isekele, kokubili enhlanganweni esebenzisa amakhulukhulu amakhamera okuqapha kanye nokomsebenzisi oyedwa onamakhamera ambalwa.

Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Amasistimu okuqapha amavidiyo wamafu axazulula le nkinga ngokunikeza amakhasimende isitoreji sevidiyo esikhona kanye nengqalasizinda yokucubungula. Iklayenti lokuqapha ividiyo yefu lidinga nje ukuxhuma ikhamera ku-inthanethi futhi liyixhume ku-akhawunti yalo yefu.

Kunezindlela ezimbalwa zobuchwepheshe zokuxhuma amakhamera efwini. Ngokungangabazeki, indlela elula kakhulu futhi eshibhile ukuthi ikhamera ixhuma ngokuqondile futhi isebenze nefu, ngaphandle kokubamba iqhaza kwemishini eyengeziwe njengeseva noma irekhoda.

Ukwenza lokhu, kuyadingeka ukuthi kufakwe imojula yesoftware esebenza nefu ekhamera. Kodwa-ke, uma sikhuluma ngamakhamera ashibhile, khona-ke anezinsiza ezilinganiselwe zehadiwe, ezicishe zibe ngu-100% ezithathwe yi-firmware yomdabu yomthengisi wekhamera, futhi azikho izinsiza ezidingekayo ku-plugin yefu. Onjiniyela abavela ku-ivideon banikeze le nkinga indatshana, okuchaza ukuthi kungani bengakwazi ukufaka i-plugin kumakhamera ashibhile. Ngenxa yalokho, inani elincane lekhamera lingama-ruble angu-5000 (ama-dollar angu-80) kanye nezigidi zemali ezisetshenziselwa imishini.

Siyixazulule ngempumelelo le nkinga. Uma unentshisekelo yokuthi kanjani - wamukelekile ekusikeni

Umlando omncane

Ngo-2016, saqala ukuthuthukisa isiteji sokubhekwa kwevidiyo yefu ye-Rostelecom.

Ngokuphathelene nesofthiwe yekhamera, esigabeni sokuqala salandela indlela "ejwayelekile" yemisebenzi enjalo: sakha i-plugin yethu, efakwe ku-firmware evamile yekhamera yomthengisi futhi isebenza ngefu lethu. Kodwa-ke, kubalulekile ukuqaphela ukuthi ngesikhathi sokuklama sasebenzisa izixazululo ezingasindi kakhulu nezisebenza kahle (ngokwesibonelo, ukuqaliswa okusobala kwe-C kwe-protobuf, libev, mbedtls kanye nemitapo yolwazi eshiyiwe elula kodwa esindayo efana ne-boost)

Njengamanje, azikho izixazululo zokuhlanganiswa kwendawo yonke emakethe yekhamera ye-IP: umthengisi ngamunye unendlela yakhe yokufaka i-plugin, isethi yakhe yama-API okusebenzisa i-firmware, kanye nendlela yokuvuselela eyingqayizivele.

Lokhu kusho ukuthi kumthengisi wekhamera ngamunye kuyadingeka ukuthi athuthukise ungqimba olubanzi lwesofthiwe yokuhlanganisa. Futhi ngesikhathi sokuqala ukuthuthukiswa, kuyalulekwa ukuthi usebenze kuphela nomthengisi ongu-1 ukuze ugxilise imizamo yeqembu ekuthuthukiseni ingqondo yokusebenza nefu.

Umthengisi wokuqala okhethiwe kwakungu-Hikvision, omunye wabaholi bomhlaba emakethe yamakhamera, ehlinzeka nge-API ebhalwe kahle kanye nokusekelwa kobuchwepheshe bobunjiniyela obunekhono.

Sethule iphrojekthi yethu yokuqala yokuhlola, i-cloud video surveillance Video Comfort, sisebenzisa amakhamera we-Hikvision.

Cishe ngokushesha ngemva kokwethulwa, abasebenzisi bethu baqale ukubuza imibuzo mayelana nokwenzeka kokuxhuma amakhamera ashibhile avela kwabanye abakhiqizi ukuya kusevisi.

Nginqabe inketho yokusebenzisa isendlalelo sokuhlanganisa somthengisi ngamunye cishe ngokushesha - njengoba singalinganisi kahle futhi sibeka izidingo zobuchwepheshe ezibucayi kuhadiwe yekhamera. Izindleko zekhamera ezihlangabezana nalezi zidingo zokufaka: ~60-70$

Ngakho-ke, nginqume ukumba ngijule - ukwenza i-firmware yami yamakhamera kunoma yimuphi umthengisi. Le ndlela inciphisa kakhulu izidingo zezinsiza zehadiwe yekhamera - ngoba Isendlalelo sokusebenza nefu sihlanganiswe ngokuphumelelayo kakhulu nesicelo sevidiyo, futhi awekho amafutha angadingekile angasetshenzisiwe ku-firmware.

Futhi okubalulekile ukuthi lapho usebenza nekhamera ezingeni eliphansi, kungenzeka ukusebenzisa i-Hardware AES, ebethela idatha ngaphandle kokudala umthwalo owengeziwe ku-CPU yamandla aphansi.

Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Ngaleso sikhathi sasingenalutho nhlobo. Lutho neze.

Cishe bonke abathengisi babengakakulungeli ukusebenza nathi ezingeni eliphansi kangaka. Alukho ulwazi mayelana nokujikeleza nezingxenye, ayikho i-SDK esemthethweni yama-chipsets kanye nemibhalo yezinzwa.
Akukho futhi ukwesekwa kobuchwepheshe.

Yonke imibuzo bekufanele iphendulwe ngobunjiniyela obuhlanekezelweβ€”isivivinyo nephutha. Kodwa sakwazi.

Amamodeli okuqala ekhamera esihlole kuwo i-Xiaomi Yi Ants, i-Hikvision, i-Dahua, i-Spezvision, amakhamera we-D-Link kanye namakhamera amaningana amaShayina angabizi kakhulu angabizi kakhulu.

I-Technique

Amakhamera asekelwe ku-chipset ye-Hisilicon 3518E. Izici zehadiwe zamakhamera zimi kanje:

I-Xiaomi Yi Ants
I-noname

I-SoC
I-Hisilicon 3518E
I-Hisilicon 3518E

RAM
64MB
64MB

IFULESHI
16MB
8MB

WiFi
mt7601/bcm43143
-

inzwa
I-ov9732 (720p)
I-ov9712 (720p)

Ethernet
-
+

MicroSD
+
+

Imakrofoni
+
+

Somlomo
+
+

IRLed
+
+

I-IRCut
+
+

Saqala ngabo.

Njengamanje sisekela ama-chipset e-Hisilicon 3516/3518, kanye ne-Ambarella S2L/S2LM. Kunamamodeli amakhamera amaningi.

Ukwakhiwa kwe-Firmware

owasemanzini

I-uboot iyi-boot loader, iqala kuqala ngemva kokuvula amandla, iqalise i-hardware futhi ilayishe i-linux kernel.

Iskripthi sokulayisha ikhamera sincane kakhulu:

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

Esinye sezici ukuthi sibizwa kabili bootm, okuningi mayelana nalokhu ngokuhamba kwesikhathi, uma sifika kusistimu engaphansi yokubuyekeza.

Naka umugqa mem=38M. Yebo, yebo, lokhu akukona ukuthayipha - i-Linux kernel nakho konke, zonke izinhlelo zokusebenza zinokufinyelela kumamegabhayithi angama-38 kuphela we-RAM.

Futhi eduze kwe-uboot kune-block ekhethekile ebizwa ngokuthi reg_info, equkethe iskripthi sezinga eliphansi sokuqalisa i-DDR kanye nenani lamarejista esistimu e-SoC. Okuqukethwe reg_info kuncike kumodeli yekhamera, futhi uma ingalungile, ikhamera ngeke ikwazi ngisho ukulayisha i-uboot, kodwa izoba yiqhwa ekuqaleni kakhulu kokulayisha.

Ekuqaleni, lapho sisebenza ngaphandle kosekelo lomthengisi, samane sakopisha leli bhulokhi ku-firmware yekhamera yoqobo.

I-Linux kernel kanye ne-rootfs

Amakhamera asebenzisa i-Linux kernel, eyingxenye ye-SDK ye-chip; ngokuvamile lezi akuzona izinhlamvu zakamuva ezivela egatsheni le-3.x, ngakho-ke ngokuvamile kufanele sibhekane neqiniso lokuthi abashayeli bemishini eyengeziwe abahambisani ne-kernel esetshenzisiwe. , futhi kufanele siwabuyisele emuva kumakhamera we-kernel.

Enye inkinga ubukhulu be-kernel. Uma usayizi we-FLASH ungu-8MB kuphela, i-byte ngayinye ibala futhi umsebenzi wethu ukukhubaza ngokucophelela yonke imisebenzi engasetshenziswanga ye-kernel ukuze unciphise usayizi ube ubuncane.

I-Rootfs iyisistimu yefayela eyisisekelo. Kuhlanganisa busybox, abashayeli bemojula ye-wifi, iqoqo lemitapo yolwazi yesistimu ejwayelekile, njenge libld ΠΈ libc, kanye nesofthiwe yethu, enesibopho sokulawula i-LED, ukuphathwa kokuxhumeka kwenethiwekhi nezibuyekezo ze-firmware.

Isistimu yefayela lempande ixhunywe ku-kernel njenge-initramfs futhi ngenxa yokwakhiwa sithola ifayela elilodwa. uImage, equkethe kokubili i-kernel kanye ne-rootfs.

Uhlelo lokusebenza lwevidiyo

Ingxenye ye-firmware eyinkimbinkimbi futhi enezinsiza kakhulu uhlelo lokusebenza, oluhlinzeka ngokuthwebula umsindo wevidiyo, ukufakwa kwekhodi kwevidiyo, ukuhlela imingcele yesithombe, ukusebenzisa ukuhlaziya kwevidiyo, ngokwesibonelo, izithonjana ezinyakazayo noma zomsindo, ezilawula i-PTZ futhi zinesibopho sokushintsha usuku nosuku. izindlela zasebusuku.

Okubalulekile, ngingasho ngisho ukhiye, isici ukuthi uhlelo lokusebenza lwevidiyo lusebenzisana kanjani ne-plugin yamafu.

Kuzixazululo zendabuko 'i-firmware ye-firmware + cloud plugin', engakwazi ukusebenza ku-hardware eshibhile, ividiyo engaphakathi kwekhamera idluliselwa ngephrothokholi ye-RTSP - futhi lokhu kungaphezulu okukhulu: ukukopisha nokudlulisa idatha ngesokhethi, ama-syscalls angadingekile.

Lapha sisebenzisa indlela okwabelwana ngayo inkumbulo - ividiyo ayikopishwa noma ayithunyelwa ngesokhethi phakathi kwezingxenye zesofthiwe yekhamera, ngaleyo ndlela sisebenzisa kahle futhi ngokucophelela amakhono wehadiwe ekhamera.

Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Buyekeza isistimu engaphansi

Iphuzu lokuziqhenya okukhethekile uhlelo olungaphansi olubekezelela iphutha lokubuyekezwa kwe-firmware eku-inthanethi.

Ake ngichaze inkinga. Ukubuyekeza i-firmware ngokobuchwepheshe akuwona umsebenzi we-athomu, futhi uma kwenzeka ukwehluleka kwamandla phakathi nesibuyekezo, inkumbulo ye-flash izoqukatha ingxenye ye-firmware entsha "ebhalwe ngaphansi". Uma ungathathi izinyathelo ezikhethekile, ikhamera izoba "isitini" okudingeka siyiswe esikhungweni sesevisi.

Sike sabhekana nale nkinga. Ngisho noma ikhamera ivaliwe ngesikhathi sokubuyekezwa, izolanda ngokuzenzakalelayo futhi ngaphandle kokungenelela komsebenzisi i-firmware efwini futhi ibuyisele ukusebenza.

Ake sibheke inqubo ngokuningiliziwe:

Iphuzu elisengozini kakhulu ukubhala ngaphezulu ukwahlukanisa nge-Linux kernel kanye nesistimu yefayela lezimpande. Uma enye yalezi zingxenye ilimele, ikhamera ngeke iqale nhlobo ngale kwe-uboot bootloader, engakwazi ukulanda i-firmware efwini.

Lokhu kusho ukuthi sidinga ukuqinisekisa ukuthi ikhamera ine-kernel esebenzayo kanye nama-rootfs noma kunini phakathi nenqubo yokubuyekeza. Kungase kubonakale sengathi isisombululo esilula kungaba ukugcina amakhophi amabili e-kernel ne-rootfs kumemori ye-flash futhi, uma i-kernel eyinhloko yonakele, ilayishe ikhophi eyisipele.

Isixazululo esihle - nokho, i-kernel ene-rootfs ithatha cishe u-3.5MB futhi ukuze uthole ikhophi yasenqolobaneni unomphela udinga ukwaba u-3.5MB. Amakhamera ashibhile awanayo nje indawo yamahhala ye-kernel eyisipele.

Ngakho-ke, ukwenza isipele i-kernel ngesikhathi sokuvuselelwa kwe-firmware, sisebenzisa ukwahlukanisa kohlelo lokusebenza.
Futhi ukukhetha ukwahlukanisa okufunayo nge-kernel, kusetshenziswa imiyalo emibili bootm ku-uboot - ekuqaleni sizama ukulayisha i-kernel eyinhloko futhi uma yonakele, bese ibhekhaphu.

Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Lokhu kuqinisekisa ukuthi nganoma isiphi isikhathi ikhamera izoba ne-kernel efanele ene-rootfs, futhi izokwazi ukuqalisa nokubuyisela i-firmware.

Uhlelo lwe-CI/CD lokwakha nokuphakela i-firmware

Ukwakha i-firmware, sisebenzisa i-gitlab CI, eyakha ngokuzenzakalelayo i-firmware yawo wonke amamodeli ekhamera asekelwayo, futhi ngemva kokwakha i-firmware, ithunyelwa ngokuzenzakalelayo kusevisi yokuvuselela isofthiwe yekhamera.

Sifunde kanjani ukuxhuma amakhamera aseShayina ngama-ruble ayi-1000 efwini. Abekho abagawuli bemithi noma i-SMS (futhi balondoloze izigidi zamaRandi)

Kusukela kusevisi, izibuyekezo ze-firmware zilethwa kumakhamera ethu okuhlola we-QA, futhi lapho sekuqediwe zonke izigaba zokuhlola, kumakhamera abasebenzisi.

Ukuphepha Kolwazi

Akuyona imfihlo ukuthi ukuphepha kolwazi namuhla kuyisici esibaluleke kakhulu kunoma iyiphi idivayisi ye-IoT, okuhlanganisa namakhamera. Ama-botnet anjengo-Mirai azulazula ku-inthanethi, athelela izigidi zamakhamera nge-firmware evamile evela kubathengisi. Ngayo yonke inhlonipho efanele kubathengisi bekhamera, angikwazi ukusiza kodwa ngiqaphele ukuthi i-firmware evamile iqukethe umsebenzi omningi ongadingeki ekusebenzeni nefu, kodwa iqukethe ubuthakathaka obuningi ama-botnets asizakala ngabo.

Ngakho-ke, konke ukusebenza okungasetshenzisiwe ku-firmware yethu kukhutshaziwe, wonke amachweba we-tcp/udp avaliwe, futhi lapho kubuyekezwa i-firmware, isiginesha yedijithali yesoftware iyahlolwa.

Futhi ngaphandle kwalokhu, i-firmware ihlolwa njalo elabhorethri yokuphepha yolwazi.

isiphetho

Manje i-firmware yethu isetshenziswa ngenkuthalo kumaphrojekthi wokuqapha amavidiyo. Mhlawumbe omkhulu kunabo bonke ukusakazwa kokuvota ngosuku lokhetho lukaMongameli weRussian Federation.
Lo msebenzi wawubandakanya amakhamera angaphezu kwezinkulungwane ezingama-70 nge-firmware yethu, afakwa eziteshini zokuvota ezweni lakithi.

Ngemva kokuxazulula izinkinga eziningi, futhi kwezinye izindawo, ngisho nangaleso sikhathi izinkinga ezingenakwenzeka, thina, yiqiniso, sathola ukwaneliseka okukhulu njengonjiniyela, kodwa ngaphandle kwalokhu, salondoloza izigidi zamaRandi ekuthengeni amakhamera. Futhi kulokhu, ukonga akuwona amagama kuphela kanye nezibalo zethiyori, kodwa imiphumela yethenda esivele iqediwe yokuthengwa kwezinto zokusebenza. Ngakho-ke, uma sikhuluma ngokubhekwa kwevidiyo yamafu: kunezindlela ezimbili - ukuthembela ngokwengqondo ekwazini nasekuthuthukisweni kwezinga eliphansi, okuholela ekongeni okukhulu kwemishini, noma ukusebenzisa imishini ebizayo, okuthi, uma ubheka izici zabathengi ngokuqondile, akukho. ahluke kwezinye ezishibhile ezifanayo.

Kungani kubalulekile ukunquma ngokukhetha indlela yokuhlanganisa ngokushesha ngangokunokwenzeka? Lapho bakha i-plugin, abathuthukisi bathembele kubuchwepheshe obuthile (imitapo yolwazi, izivumelwano, izindinganiso). Futhi uma isethi yobuchwepheshe ikhethelwa imishini ebizayo kuphela, khona-ke esikhathini esizayo umzamo wokushintshela kumakhamera ashibhile cishe uzothatha isikhathi eside ngokuhlanya noma uhluleke futhi ukubuyisela imishini ebizayo kuzokwenzeka.

Source: www.habr.com

Engeza amazwana