Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Kaabo gbogbo eniyan!

Boya kii ṣe aṣiri pe awọn iṣẹ iwo-kakiri fidio awọsanma ti n gba olokiki laipẹ. Ati pe o ṣe kedere idi ti eyi fi ṣẹlẹ, fidio jẹ akoonu "eru", ibi ipamọ ti o nilo awọn amayederun ati titobi nla ti ipamọ disk. Lilo eto iwo-kakiri fidio lori ile nilo owo lati ṣiṣẹ ati atilẹyin, mejeeji fun agbari kan ti nlo awọn ọgọọgọrun awọn kamẹra iwo-kakiri ati fun olumulo kọọkan pẹlu awọn kamẹra pupọ.

Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Awọn eto iwo-kakiri fidio awọsanma yanju iṣoro yii nipa fifun awọn alabara pẹlu ibi ipamọ fidio ti o wa tẹlẹ ati awọn amayederun sisẹ. Onibara ibojuwo fidio awọsanma nilo lati so kamẹra pọ mọ Intanẹẹti ki o sopọ mọ akọọlẹ awọsanma rẹ.

Awọn ọna imọ-ẹrọ pupọ lo wa lati so awọn kamẹra pọ si awọsanma. Laisi iyemeji, ọna ti o rọrun julọ ati lawin ni pe kamẹra sopọ taara ati ṣiṣẹ pẹlu awọsanma, laisi ikopa ti awọn ohun elo afikun gẹgẹbi olupin tabi agbohunsilẹ.

Lati ṣe eyi, o jẹ dandan pe module sọfitiwia ti n ṣiṣẹ pẹlu awọsanma fi sori ẹrọ lori kamẹra. Bibẹẹkọ, ti a ba sọrọ nipa awọn kamẹra olowo poku, lẹhinna wọn ni awọn orisun ohun elo ti o lopin pupọ, eyiti o fẹrẹ to 100% ti o tẹdo nipasẹ famuwia abinibi ti olutaja kamẹra, ati pe ko si awọn orisun pataki fun ohun itanna awọsanma. Awọn olupilẹṣẹ lati ivideon ṣe iyasọtọ iṣoro yii nkan, eyiti o ṣe alaye idi ti wọn ko le fi ohun itanna sori awọn kamẹra ti ko gbowolori. Bi abajade, idiyele ti o kere ju ti kamẹra jẹ 5000 rubles ($ 80 dọla) ati awọn miliọnu owo ti a lo lori ẹrọ.

A ti yanju iṣoro yii ni aṣeyọri. Ti o ba nifẹ si bii - kaabọ si ge

A bit ti itan

Ni ọdun 2016, a bẹrẹ si ni idagbasoke Syeed iwo-kakiri fidio awọsanma fun Rostelecom.

Ni awọn ofin ti sọfitiwia kamẹra, ni ipele akọkọ a tẹle ọna “boṣewa” fun iru awọn iṣẹ-ṣiṣe: a ṣe agbekalẹ ohun itanna ti ara wa, eyiti a fi sori ẹrọ ni famuwia boṣewa ti kamẹra olutaja ati ṣiṣẹ pẹlu awọsanma wa. Bibẹẹkọ, o tọ lati ṣe akiyesi pe lakoko apẹrẹ a lo iwuwo fẹẹrẹ julọ ati awọn solusan ti o munadoko (fun apẹẹrẹ, imuse C pẹtẹlẹ ti protobuf, libev, mbedtls ati irọrun ti a kọ silẹ patapata ṣugbọn awọn ile-ikawe iwuwo bii igbelaruge)

Lọwọlọwọ, ko si awọn solusan isọpọ gbogbo agbaye lori ọja kamẹra IP: olutaja kọọkan ni ọna tirẹ ti fifi sori ẹrọ itanna, eto ti ara rẹ ti API fun sisẹ famuwia, ati ẹrọ imudojuiwọn alailẹgbẹ kan.

