Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

Hello kowa da kowa!

Wataƙila ba asiri ba ne cewa ayyukan sa ido na bidiyo na girgije suna samun shahara a kwanan nan. Kuma a bayyane yake dalilin da ya sa wannan ya faru, bidiyon yana da "nauyi" abun ciki, ajiyar abin da ke buƙatar kayan aiki da kuma yawan adadin faifai. Yin amfani da tsarin sa ido na bidiyo na kan-gida yana buƙatar kuɗi don aiki da tallafi, duka ga ƙungiyar da ke amfani da ɗaruruwan kyamarori na sa ido da kuma mai amfani da kowane mai amfani da kyamarori da yawa.

Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

Tsarin sa ido na bidiyo na gajimare yana magance wannan matsala ta hanyar samar wa abokan ciniki tare da ajiyar bidiyo da ke gudana da kayan aiki. Abokin aikin sa ido na bidiyo na girgije yana buƙatar haɗa kyamarar da Intanet kawai kuma ya haɗa ta zuwa asusun gajimare.

Akwai hanyoyi da yawa na fasaha don haɗa kyamarori zuwa gajimare. Babu shakka, hanya mafi dacewa kuma mafi arha ita ce kyamarar ta haɗa kai tsaye kuma tana aiki tare da gajimare, ba tare da shigar da ƙarin kayan aiki kamar sabar ko mai rikodin ba.

Don yin wannan, dole ne a shigar da tsarin software da ke aiki tare da gajimare a kan kyamarar. Koyaya, idan muka yi magana game da kyamarori masu arha, to suna da ƙayyadaddun albarkatun kayan masarufi, waɗanda kusan 100% na ƙasan firmware na mai siyar da kyamara ke shagaltar da su, kuma babu albarkatun da ake buƙata don plugin ɗin girgije. Masu haɓakawa daga ivideon sun sadaukar da wannan matsalar labarin, wanda ya bayyana dalilin da ya sa ba za su iya shigar da plugin a kan kyamarori masu arha ba. A sakamakon haka, mafi ƙarancin farashin kamara shine 5000 rubles ($ 80) da miliyoyin kuɗi da aka kashe akan kayan aiki.

Mun samu nasarar magance wannan matsalar. Idan kuna sha'awar yadda - maraba da yanke

A bit of history

A cikin 2016, mun fara haɓaka dandamalin sa ido kan bidiyo na girgije don Rostelecom.

Dangane da software na kyamara, a matakin farko mun bi hanyar "misali" don irin waɗannan ayyuka: mun haɓaka kayan aikin namu, wanda aka shigar a cikin daidaitaccen firmware na kyamarar mai siyarwa kuma yana aiki tare da girgijenmu. Koyaya, yana da mahimmanci a lura cewa yayin ƙirar mun yi amfani da mafi ƙarancin nauyi da ingantattun mafita (alal misali, aiwatar da C na bayyananniyar protobuf, libev, mbedtls kuma gabaɗaya watsi da dacewa amma manyan ɗakunan karatu kamar haɓakawa)

A halin yanzu, babu hanyoyin haɗin kai na duniya akan kasuwar kyamarar IP: kowane mai siyarwa yana da nasa hanyar shigar da plugin, nasa tsarin API don aiki da firmware, da tsarin sabuntawa na musamman.

Wannan yana nufin cewa ga kowane mai siyar da kyamara ya zama dole ya haɓaka ƙayyadaddun tsarin software na haɗin kai. Kuma a lokacin farawa na ci gaba, yana da kyau a yi aiki kawai tare da mai sayarwa na 1 don mayar da hankali ga kokarin da ƙungiyar ke yi don bunkasa basirar yin aiki tare da girgije.

Dillali na farko da aka zaɓa shine Hikvision, ɗaya daga cikin shugabannin duniya a cikin kasuwar kyamara, yana ba da API ɗin da aka rubuta da kyau da goyan bayan fasaha na injiniya.

Mun ƙaddamar da aikin mu na matukin jirgi na farko, Ta'aziyyar Bidiyo na Kula da Bidiyo na girgije, ta amfani da kyamarori na Hikvision.

Kusan nan da nan bayan ƙaddamarwa, masu amfani da mu sun fara yin tambayoyi game da yiwuwar haɗa kyamarori masu rahusa daga wasu masana'antun zuwa sabis.

