Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Всем Привет!

Li pwobableman pa sekrè ke sèvis siveyans videyo nwaj yo te pran popilarite dènyèman. Epi li klè poukisa sa rive, videyo se kontni "lou", depo a ki mande pou enfrastrikti ak gwo kantite depo ki gen kapasite. Sèvi ak yon sistèm siveyans videyo sou lokal mande lajan pou opere ak sipò, tou de pou yon òganizasyon k ap itilize dè santèn de kamera siveyans ak pou yon itilizatè endividyèl ki gen plizyè kamera.

Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Sistèm siveyans videyo nwaj yo rezoud pwoblèm sa a lè yo bay kliyan yon enfrastrikti depo ak pwosesis videyo ki egziste deja. Yon kliyan siveyans videyo nwaj tou senpleman bezwen konekte kamera a sou entènèt la epi konekte li nan kont nwaj li.

Gen plizyè fason teknolojik konekte kamera ak nwaj la. San dout, metòd ki pi pratik ak pi bon mache se ke kamera a dirèkteman konekte ak travay ak nwaj la, san patisipasyon ekipman adisyonèl tankou yon sèvè oswa achiv.

Pou fè sa, li nesesè ke yon modil lojisyèl k ap travay ak nwaj la enstale sou kamera a. Sepandan, si nou pale sou kamera bon mache, Lè sa a, yo gen resous pyès ki nan konpitè trè limite, ki prèske 100% okipe pa firmwèr natif natal nan vandè kamera a, epi pa gen okenn resous ki nesesè pou Plugin nwaj la. Devlopè ki soti nan ivideon konsakre pwoblèm sa a yon atik, ki eksplike poukisa yo pa ka enstale Plugin la sou kamera bon mache. Kòm yon rezilta, pri minimòm kamera a se 5000 rubles ($ 80 dola) ak dè milyon de lajan depanse nan ekipman yo.

Nou te rezoud pwoblèm sa a avèk siksè. Si w enterese nan ki jan - Byenveni nan koupe a

Yon istwa ti kras

Nan 2016, nou te kòmanse devlope yon platfòm siveyans videyo nwaj pou Rostelecom.

An tèm de lojisyèl kamera, nan premye etap la nou te swiv chemen "estanda" pou travay sa yo: nou devlope pwòp plugin nou an, ki enstale nan firmwèr estanda kamera vandè a epi travay ak nwaj nou an. Sepandan, li vo anyen ke pandan konsepsyon an nou te itilize solisyon ki pi lejè ak efikas (pa egzanp, aplikasyon klè C nan protobuf, libev, mbedtls ak konplètman abandone bibliyotèk pratik men lou tankou boost)

Kounye a, pa gen okenn solisyon entegrasyon inivèsèl sou mache kamera IP la: chak machann gen pwòp fason li yo enstale Plugin la, pwòp seri API li yo pou opere firmwèr la, ak yon mekanis aktyalizasyon inik.

Sa vle di ke pou chak machann kamera li nesesè pou devlope endividyèlman yon kouch konplè lojisyèl entegrasyon. Ak nan moman an nan kòmanse devlopman, li se konseye pou travay sèlman ak 1 machann yo nan lòd yo konsantre efò ekip la sou devlope lojik la pou travay ak nwaj la.

Premye machann ki te chwazi a se Hikvision, youn nan lidè mondyal yo nan mache kamera a, ki te bay yon API byen dokimante ak sipò teknik jeni konpetan.

Nou te lanse premye pwojè pilòt nou an, siveyans videyo nwaj Video Comfort, lè l sèvi avèk kamera Hikvision.

Prèske imedyatman apre lansman an, itilizatè nou yo te kòmanse poze kesyon sou posibilite pou konekte kamera pi bon mache soti nan lòt manifaktirè yo nan sèvis la.