Eyi tumọ si pe fun olutaja kamẹra kọọkan o jẹ dandan lati ṣe agbekalẹ ẹyọkan ni ẹyọkan ti sọfitiwia iṣọpọ. Ati ni akoko ti o bẹrẹ idagbasoke, o ni imọran lati ṣiṣẹ nikan pẹlu olutaja 1 lati le ṣojumọ awọn igbiyanju ẹgbẹ lori idagbasoke imọran fun ṣiṣẹ pẹlu awọsanma.

Olutaja akọkọ ti o yan ni Hikvision, ọkan ninu awọn oludari agbaye ni ọja kamẹra, n pese API ti o ni iwe-ipamọ daradara ati atilẹyin imọ-ẹrọ to peye.

A ṣe ifilọlẹ iṣẹ akanṣe awakọ awakọ akọkọ wa, Itunu fidio ibojuwo awọsanma, ni lilo awọn kamẹra Hikvision.

O fẹrẹ to lẹsẹkẹsẹ lẹhin ifilọlẹ, awọn olumulo wa bẹrẹ bibeere awọn ibeere nipa iṣeeṣe ti asopọ awọn kamẹra ti o din owo lati ọdọ awọn aṣelọpọ miiran si iṣẹ naa.

Mo kọ aṣayan lati ṣe imuse Layer Integration kan fun olutaja kọọkan fẹrẹẹ lẹsẹkẹsẹ - nitori pe ko le ṣe iwọn ati pe o fa awọn ibeere imọ-ẹrọ to ṣe pataki lori ohun elo kamẹra. Iye owo kamẹra ti o pade awọn ibeere titẹ sii wọnyi: ~ 60-70$

Nitorinaa, Mo pinnu lati ma wà jinle - lati ṣe famuwia ti ara mi fun awọn kamẹra lati ọdọ eyikeyi olutaja. Yi ona significantly din awọn ibeere fun kamẹra hardware oro - nitori Layer fun ṣiṣẹ pẹlu awọsanma jẹ imunadoko diẹ sii pẹlu ohun elo fidio, ati pe ko si ọra ti ko wulo ninu famuwia naa.

Ati pe ohun ti o ṣe pataki ni pe nigbati o ba n ṣiṣẹ pẹlu kamẹra ni ipele kekere, o ṣee ṣe lati lo AES hardware, eyi ti o fi data pamọ laisi ṣiṣẹda fifuye afikun lori Sipiyu-kekere.

Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Ni akoko yẹn a ko ni nkankan rara. Ko si nkankan rara.

Fere gbogbo awọn olutaja ko ṣetan lati ṣiṣẹ pẹlu wa ni ipele kekere bẹ. Ko si alaye nipa Circuit ati awọn paati, ko si SDK osise ti awọn chipsets ati iwe sensọ.
Ko si atilẹyin imọ-ẹrọ tun.

Gbogbo awọn ibeere ni lati dahun nipasẹ imọ-ẹrọ yiyipada — idanwo ati aṣiṣe. Ṣugbọn a ṣakoso.

Awọn awoṣe kamẹra akọkọ ti a ni idanwo lori jẹ Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, Awọn kamẹra D-Link ati ọpọlọpọ awọn kamẹra China ti ko ni iye owo kekere.

Ilana

Awọn kamẹra ti o da lori chipset Hisilicon 3518E. Awọn abuda ohun elo ti awọn kamẹra jẹ bi atẹle:

Xiaomi Yi kokoro
Noname

SoC
Hisilicon 3518E
Hisilicon 3518E

Ramu
64MB
64MB

FUN
16MB
8MB

WiFi
mt7601/bcm43143
-

sensọ
ov9732 (720p)
ov9712 (720p)

àjọlò
-
+

MicroSD
+
+

gbohungbohun
+
+

agbọrọsọ
+
+

IRLed
+
+

IRCut
+
+

A bẹrẹ pẹlu wọn.

Lọwọlọwọ a ṣe atilẹyin awọn chipsets Hisilicon 3516/3518, bakanna bi Ambarella S2L/S2LM. Awọn dosinni ti awọn awoṣe kamẹra wa.