Na ƙi zaɓin aiwatar da tsarin haɗin kai ga kowane mai siyarwa kusan nan da nan - saboda ba shi da ƙima kuma yana sanya mahimman buƙatun fasaha akan kayan aikin kyamara. Farashin kyamarar da ta dace da waɗannan buƙatun shigarwa: ~ 60-70$

Saboda haka, na yanke shawarar yin zurfi - don yin firmware na kaina don kyamarori daga kowane mai siyarwa. Wannan hanya ta rage mahimmancin buƙatun albarkatun kayan aikin kyamara - saboda Layer don aiki tare da gajimare yana da inganci sosai tare da aikace-aikacen bidiyo, kuma babu wani kitse mara amfani da ba dole ba a cikin firmware.

Kuma abin da ke da mahimmanci shi ne cewa lokacin aiki tare da kyamara a ƙananan matakin, yana yiwuwa a yi amfani da kayan aiki AES, wanda ke ɓoye bayanai ba tare da ƙirƙirar ƙarin kaya a kan ƙananan CPU ba.

Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

A lokacin ba mu da komai ko kadan. Babu komai.

Kusan duk dillalai ba su shirye su yi aiki tare da mu a irin wannan ƙananan matakin ba. Babu bayani game da ƙirar da'ira da abubuwan haɗin gwiwa, babu SDK na hukuma na kwakwalwan kwamfuta da takaddun firikwensin.
Hakanan babu tallafin fasaha.

Duk tambayoyin dole ne a amsa su ta hanyar injiniyanci na baya-gwaji da kuskure. Amma mun yi nasara.

Samfurin kyamarori na farko da muka gwada a kai su ne Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link kyamarori da kyamarori masu arha da yawa na kasar Sin.

Hanyar fasaha

Kyamarorin da suka dogara da kwakwalwar Hisilicon 3518E. Halayen kayan aikin kyamarori sune kamar haka:

Xiaomi Yi Ants
Noname

SoC
Farashin 3518E
Farashin 3518E

RAM
64MB
64MB

Flash
16MB
8MB

Wifi
mt7601/bcm43143
-

Na'urar haska bayanai
ov9732 (720p)
ov9712 (720p)

Ethernet
-
+

MicroSD
+
+

Reno
+
+

Shugaban majalisar
+
+

IRLed
+
+

IRCut
+
+

Da su muka fara.

A halin yanzu muna tallafawa Hisilicon 3516/3518 chipsets, da kuma Ambarella S2L/S2LM. Akwai nau'ikan kyamarori da yawa.

Tsarin firmware

jirgin karkashin ruwa

uboot shine bootloader, yana farawa da farko bayan kunnawa, yana fara kayan aikin kuma yana loda kernel na Linux.

Rubutun loda kyamara ba komai bane:

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

Daya daga cikin siffofin shine ana kiransa sau biyu bootm, ƙarin game da wannan kadan daga baya, lokacin da muka isa tsarin tsarin sabuntawa.

Kula da layi mem=38M. Ee, eh, wannan ba typo bane - Linux kernel da duka, duka, duk aikace-aikacen suna da damar samun megabyte 38 na RAM kawai.

Hakanan kusa da uboot akwai wani block na musamman da ake kira reg_info, wanda ya ƙunshi ƙananan rubutun don ƙaddamar da DDR da adadin rajistar tsarin na SoC. Abun ciki reg_info ya dogara da tsarin kamara, kuma idan ba daidai ba ne, kyamarar ba za ta iya yin loda uboot ba, amma za ta daskare a farkon matakin lodawa.

Da farko, lokacin da muka yi aiki ba tare da tallafin dillali ba, kawai mun kwafi wannan toshe daga ainihin firmware na kyamara.

Linux kernel da rootfs

Kyamarori suna amfani da kernel na Linux, wanda shine ɓangare na SDK na guntu; yawanci waɗannan ba sabbin kernels ba ne daga reshen 3.x, don haka sau da yawa dole mu yi mu'amala da gaskiyar cewa direbobi don ƙarin kayan aiki ba su dace da kernel da ake amfani da su ba. , kuma dole ne mu mayar da su zuwa ga kyamarori na kernel.