Mwen te rejte opsyon pou mete ann aplikasyon yon kouch entegrasyon pou chak machann prèske imedyatman - kòm li se mal évolutive ak enpoze kondisyon teknik grav sou pyès ki nan konpitè kamera. Pri a nan yon kamera ki satisfè kondisyon sa yo opinyon: ~60-70$

Se poutèt sa, mwen deside fouye pi fon - fè pwòp firmwèr mwen pou kamera nan nenpòt machann. Apwòch sa a siyifikativman diminye kondisyon yo pou resous pyès ki nan konpitè kamera - paske Kouch la pou travay ak nwaj la entegre pi plis efektivman ak aplikasyon videyo a, epi pa gen okenn grès ki pa nesesè nan firmwèr la.

Ak sa ki enpòtan se ke lè w ap travay ak kamera a nan yon nivo ki ba, li posib yo sèvi ak pyès ki nan konpitè AES, ki ankripte done san yo pa kreye chaj adisyonèl sou CPU a ki ba-pouvwa.

Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Nan moman sa a nou pa t gen anyen ditou. Anyen menm.

Prèske tout machann yo pa t pare pou travay avèk nou nan yon nivo ki ba konsa. Pa gen okenn enfòmasyon sou sikwi a ak konpozan, pa gen okenn SDK ofisyèl nan chipsets ak dokiman detèktè.
Pa gen okenn sipò teknik tou.

Tout kesyon yo te dwe reponn atravè jeni ranvèse - esè ak erè. Men nou jere.

Premye modèl kamera nou te teste sou yo se te Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link kamera ak plizyè kamera Chinwa ki pa chè ki pa gen non.

Technique

Kamera ki baze sou Hisilicon 3518E chipset. Karakteristik pyès ki nan konpitè kamera yo se jan sa a:

Xiaomi Yi foumi
Non non

SoC
Hisilicon 3518E
Hisilicon 3518E

RAM
64MB
64MB

FLASH
16MB
8MB

fil
mt7601/bcm43143
-

Sensor
ov9732 (720p)
ov9712 (720p)

Ethernet
-
+

MicroSD
+
+

Mikwofòn
+
+

Oratè
+
+

IRLed
+
+

IRCut
+
+

Nou te kòmanse avèk yo.

Kounye a nou sipòte Hisilicon 3516/3518 chipsets, osi byen ke Ambarella S2L/S2LM. Gen plizyè douzèn modèl kamera.

Konpozisyon firmwèr

soumaren

uboot se loader bòt la, li bòt premye apre pouvwa sou li, inisyalize pyès ki nan konpitè ak chaje nwayo linux la.

Script kamera chaje a se byen trivial:

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

Youn nan karakteristik yo se ke li rele de fwa bootm, plis sou sa a yon ti kras pita, lè nou rive nan subsistèm nan aktyalizasyon.

Peye atansyon sou liy lan mem=38M. Wi, wi, sa a se pa yon typo - nwayo a Linux ak tout, tout, tout aplikasyon yo gen aksè a sèlman 38 megabyte nan RAM.

Epitou akote uboot gen yon blòk espesyal ki rele reg_info, ki gen yon script ki ba nivo pou inisyalize DDR ak yon kantite rejis sistèm nan SoC la. Kontni reg_info depann sou modèl la kamera, epi si li pa kòrèk, kamera a pa pral menm kapab chaje uboot, men li pral friz nan etap nan trè bonè nan loading.

Okòmansman, lè nou te travay san sipò vandè, nou tou senpleman kopye blòk sa a soti nan firmwèr kamera orijinal la.

Kernel Linux ak rootfs

Kamera yo sèvi ak nwayo Linux la, ki se yon pati nan SDK chip la; anjeneral sa yo se pa dènye nwayo ki soti nan branch 3.x la, kidonk nou souvan oblije fè fas ak lefèt ke chofè pou ekipman adisyonèl yo pa konpatib ak nwayo yo itilize. , epi nou dwe tounen-port yo nan kamera nwayo yo.