Firmware tiwqn

submarine

uboot jẹ agberu bata, o bata ni akọkọ lẹhin agbara lori, bẹrẹ ohun elo ati ki o gbe ekuro Linux.

Iwe afọwọkọ ikojọpọ kamẹra jẹ ohun kekere:

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

Ọkan ninu awọn ẹya ara ẹrọ ni wipe o ti wa ni a npe ni lemeji bootm, diẹ ẹ sii nipa eyi diẹ diẹ, nigba ti a ba de si awọn imudojuiwọn subsystem.

San ifojusi si ila mem=38M. Bẹẹni, bẹẹni, eyi kii ṣe typo - ekuro Linux ati gbogbo, gbogbo, gbogbo awọn ohun elo ni iwọle si awọn megabyte 38 ti Ramu nikan.

Tun tókàn si uboot nibẹ ni a pataki Àkọsílẹ ti a npe ni reg_info, eyiti o ni iwe afọwọkọ kekere-ipele fun ipilẹṣẹ DDR ati nọmba awọn iforukọsilẹ eto ti SoC. Akoonu reg_info da lori awoṣe kamẹra, ati pe ti ko ba pe, kamẹra kii yoo paapaa ni anfani lati gbe uboot, ṣugbọn yoo di didi ni ipele ibẹrẹ ti ikojọpọ.

Ni akọkọ, nigba ti a ba ṣiṣẹ laisi atilẹyin ataja, a daakọ bulọọki yii nirọrun lati famuwia kamẹra atilẹba.

Ekuro Linux ati awọn rootfs

Awọn kamẹra lo ekuro Linux, eyiti o jẹ apakan ti SDK Chip; nigbagbogbo iwọnyi kii ṣe awọn kernel tuntun lati ẹka 3.x, nitorinaa a nigbagbogbo ni lati koju pẹlu otitọ pe awakọ fun awọn ohun elo afikun ko ni ibamu pẹlu ekuro ti a lo. , ati pe a ni lati ṣe afẹyinti-ibudo wọn si awọn kamẹra kernel.

Ọrọ miiran jẹ iwọn ti ekuro. Nigbati iwọn FLASH ba jẹ 8MB nikan, lẹhinna gbogbo awọn baiti ṣe iṣiro ati pe iṣẹ wa ni lati farabalẹ mu gbogbo awọn iṣẹ ekuro ti ko lo lati dinku iwọn si o kere ju.

Rootfs jẹ eto faili ipilẹ kan. O pẹlu busybox, wifi module awakọ, kan ti ṣeto ti boṣewa eto ikawe, gẹgẹ bi awọn libld и libc, bakannaa sọfitiwia wa, eyiti o jẹ iduro fun ọgbọn iṣakoso LED, iṣakoso asopọ nẹtiwọọki ati awọn imudojuiwọn famuwia.

Eto faili gbongbo ti sopọ si ekuro bi initramfs ati bi abajade ti kikọ a gba faili kan uImage, eyi ti o ni awọn mejeeji ekuro ati awọn rootfs.

Ohun elo fidio

Apakan ti o nira julọ ati awọn orisun to lekoko ti famuwia jẹ ohun elo, eyiti o pese gbigba ohun-fidio, fifi ẹnọ kọ nkan fidio, tunto awọn aye aworan, imuse awọn itupalẹ fidio, fun apẹẹrẹ, išipopada tabi awọn aṣawari ohun, awọn iṣakoso PTZ ati pe o jẹ iduro fun yiyipada ọjọ ati night igbe.

Ohun pataki kan, Emi yoo paapaa sọ bọtini, ẹya jẹ bi ohun elo fidio ṣe n ṣepọ pẹlu ohun itanna awọsanma.