Wani batun kuma shine girman kwaya. Lokacin da girman FLASH ya kasance 8MB kawai, to kowane byte yana ƙididdigewa kuma aikinmu shine mu kashe duk ayyukan kwaya da ba a yi amfani da su a hankali ba don rage girman zuwa ƙarami.

Tushen tsarin fayil ne na asali. Ya hada da busybox, wifi module drivers, saitin daidaitattun ɗakunan karatu na tsarin, irin su libld и libc, kazalika da software na mu, wanda ke da alhakin sarrafa ma'anar LED, sarrafa haɗin cibiyar sadarwa da sabunta firmware.

An haɗa tsarin fayil ɗin tushen zuwa kernel azaman initramfs kuma sakamakon ginin mun sami fayil ɗaya. uImage, wanda ya ƙunshi duka kernel da tushen tushe.

Aikace-aikacen bidiyo

Mafi hadaddun kuma mafi yawan kayan aiki na firmware shine aikace-aikacen, wanda ke ba da rikodin bidiyo-audio, rikodin bidiyo, daidaita sigogin hoto, aiwatar da nazarin bidiyo, misali, motsi ko masu gano sauti, sarrafa PTZ kuma yana da alhakin canza rana hanyoyin dare.

Wani mahimmanci, zan ma faɗi maɓalli, fasalin shine yadda aikace-aikacen bidiyo ke hulɗa tare da plugin ɗin girgije.

A cikin mafita na al'ada 'firmware mai siyarwa + kayan aikin girgije', wanda ba zai iya aiki akan kayan masarufi masu arha ba, ana watsa bidiyo a cikin kyamara ta hanyar ka'idar RTSP - kuma wannan babban abin hawa ne: kwafi da watsa bayanai ta hanyar soket, sysscalls mara amfani.

Anan muna amfani da tsarin ƙwaƙwalwar ajiyar da aka raba - ba a kwafi ko aikawa da bidiyon ta soket tsakanin kayan aikin software na kyamara, don haka mafi kyau kuma a hankali ta yin amfani da mafi kyawun kayan aikin kamara.

Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

Sabunta tsarin ƙasa

Wani batu na girman kai na musamman shine tsarin juzu'i na kuskure don sabunta firmware na kan layi.

Bari in bayyana matsalar. Ana ɗaukaka firmware a zahiri ba aikin atomic ba ne, kuma idan gazawar wutar lantarki ta faru a tsakiyar sabuntawa, to, ƙwaƙwalwar filasha zata ƙunshi ɓangaren sabon firmware “a ƙarƙashin-rubutu”. Idan ba ku ɗauki matakai na musamman ba, kyamarar za ta zama "tuba" wanda ke buƙatar ɗauka zuwa cibiyar sabis.

Mu ma mun magance wannan matsalar. Ko da an kashe kyamarar yayin sabuntawa, za ta atomatik kuma ba tare da sa hannun mai amfani za ta sauke firmware daga gajimare kuma ta dawo da aiki ba.

Bari mu kalli fasaha daki-daki:

Babban mahimmin abu shine sake rubuta bangare tare da Linux kernel da tushen fayil ɗin tushen. Idan ɗaya daga cikin waɗannan abubuwan ya lalace, kyamarar ba za ta yi taho kwata-kwata ba fiye da bootloader na uboot, wanda ba zai iya sauke firmware daga gajimare ba.

Wannan yana nufin cewa muna buƙatar tabbatar da cewa kamara tana da kwaya mai aiki da tushen tushe a kowane lokaci yayin aiwatar da sabuntawa. Zai yi kama da mafi sauƙi mafi sauƙi shine a koyaushe a adana kwafi biyu na kernel tare da tushen tushen akan ƙwaƙwalwar walƙiya kuma, idan babban kernel ya lalace, loda shi daga kwafin ajiyar.

Magani mai kyau - duk da haka, kernel tare da rootfs yana ɗaukar kimanin 3.5MB kuma don madadin dindindin kuna buƙatar ware 3.5MB. Kyamara mafi arha kawai ba su da wannan sarari kyauta don kwaya.