Yon lòt pwoblèm se gwosè nwayo a. Lè gwosè FLASH la se sèlman 8MB, Lè sa a, chak byte konte epi travay nou an se ak anpil atansyon enfim tout fonksyon nwayo ki pa itilize yo nan lòd yo redwi gwosè a nan yon minimòm.

Rootfs se yon sistèm dosye debaz. Li gen ladann busybox, chofè modil wifi, yon seri bibliyotèk sistèm estanda, tankou libld и libc, osi byen ke lojisyèl nou an, ki responsab pou lojik kontwòl dirije, jesyon koneksyon rezo ak mizajou firmwèr.

Sistèm fichye rasin lan konekte ak nwayo a kòm initramfs epi kòm rezilta bati a nou jwenn yon sèl fichye. uImage, ki gen tou de nwayo a ak rootfs.

Aplikasyon videyo

Pati ki pi konplèks ak resous ki pi entansif nan firmwèr la se aplikasyon an, ki bay kaptire videyo-odyo, kodaj videyo, configured paramèt foto, aplike analiz videyo, pou egzanp, detektè mouvman oswa son, kontwole PTZ epi li responsab pou chanje jou ak mòd lannwit.

Yon enpòtan, mwen ta menm di kle, karakteristik se ki jan aplikasyon videyo a reyaji ak Plugin nwaj la.

Nan solisyon tradisyonèl 'machann firmwèr + nwaj Plugin', ki pa ka travay sou pyès ki nan konpitè bon mache, videyo andedan kamera a transmèt atravè pwotokòl la RTSP - ak sa a se yon gwo tèt: kopye ak transmèt done atravè priz, syscalls nesesè.

Isit la nou itilize mekanis memwa pataje - videyo a pa kopye oswa voye atravè priz ant konpozan lojisyèl kamera a, kidonk optimal ak anpil atansyon lè l sèvi avèk kapasite pyès ki nan konpitè modès kamera a.

Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Mete ajou subsistèm

Yon pwen nan fyète espesyal se subsistèm ki toleran fòt pou mizajou firmwèr sou entènèt.

Kite m eksplike pwoblèm nan. Mete ajou firmwèr la se teknikman pa yon operasyon atomik, epi si yon echèk kouran rive nan mitan aktyalizasyon a, Lè sa a, memwa flash la pral gen yon pati nan nouvo firmwèr "anba-ekri". Si ou pa pran mezi espesyal, kamera a pral tounen yon "brik" ki bezwen pran nan yon sant sèvis.

Nou te fè fas ak pwoblèm sa a tou. Menm si kamera a etenn pandan aktyalizasyon a, li pral otomatikman epi san entèvansyon itilizatè telechaje firmwèr la soti nan nwaj la epi retabli operasyon an.

Ann gade teknik la an plis detay:

Pwen ki pi vilnerab la se ranplase patisyon an ak sistèm fichye Linux ak rasin. Si youn nan konpozan sa yo domaje, kamera a pa pral bòt ditou pi lwen pase bootloader uboot, ki pa ka telechaje firmwèr nan nwaj la.

Sa vle di ke nou bezwen asire ke kamera a gen yon nwayo k ap travay ak rootfs nenpòt ki lè pandan pwosesis la aktyalizasyon. Li ta sanble ke solisyon ki pi senp la ta toujou sere de kopi nwayo a ak rootfs sou memwa flash epi, si nwayo prensipal la domaje, chaje li nan kopi backup la.

Yon bon solisyon - sepandan, nwayo a ak rootfs pran apeprè 3.5MB epi pou yon backup pèmanan ou bezwen asiyen 3.5MB. Kamera ki pi bon mache yo tou senpleman pa gen anpil espas gratis pou yon nwayo backup.