Ninu awọn solusan ibile 'famuwia ataja + ohun itanna awọsanma', eyiti ko le ṣiṣẹ lori ohun elo olowo poku, fidio inu kamẹra ti wa ni gbigbe nipasẹ ilana RTSP - ati pe eyi jẹ oke nla: didakọ ati gbigbe data nipasẹ iho, awọn syscalls ti ko wulo.

Nibi a lo ẹrọ iranti ti o pin - fidio naa ko daakọ tabi firanṣẹ nipasẹ iho laarin awọn paati sọfitiwia kamẹra, nitorinaa ni aipe ati farabalẹ lilo awọn agbara ohun elo kekere ti kamẹra.

Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Update subsystem

Ojuami ti igberaga pataki ni eto abẹ-ọlọdun ẹbi fun awọn imudojuiwọn famuwia ori ayelujara.

Jẹ ki n ṣalaye iṣoro naa. Ṣiṣe imudojuiwọn famuwia jẹ imọ-ẹrọ kii ṣe iṣẹ atomiki, ati pe ti ikuna agbara ba waye ni aarin imudojuiwọn, lẹhinna iranti filasi yoo ni apakan ti famuwia tuntun “labẹ-kikọ”. Ti o ko ba ṣe awọn igbese pataki, kamẹra yoo di “biriki” ti o nilo lati mu lọ si ile-iṣẹ iṣẹ kan.

A ti koju iṣoro yii paapaa. Paapaa ti kamẹra ba wa ni pipa lakoko imudojuiwọn, yoo ṣe igbasilẹ laifọwọyi ati laisi ilowosi olumulo ṣe igbasilẹ famuwia lati inu awọsanma ki o mu iṣẹ pada.

Jẹ ki a wo ilana naa ni awọn alaye diẹ sii:

Ojuami ti o ni ipalara julọ jẹ atunkọ ipin pẹlu ekuro Linux ati eto faili root. Ti ọkan ninu awọn paati wọnyi ba bajẹ, kamẹra ko ni bata rara ju uboot bootloader, eyiti ko le ṣe igbasilẹ famuwia lati inu awọsanma.

Eyi tumọ si pe a nilo lati rii daju pe kamẹra ni ekuro iṣẹ ati awọn rootfs ni eyikeyi akoko lakoko ilana imudojuiwọn. O dabi pe ojutu ti o rọrun julọ yoo jẹ lati tọju awọn ẹda meji ti ekuro nigbagbogbo pẹlu awọn rootfs lori iranti filasi ati, ti ekuro akọkọ ba bajẹ, gbe e lati ẹda afẹyinti.

Ojutu ti o dara - sibẹsibẹ, ekuro pẹlu rootfs gba to 3.5MB ati fun afẹyinti ayeraye o nilo lati pin 3.5MB. Awọn kamẹra ti o rọrun julọ ko ni aaye ọfẹ yẹn pupọ fun ekuro afẹyinti.

Nitorinaa, lati ṣe afẹyinti ekuro lakoko imudojuiwọn famuwia, a lo ipin ohun elo.
Ati lati yan ipin ti o fẹ pẹlu ekuro, awọn ofin meji lo bootm ni uboot - ni ibẹrẹ a gbiyanju lati fifuye ekuro akọkọ ati ti o ba bajẹ, lẹhinna afẹyinti.

Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Eyi ṣe idaniloju pe ni akoko eyikeyi ti kamẹra yoo ni ekuro to tọ pẹlu awọn rootfs, ati pe yoo ni anfani lati bata ati mu famuwia pada.

CI / CD eto fun ile ati imuṣiṣẹ famuwia

Lati kọ famuwia, a lo gitlab CI, eyiti o kọ famuwia laifọwọyi fun gbogbo awọn awoṣe kamẹra ti o ni atilẹyin, ati lẹhin kikọ famuwia, o ti gbe lọ laifọwọyi si iṣẹ imudojuiwọn sọfitiwia kamẹra.

Bii a ṣe kọ lati sopọ awọn kamẹra Kannada fun 1000 rubles si awọsanma. Ko si awọn olutaja tabi SMS (ati fipamọ awọn miliọnu dọla)