Don haka, don adana kernel yayin sabunta firmware, muna amfani da ɓangaren aikace-aikacen.
Kuma don zaɓar ɓangaren da ake so tare da kernel, ana amfani da umarni biyu bootm a cikin uboot - a farkon muna ƙoƙarin ɗaukar babban kernel kuma idan ya lalace, to madadin.

Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

Wannan yana tabbatar da cewa a kowane lokaci kamara za ta sami madaidaicin kernel tare da rootfs, kuma za ta iya yin taya da mayar da firmware.

Tsarin CI / CD don ginawa da ƙaddamar da firmware

Don gina firmware, muna amfani da gitlab CI, wanda ke gina firmware ta atomatik don duk samfuran kyamarar da aka goyan baya, kuma bayan gina firmware, ana tura shi ta atomatik zuwa sabis na sabunta software na kyamara.

Yadda muka koyi haɗa kyamarori na kasar Sin don 1000 rubles zuwa gajimare. Ba tare da masu yin rajista da SMS ba (kuma an adana miliyoyin daloli)

Daga sabis ɗin, ana isar da sabuntawar firmware zuwa kyamarorinmu na gwajin QA, kuma bayan kammala duk matakan gwaji, zuwa kyamarorin masu amfani.

Tsaron Bayani

Ba asiri ba ne cewa a zamanin yau tsaron bayanai shine mafi mahimmancin al'amari na kowace na'urar IoT, gami da kyamarori. Botnets kamar Mirai suna yawo a Intanet, suna cutar da miliyoyin kyamarori tare da daidaitattun firmware daga masu siyarwa. Tare da duk girmamawa ga masu siyar da kyamara, ba zan iya taimakawa ba sai dai lura cewa daidaitattun firmware ya ƙunshi ayyuka da yawa waɗanda ba a buƙata don aiki tare da girgije, amma ya ƙunshi yawancin raunin da botnets ke amfani da su.

Don haka, duk ayyukan da ba a yi amfani da su ba a cikin firmware ɗinmu ba a kashe su, duk tashoshin tcp/udp suna rufe, kuma lokacin sabunta firmware, ana duba sa hannun dijital na software.

Kuma bayan wannan, firmware ɗin yana yin gwaji akai-akai a cikin dakin gwaje-gwajen tsaro na bayanai.

ƙarshe

Yanzu ana amfani da firmware ɗin mu sosai a cikin ayyukan sa ido na bidiyo. Wataƙila mafi girma daga cikinsu shine watsa shirye-shiryen jefa ƙuri'a a ranar zaɓen shugaban ƙasar Rasha.
Aikin ya ƙunshi kyamarori sama da dubu 70 tare da firmware ɗin mu, waɗanda aka girka a rumfunan zaɓe a ƙasarmu.

Bayan warware da dama hadaddun, da kuma a wasu wurare, ko da a wancan lokacin kusan ba zai yiwu matsaloli, mu, ba shakka, samu babban gamsuwa a matsayin injiniyoyi, amma banda wannan, mun kuma ajiye miliyoyin daloli a kan sayan kyamarori. Kuma a cikin wannan yanayin, tanadi ba kawai kalmomi ba ne da ƙididdiga na ƙididdiga ba, amma sakamakon da aka riga aka kammala don siyan kayan aiki. Sabili da haka, idan muka yi magana game da kula da bidiyo na girgije: akwai hanyoyi guda biyu - dabarun dogara ga ƙananan ƙwarewa da haɓakawa, wanda ya haifar da babban tanadi akan kayan aiki, ko amfani da kayan aiki masu tsada, wanda, idan kun kalli musamman a halayen mabukaci, kusan babu. daban da irinsu masu arha.

Me yasa yake da mahimmancin dabara don yanke shawarar zaɓin tsarin haɗin kai da wuri-wuri? Lokacin haɓaka plugin ɗin, masu haɓakawa sun dogara da wasu fasahohi (dakunan karatu, ƙa'idodi, ƙa'idodi). Kuma idan an zaɓi saitin fasahar kawai don kayan aiki masu tsada, to a nan gaba ƙoƙari na canzawa zuwa kyamarori masu arha zai yuwu, aƙalla, ɗaukar dogon lokaci mai hauka ko ma kasawa kuma komawa ga kayan aiki masu tsada zai faru.

source: www.habr.com

Add a comment