Se poutèt sa, pou fè backup nwayo a pandan yon aktyalizasyon firmwèr, nou itilize patisyon aplikasyon an.
Epi pou chwazi patisyon an vle ak nwayo a, yo itilize de kòmandman bootm nan uboot - nan kòmansman an nou eseye chaje nwayo prensipal la epi si li domaje, Lè sa a, yon sèl la backup.

Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Sa a asire ke nan nenpòt ki lè kamera a pral gen nwayo ki kòrèk la ak rootfs, epi li pral kapab bòt ak restore firmwèr la.

CI/CD sistèm pou bati ak deplwaye firmwèr

Pou konstwi firmwèr, nou itilize gitlab CI, ki otomatikman bati firmwèr pou tout modèl kamera sipòte, epi apre li fin bati firmwèr la, li otomatikman deplwaye nan sèvis la aktyalizasyon lojisyèl kamera.

Ki jan nou te aprann konekte kamera Chinwa pou 1000 rubles nan nwaj la. Pa gen loggers oswa SMS (ak sove dè milyon de dola)

Soti nan sèvis la, mizajou firmwèr yo delivre nan kamera tès QA nou yo, epi apre tout etap tès yo fini, nan kamera itilizatè yo.

Sekirite Enfòmasyon

Se pa sekrè jodi a sekirite enfòmasyon se aspè ki pi enpòtan nan nenpòt aparèy IoT, ki gen ladan kamera. Botnets tankou Mirai ap roaming entènèt la, enfekte dè milyon de kamera ak firmwèr estanda ki soti nan machann yo. Avèk tout respè pou fournisseurs kamera, mwen pa ka pa sonje ke firmwèr estanda gen yon anpil nan fonksyonalite ki pa nesesè pou travay ak nwaj la, men li gen anpil frajilite ke botne yo pran avantaj de.

Se poutèt sa, tout fonksyonalite ki pa itilize nan firmwèr nou an enfim, tout pò tcp/udp yo fèmen, epi lè mete ajou firmwèr la, yo tcheke siyati dijital lojisyèl an.

Ak san konte sa a, firmwèr la sibi tès regilye nan laboratwa sekirite enfòmasyon an.

Konklizyon

Koulye a, firmwèr nou an aktivman itilize nan pwojè siveyans videyo. Petèt pi gwo a nan yo se emisyon vòt la nan jou eleksyon an nan Prezidan Federasyon Larisi la.
Pwojè a te enplike plis pase 70 mil kamera ak firmwèr nou an, ki te enstale nan biwo vòt nan peyi nou an.

Èske w gen rezoud yon kantite konplèks, ak nan kèk kote, menm nan tan sa a pwoblèm prèske enposib, nou, nan kou, te resevwa gwo satisfaksyon kòm enjenyè, men san konte sa a, nou menm tou nou sove dè milyon de dola sou achte nan kamera. Ak nan ka sa a, ekonomi yo se pa sèlman mo ak kalkil teyorik, men rezilta yo nan yon pèman deja ranpli pou achte nan ekipman yo. An konsekans, si nou pale sou siveyans videyo nwaj: gen de apwòch - estratejik konte sou ekspètiz ak devlopman ki ba nivo, sa ki lakòz gwo ekonomi sou ekipman, oswa itilize ekipman chè, ki, si ou gade espesyalman nan karakteristik konsomatè, se pratikman pa gen okenn. diferan de sa ki sanble bon mache.

Poukisa li enpòtan estratejikman pou deside sou chwa apwòch entegrasyon an pi bonè posib? Lè devlope yon plugin, devlopè yo konte sou sèten teknoloji (bibliotèk, pwotokòl, estanda). Men, si yo chwazi yon seri teknoloji sèlman pou ekipman chè, Lè sa a, nan tan kap vini an, yon tantativ pou chanje nan kamera bon mache pral gen plis chans, nan yon minimòm, pran yon tan ensanèi anpil oswa menm echwe ak yon retounen nan ekipman chè pral rive.

Sous: www.habr.com

Add nouvo kòmantè