Lati iṣẹ naa, awọn imudojuiwọn famuwia ti wa ni jiṣẹ si awọn kamẹra idanwo QA wa, ati ni ipari gbogbo awọn ipele idanwo, si awọn kamẹra olumulo.

Aabo Alaye

Kii ṣe aṣiri pe ni ode oni aabo alaye jẹ abala pataki julọ ti eyikeyi ẹrọ IoT, pẹlu awọn kamẹra. Awọn botnets bii Mirai n rin kiri lori Intanẹẹti, ti npa awọn miliọnu awọn kamẹra pẹlu famuwia boṣewa lati ọdọ awọn olutaja. Pẹlu gbogbo ọwọ ti o yẹ fun awọn olutaja kamẹra, Emi ko le ṣe akiyesi pe famuwia boṣewa ni ọpọlọpọ awọn iṣẹ ṣiṣe ti ko nilo fun ṣiṣẹ pẹlu awọsanma, ṣugbọn ni ọpọlọpọ awọn ailagbara ti awọn botnets lo anfani.

Nitorinaa, gbogbo iṣẹ ṣiṣe ti ko lo ninu famuwia wa jẹ alaabo, gbogbo awọn ebute oko tcp/udp ti wa ni pipade, ati nigbati o ba n ṣe imudojuiwọn famuwia, ibuwọlu oni-nọmba ti sọfitiwia naa ti ṣayẹwo.

Ati ni afikun si eyi, famuwia naa ṣe idanwo deede ni yàrá aabo alaye.

ipari

Bayi famuwia wa ti lo ni itara ninu awọn iṣẹ iwo-kakiri fidio. Boya awọn ti o tobi julọ ninu wọn ni igbohunsafefe ti idibo ni ọjọ idibo ti Aare ti Russian Federation.
Ise agbese na pẹlu diẹ sii ju awọn kamẹra 70 ẹgbẹrun pẹlu famuwia wa, eyiti a fi sori ẹrọ ni awọn aaye idibo ni orilẹ-ede wa.

Lehin ti o ti yanju nọmba kan ti eka, ati ni awọn aaye, paapaa ni akoko yẹn fere awọn iṣoro ti ko ṣeeṣe, a, dajudaju, gba itẹlọrun nla bi awọn onise-ẹrọ, ṣugbọn ni afikun si eyi, a tun fipamọ awọn milionu dọla lori rira awọn kamẹra. Ati ninu ọran yii, awọn ifowopamọ kii ṣe awọn ọrọ nikan ati awọn iṣiro imọ-jinlẹ, ṣugbọn awọn abajade ti tutu ti o ti pari tẹlẹ fun rira ohun elo. Nitorinaa, ti a ba sọrọ nipa iwo-kakiri fidio awọsanma: awọn ọna meji lo wa - ni isọdọtun da lori imọ-jinlẹ ipele kekere ati idagbasoke, ti o yorisi awọn ifowopamọ nla lori ohun elo, tabi lo awọn ohun elo gbowolori, eyiti, ti o ba wo ni pato awọn abuda olumulo, ko ṣe adaṣe rara. yatọ lati iru poku eyi.

Kini idi ti o ṣe pataki ni ilana lati pinnu lori yiyan ọna isọpọ ni kutukutu bi o ti ṣee? Nigbati o ba n ṣe agbekalẹ ohun itanna kan, awọn olupilẹṣẹ gbarale awọn imọ-ẹrọ kan (awọn ile-ikawe, awọn ilana, awọn iṣedede). Ati pe ti o ba yan awọn imọ-ẹrọ kan nikan fun ohun elo gbowolori, lẹhinna ni ọjọ iwaju igbiyanju lati yipada si awọn kamẹra olowo poku yoo ṣeeṣe julọ, ni o kere ju, gba akoko aṣiwere gigun tabi paapaa kuna ati ipadabọ si ohun elo gbowolori yoo waye.

orisun: www.habr.com

Fi ọrọìwòye kun