Nhasi, nekuda kwekukurumidza kusimudzira kwemamicroelectronics, nzira dzekutaurirana, matekinoroji eInternet uye Artificial Intelligence, musoro wedzimba dzakangwara uri kuramba uchiwedzera kukosha. Dzimba dzevanhu dzakaita shanduko huru kubva kuStone Age uye munguva yeIndustrial Revolution 4.0 uye Internet yeZvinhu, yave yakasununguka, inoshanda uye yakachengeteka. Mhinduro dziri kuuya kumusika dzinoshandura imba kana imba yenyika kuita masisitimu eruzivo akaomesesa anodzorwa kubva chero kupi zvako munyika uchishandisa smartphone. Uyezve, kupindirana kwemuchina-muchina hakuchadi ruzivo rwemitauro yekuronga - nekuda kwekuzivikanwa kwekutaura uye synthesis algorithms, munhu anotaura kune yakangwara imba mumutauro wavo.
Mamwe masystem akangwara epamba pari zvino ari pamusika kusimudzira zvine musoro kwemafu video surveillance system, vagadziri vacho vakaona kudiwa kwemhinduro yakazara kwete yekutarisa chete, asiwo yekugadzirisa zvinhu zviri kure.
Isu tinopa kune iwe kutarisisa kwako akatevedzana ezvinyorwa zvitatu, izvo zvinokuudza nezve ese makuru eiyo cloud smart home system, yakagadziridzwa nemunyori uye kuiswa mukushanda. Chinyorwa chekutanga chakapihwa kune terminal mutengi michina yakaiswa mukati meimba yakangwara, yechipiri kune dhizaini yekuchengetera gore uye data processing system, uye pakupedzisira, yechitatu kune mutengi application yekutarisira sisitimu panharembozha uye yakamira michina.
Smart kumba midziyo
Kutanga, ngatitaure nezve maitiro ekugadzira imba yakangwara kubva kune yakajairika furati, dacha kana kottage. Kuti uite izvi, sekutonga, zvakakosha kuisa midziyo inotevera mumba:
- sensors inoyera zvakasiyana-siyana zvakatipoteredza parameters;
- actuators inoshanda pazvinhu zvekunze;
- mutongi anoita masvomhu zvinoenderana nezviyero zve sensor uye zvakamisikidzwa logic, uye anopa mirairo kune actuators.
Mufananidzo unotevera unoratidza dhiyagiramu yeimba yakangwara, ine masensa ekubuda kwemvura (1) muimba yekugezera, tembiricha (2) uye chiedza (3) muimba yekurara, soketi yakangwara (4) mukicheni uye vhidhiyo yekutarisa kamera (5) mukoridho.
Parizvino, masensa asina waya anoshanda achishandisa iyo RF433, Z-Wave, ZigBee, Bluetooth uye WiFi mapuroteni anoshandiswa zvakanyanya. Kubatsira kwavo kukuru ndiko nyore kwekuisa uye kushandiswa, pamwe chete nemutengo wakaderera uye kuvimbika, nekuti Vagadziri vari kuedza kuunza zvishandiso zvavo kumusika mukuru uye kuita kuti zviwanikwe kune avhareji mushandisi.
Sensors uye actuators, sekutonga, zvakabatana kuburikidza newireless interface kune yakangwara imba controller (6) - yakasarudzika microcomputer inosanganisa zvese izvi zvishandiso kuita imwechete network uye inoadzora.
Nekudaro, dzimwe mhinduro dzinogona kusanganisa sensor, actuator uye controller panguva imwe chete. Semuenzaniso, smart plug inogona kurongwa kuti ibatike kana kudzima zvinoenderana nehurongwa, uye yegore vhidhiyo yekutarisa kamera inogona kurekodha vhidhiyo inoenderana neinofambisa detector chiratidzo. Mumamiriro ezvinhu akareruka, iwe unogona kuita pasina mutongi wakasiyana, asi kugadzira inoshanduka sisitimu ine akawanda mamiriro, zvinodikanwa.
Kuti ubatanidze smart home controller kune network yepasi rose, yenguva dzose Internet router (7) inogona kushandiswa, iyo yave kwenguva refu yave yakajairika mudziyo wemumba mune chero imba. Pano pane imwe nharo inotsigira a smart home controller - kana iyo yekubatanidza kuInternet yakarasika, imba yakangwara icharamba ichishanda seyakajairwa nekuda kweiyo logic block yakachengetwa mukati memutongi, uye kwete mubasa regore.
Smart imba controller
Iyo controller yegore smart imba system inokurukurwa muchinyorwa chino inogadzirwa zvichibva pane imwe-bhodhi microcomputer
Kuunganidza mutongi kuri nyore kwazvo - iyo microcomputer (1) yakaiswa mupurasitiki kesi (2), ipapo 8 GB memori kadhi mune microSD fomati ine software (3) uye USB Z-Wave network controller (4) yakaiswa mukati. nzvimbo dzinoenderana. Iyo smart home controller yakabatana kune magetsi kuburikidza ne5V, 2.1A magetsi adapta (5) uye USB - micro-USB tambo (6). Yese controller ine yakasarudzika nhamba yekuzivikanwa, iyo yakanyorwa mufaira rekumisikidza payakatangwa uye inofanirwa kudyidzana ne Cloud smart home services.
Iyo smart home controller software yakagadziriswa nemunyori wechinyorwa ichi zvichibva pane inoshanda sisitimu Linux Raspbian Stretch. Iyo ine anotevera makuru subsystems:
- server maitiro ekudyidzana neakangwara imba zvishandiso uye gore;
- graphical mushandisi interface yekumisikidza iyo inogadziriswa uye inoshanda paramita yemutongi;
- dhatabhesi yekuchengetedza controller kumisikidza.
Database smart home controller inoitwa zvichibva pane yakamisikidzwa DBMS
Graphical inowanikwa smart home controller yakagadzirwa muPHP 7 uchishandisa microframework
(tinya pamufananidzo kuti uvhure mune yepamusoro resolution)
Basa guru reiyo graphical interface nderekubatanidza smart imba yekushandisa (IP yekutarisa makamera uye sensors) kune controller. Iyo webhu application inoverenga magadzirirwo uye zvazvino mamiriro emutongi nemidziyo yakabatana nayo kubva kuSQLite dhatabhesi. Kuti uchinje gadziriso yekudzora, inotumira mirairo yekutonga muJSON fomati kuburikidza neRESTful API interface ye server process.
Server process
Server process - chikamu chakakosha chinoita basa rese guru pakuita otomatiki maitirwo eruzivo anoumba hwaro hweimba yakangwara: kugamuchira uye kugadzirisa sensory data, kuburitsa zviito zvekutonga zvinoenderana neyakamisikidzwa logic. Chinangwa chesevha maitiro ndechekudyidzana nemidziyo yakangwara yekumba, kuita kugadzirwa kwemitemo inonzwisisika, kugamuchira uye kugadzirisa mirairo kubva kune graphical interface uye gore. Iyo sevha process mune yakangwara imba controller iri kutariswa inoitwa seyakawanda-yakarukwa application yakagadziriswa muC ++ uye yakatangwa sevhisi yakaparadzana. systemd uchishandisa system Linux Raspbian.
Iwo makuru blocks e server process ndeaya:
- Message Manager;
- IP kamera server;
- Z-Wave mudziyo server;
- Server yekugadzira inonzwisisika mitemo;
- Database yekugadziriswa kwemutongi uye block yemitemo inonzwisisika;
- RESTful API server yekudyidzana neiyo graphical interface;
- MQTT mutengi wekudyidzana negore.
Server process block blocks inoshandiswa setambo dzakaparadzana, ruzivo pakati peinotamiswa nenzira yemameseji muJSON fomati (kana zvimiro zvedata zvinomiririra iyi fomati mu process memory).
Chinhu chikuru cheiyo server process ndeye meseji maneja, iyo inofambisa mameseji eJSON kune ese server process block block. Mhando dzeJSON meseji ruzivo ndima uye kukosha kwavanogona kugamuchira zvakanyorwa patafura:
deviceType
Protocol
messageType
deviceState
murayiro
kamera
onvif
sensorData
on
kutenderera (On/Kudzima)
Switch
zwave
murayiro
kure
kurekodha (On/Off)
effector
mqtt
businessLogicRule
kutenderera (On/Kudzima)
evice (Wedzera/Bvisa)
businessLogic
configurationData
kurekodha (On/Off)
MAKARALI USB
deviceState
mhosho
wifi
rf
Semuenzaniso, meseji kubva kune kamera inofamba inoona seizvi:
{
"vendor": "*****",
"version": "3.0.0",
"timestampMs": "1566293475475",
"clientType": "gateway",
"deviceId": "1616453d-30cd-44b7-9bf0-************",
"deviceType": "camera",
"protocol": "onvif",
"messageType": "sensorData",
"sensorType": "camera",
"label": "motionDetector",
"sensorData": "on"
}
Kugadzira pfungwa
Kuti ugamuchire kana kutumira meseji kubva kune dispatcher, iyo server process block inonyorera kune meseji yerumwe rudzi. Kunyoresa mutemo wekugadzira wemhando "Kana ... saka ...", inoratidzwa muJSON fomati, uye chinongedzo kune meseji inobata mukati me server process block. Semuenzaniso, kubvumira iyo IP kamera server kugamuchira mirairo kubva kuGUI uye gore, iwe unofanirwa kuwedzera unotevera mutemo:
{
"if": {
"and": [{
"equal": {
"deviceId": "1616453d-30cd-44b7-9bf0-************"
}
},
{
"equal": {
"messageType": "command"
}
}
]
},
"then": {
"result": "true"
}
}
Kana mamiriro akatsanangurwa mu antecedent (kuruboshwe) mitemo ndeyechokwadi, zvino inogutsikana mhedzisiro (kurudyi) mitemo, uye mubati anowana mukana kune muviri weJSON meseji. Iyo antecedent inotsigira vane musoro vanoshanda vanofananidza JSON kiyi-kukosha pairi:
- yakaenzana "yakaenzana";
- kusaenzana ne "kwete_kuenzana";
- zvishoma "zvishoma";
- zvakawanda "zvikuru";
- zvishoma pane kana kuenzana ne "shoma_kana_kuenzana";
- mukuru pane kana kuenzana ne "greater_or_equal".
Mibairo yekufananidza inogona kuenderana kune imwe neimwe uchishandisa Boolean algebra operators:
- Uye "uye"
- KANA "kana";
- Kwete "kwete".
Saka, nekunyora vashandisi uye operands muchiPolish notation, unogona kugadzira mamiriro akaomarara ane huwandu hukuru hwema paramita.
Chaiyo iyo mameshini, yakavakirwa pamashoko eJSON uye mitemo yekugadzira muJSON fomati, inoshandiswa mukugadzira logic server block kumiririra ruzivo uye kuita chirevo chine musoro uchishandisa sensory data kubva kune smart home sensors.
Uchishandisa nharembozha, mushandisi anogadzira mamiriro ekuti imba yakangwara inofanirwa kushanda sei. Semuyenzaniso: "Kana iyo sensor yekuvhura gonhi repamberi ikamutswa, batidza mwenje mukoridho". Chishandiso chinoverenga zviziviso zvemasensa (sensor yekuvhura) uye actuators (smart socket kana smart lamp) kubva kudhatabhesi uye inogadzira mutemo une musoro muJSON fomati, inotumirwa kune yakangwara imba controller. Iyi nzira ichakurukurwa zvakadzama muchinyorwa chechitatu chenhevedzano yedu, apo isu tichataura nezve mutengi application yekutonga imba yakangwara.
Iyo yekugadzira logic meshini yakakurukurwa pamusoro inoitwa uchishandisa raibhurari
void CRuleEngine::Process(PProperties pFact)
{
m_pActions->clear();
rapidjson::Reader reader;
for(TStringMap::value_type& rRule : m_Rules)
{
std::string sRuleId = rRule.first;
std::string sRuleBody = rRule.second;
CRuleHandler ruleHandler(pFact);
rapidjson::StringStream ruleStream(sRuleBody.c_str());
rapidjson::ParseResult parseResult = reader.Parse(ruleStream, ruleHandler);
if(!parseResult)
{
m_Logger.LogMessage(
NLogger2::ePriorityLevelError,
std::string("JSON parse error"),
"CRuleEngine::Process()",
std::string("RuleId: ") + sRuleId);
}
PProperties pAction = ruleHandler.GetAction();
if(pAction)
{
pAction->Set("ruleId", sRuleId);
m_pActions->push_back(pAction);
}
}
}
zviri pFact - dhizaini ine kiyi-kukosha pairi kubva kune JSON meseji, m_Mitemo - tambo dzakawanda dzemitemo yekugadzira. Kuenzanisa kweshoko rinouya uye mutemo wekugadzira unoitwa mubasa muverengi.Parse(ruleStream, ruleHandler)kupi ruleHandler chinhu chine logic yeBoolean uye comparison operators. sRuleId - yakasarudzika mutemo identifier, nekuda kwazvinogoneka kuchengetedza uye kugadzirisa mitemo mukati meiyo smart home controller dhatabhesi. m_pActions -Rondedzero ine mhedzisiro yezvine musoro inference: JSON meseji ine zvinokonzeresa kubva kune iyo mutemo base uye inotumirwa mberi kune meseji maneja kuitira kuti vanyoreri tambo vagadzirise.
RapidJSON performance inofananidzwa nebasa strlen (), uye iyo shoma system sisitimu zvinodiwa zvinobvumira kushandiswa kweraibhurari iyi mumidziyo yakamisikidzwa. Iko kushandiswa kwemameseji uye inonzwisisika mitemo muJSON fomati inobvumidza iwe kuita inoshanduka sisitimu yekutsinhana ruzivo pakati pezvikamu zvese zveakangwara imba controller.
Z-Wave Sensors uye Actuators
Mukana mukuru weimba yakangwara ndeyekuti inogona kuzvimiririra kuyera akasiyana ma paramita ekunze nharaunda uye kuita mabasa anobatsira zvichienderana nemamiriro ezvinhu. Kuti uite izvi, ma sensors uye actuators akabatana kune yakangwara imba controller. Mune yazvino vhezheni, aya mawireless midziyo inoshanda uchishandisa iyo protocol
Iwe unogona ikozvino kuwana nhamba yakakura kwazvo yeakasiyana Z-Wave zvishandiso pamusika. Ngatitarisei mienzaniso mishoma:
- Zipato PAN16 smart socket inogona kuyera zvinotevera parameters: kushandiswa kwemagetsi (kWh), simba (W), voltage (V) uye ikozvino (A) mumagetsi emagetsi. Iyo ine zvakare yakavakirwa-mukati switch iyo iwe yaunogona kudzora yakabatana magetsi mudziyo;
- Iyo Neo Coolcam leak sensor inoona kuvepo kwemvura yakadeuka nekuvhara mabatiro eiyo kure probe;
- Iyo Zipato PH-PSG01 utsi sensor inokonzeresa kana utsi hwehutsi huchipinda mukamuri yekuongorora gasi;
- Iyo Neo Coolcam inofamba sensor inoongorora iyo infrared radiation yemuviri wemunhu. Pamusoro peiyo kune mwenje sensor (Lx);
- Multisensor Philio PST02-A inoyera tembiricha (Β°C), chiedza (%), kuvhurwa kwegonhi, kuvapo kwemunhu muimba;
- Z-Wave USB Stick ZME E UZB1 network controller, kune ma sensors akabatana.
Izvo zvakakosha kuti zvishandiso uye controller zvishande panguva imwechete, zvikasadaro ivo havazoone mumwe nemumwe panguva yekubatanidza. Kusvikira kumidziyo ye232 inogona kubatanidzwa kune imwe Z-Wave network controller, iyo yakakwana kune imwe imba kana imba yenyika. Kuti uwedzere nzvimbo yekuvhara network mukati, smart socket inogona kushandiswa seinodzokorora chiratidzo.
Mune smart home controller server process yakakurukurwa mundima yapfuura, iyo Z-Wave server ine basa rekudyidzana neZ-Wave zvishandiso. Inoshandisa raibhurari kugamuchira ruzivo kubva kune sensors
{
"vendor": "*****",
"version": "3.0.0",
"timestampMs": "1566479791290",
"clientType": "gateway",
"deviceId": "20873eb0-dd5e-4213-a175-************",
"deviceType": "sensor",
"protocol": "zwave",
"messageType": "sensorData",
"homeId": "0xefa0cfa7",
"nodeId": "20",
"sensorType": "METER",
"label": "Voltage",
"sensorData": "229.3",
"units": "V"
}
Inobva yaendeswa kune server process's meseji maneja kuitira kuti subscriber threads igamuchire. Munyoreri mukuru ndiye yekugadzira logic server, iyo inofanana nemeseji ndima kukosha mune antecedents eiyo logic mitemo. Mhedzisiro yemhedzisiro ine mirairo yekudzora inodzoserwa kumaneja meseji uye kubva ipapo enda kune Z-Wave server, iyo inovasarudza uye inovatumira kune Z-Wave network USB controller. Ipapo vanopinda mu actuator, iyo inoshandura mamiriro ezvinhu ezvakatipoteredza, uye imba yakangwara saka inoita basa rinobatsira.
(tinya pamufananidzo kuti uvhure mune yepamusoro resolution)
Kubatanidza Z-Wave zvishandiso kunoitwa mune graphical interface yeakangwara imba controller. Kuti uite izvi, enda kune peji ine runyorwa rwemidziyo uye tinya bhatani re "Wedzera". Iyo yekuwedzera yekuraira kuburikidza neRESTful API interface inopinda musevha process uye inotumirwa nemeseji maneja kuZ-Wave server, iyo inoisa iyo Z-Wave network USB controller mune yakakosha modhi yekuwedzera zvishandiso. Tevere, paZ-Wave mudziyo unofanirwa kugadzira nhevedzano yekutsikirira nekukurumidza (3 madhindi mukati me1,5 masekonzi) yebhatani rebasa. Iyo USB controller inobatanidza mudziyo kunetiweki uye inotumira ruzivo nezvayo kune Z-Wave server. Izvo, zvakare, zvinogadzira nyowani yekupinda muSQLite dhatabhesi ine ma parameter echishandiso chitsva. Mushure menguva yakatarwa yenguva, iyo graphical interface inodzokera kune Z-Wave mudziyo runyorwa peji, inoverenga ruzivo kubva kudhatabhesi uye inoratidza mudziyo mutsva mune rondedzero. Chishandiso chega chega chinogashira chiziviso chayo chakasarudzika, chinoshandiswa mumitemo yekufungidzira yekugadzira uye kana uchishanda mugore. Kushanda kweiyi algorithm kunoratidzwa mumufananidzo weUML:
(tinya pamufananidzo kuti uvhure mune yepamusoro resolution)
Kubatanidza IP kamera
Iyo cloud smart home system inokurukurwa muchinyorwa ichi kusimudzira kweiyo cloud video surveillance system, yakagadziridzwawo nemunyori, yanga iri pamusika kwemakore akati wandei uye ine akawanda ekuisa muRussia.
Kune Cloud vhidhiyo yekutarisa masisitimu, rimwe rematambudziko akanyanya isarudzo shoma yemidziyo iyo kubatanidzwa kunogona kuitwa. Iyo software inosungirwa yekubatanidza kune gore inoiswa mukati mevhidhiyo kamera, iyo pakarepo inoisa zvakakomba zvinodikanwa pane yayo Hardware - processor uye huwandu hwemahara memory. Izvi zvinonyanya kutsanangura mutengo wepamusoro wegore CCTV kamera zvichienzaniswa neakajairika IP kamera. Uye zvakare, nhanho yakareba yenhaurirano nemakambani ekugadzira kamera eCCTV inodiwa kuti uwane mukana kune kamera faira system uye ese anodiwa ekuvandudza maturusi.
Kune rimwe divi, ese emazuva ano IP makamera ane akajairwa mapuroteni ekudyidzana nemimwe michina (kunyanya, vhidhiyo rekodha). Saka, kushandiswa kwemutongi akaparadzana anobatanidza kuburikidza neyakajairwa protocol uye anotepfenyura vhidhiyo hova kubva kuIP makamera kune gore kunopa zvakakosha zvemakwikwi mabhenefiti eiyo cloud video surveillance systems. Uyezve, kana mutengi akatoisa vhidhiyo yekutarisa sisitimu yakavakirwa pane yakapfava IP makamera, zvino zvinoita kuti iwedzere uye nekuishandura kuita yakazara-yakazara gore smart imba.
Iyo inonyanya kufarirwa protocol yeIP vhidhiyo yekutarisa masisitimu, ikozvino inotsigirwa nevose IP kamera vagadziri pasina kusarudzika, ndeye
$ wsdl2h -o onvif.h
https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl
https://www.onvif.org/ver10/events/wsdl/event.wsdl
https://www.onvif.org/ver10/media/wsdl/media.wsdl
https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl
$ soapcpp2 -Cwvbj -c++11 -d cpp_files/onvif -i onvif.h
Nekuda kweizvozvo, tinowana seti yemusoro "*.h" uye tinobva "* .cpp" mafaera muC ++, iyo inogona kuiswa zvakananga muchirongwa kana muraibhurari yakaparadzana uye inounganidzwa uchishandisa GCC compiler. Nekuda kwemabasa mazhinji, iyo kodhi yakakura uye inoda kuwedzera optimization. Iyo Raspberry Pi 3 modhi B+ microcomputer ine mashandiro akakwana kuita iyi kodhi, asi kana paine chikonzero chekuendesa kodhi kune imwe chikuva, zvinodikanwa kusarudza iyo chaiyo processor dhizaini uye system zviwanikwa.
IP makamera anotsigira iyo ONVIF chiyero, kana ichishanda pane yemuno network, yakabatana kune yakakosha multicast boka ine kero. 239.255.255.250. Pane protocol
Iyo graphical interface yeakangwara imba controller inoshandisa basa rekutsvaga IP makamera muPHP, iri nyore kwazvo kana uchifambidzana newebhu masevhisi kuburikidza neXML mameseji. Pakusarudza menyu zvinhu Zvishandiso> IP Kamera> Kuongorora Iyo algorithm yekutsvaga IP kamera inotangwa, ichiratidza mhedzisiro muchimiro chetafura:
(tinya pamufananidzo kuti uvhure mune yepamusoro resolution)
Paunowedzera kamera kune controller, unogona kutsanangura marongero maererano nezvaachaita negore. Zvakare panguva ino, inopihwa otomatiki yakasarudzika mudziyo identifier, iyo inogona gare gare kuzivikanwa zviri nyore mukati megore.
Tevere, meseji inogadzirwa muJSON fomati ine ese maparamendi eiyo kamera yakawedzerwa uye inotumirwa kune server maitiro eiyo smart home controller kuburikidza neRESTful API command, uko maparamita ekhamera anotemwa uye anochengetwa mudura remukati reSQLite, uye ari yakashandiswawo kuburitsa tambo dzinotevera dzekugadzirisa:
- kumisikidza RTSP yekubatanidza kugamuchira vhidhiyo uye odhiyo hova;
- transcoding audio kubva kuG.711 mu-Law, G.711 A-Law, G.723, nezvimwewo. kuAAC fomati;
- transcoding video streams muH.264 format uye audio muAAC format mumudziyo weFLV uye kuitumira kune gore kuburikidza neRTMP protocol;
- kumisikidza chinongedzo nemagumo eiyo IP kamera motion detector kuburikidza neONVIF protocol uye nguva nenguva kuivhota;
- nguva nenguva uchigadzira chifananidzo chekutarisa uye kuchitumira kune gore kuburikidza neMQTT protocol;
- kurekodha kwemunharaunda kwevhidhiyo uye maodhiyo enziyo nenzira yemafaira akaparadzana muMP4 fomati pane SD kana Flash kadhi yeakangwara imba controller.
Kumisikidza chinongedzo nemakamera, transcode, gadzira uye kurekodha vhidhiyo hova mune server maitiro, mabasa kubva kuraibhurari anoshandiswa.
Muyedzo yekuyedza kuita, matatu makamera akabatana kune controller:
- HiWatch DS-I114W (resolution - 720p, compression format - H.264, bitrate - 1 Mb / s, inzwi G.711 mu-Law);
- Microdigital MDC-M6290FTD-1 (resolution - 1080p, compression format - H.264, bitrate - 1 Mb / s, hapana inzwi);
- Dahua DH-IPC-HDW4231EMP-AS-0360B (resolution - 1080p, compression format - H.264, bitrate - 1.5 Mb/s, AAC audio).
Hova nhatu dzese dzakaburitswa mugore, odhiyo transcoding yakaitwa kubva kune imwe chete kamera, uye kurekodha kwenzvimbo kwakavharwa. CPU mutoro waisvika 5%, RAM kushandiswa kwaive 32 MB (per process), 56 MB (yakazara kusanganisira OS).
Saka, angangoita 20 - 30 makamera anogona kubatanidzwa kune yakangwara imba controller (zvichienderana nekugadzirisa uye bitrate), iyo inokwana yevhidhiyo yekuongorora system yeimba ine nhurikidzwa nhatu kana imba yekuchengetera diki. Kune mabasa anoda kuita kukuru, unogona kushandisa nettop ine multi-core Intel processor uye Linux Debian Sarge OS. Iyo controller parizvino iri kuita kuyedza kushanda, uye data pakuita kwayo ichagadziridzwa.
Kudyidzana negore
Iyo yegore-yakavakirwa smart imba inochengeta data remushandisi (vhidhiyo uye sensor zviyero) mugore. Iyo dhizaini yekuchengetedza gore ichakurukurwa zvakadzama mune inotevera chinyorwa mune yedu nhevedzano. Zvino ngatitaure nezve iyo interface yekutumira ruzivo ruzivo kubva kune yakangwara imba controller kusvika kune gore.
Iwo matunhu emidziyo yakabatana uye zviyero zve sensor zvinofambiswa kuburikidza neprotocol
- QoS 0 - yakawanda kamwe (hapana vimbiso yekuendesa);
- QoS 1 - kanenge kamwe (nekusimbisa kwekutumira);
- QoS 2 - chaizvo kamwe chete (pamwe nekuwedzera kuburitsa kusimbiswa).
Muchiitiko chedu, tinoshandisa
Kufambisa mameseji nezve chimiro cheyakangwara imba controller, iyo meseji yakachengetwa inoshandiswa
Mutengi weMQTT akagadzirwa zvichibva pakuita raibhurari
H.264 + AAC media streams inotumirwa kugore kuburikidza neRTMP protocol, uko boka remaseva emedia rine basa rekugadzirisa nekuzvichengeta. Kunyatso kugovera mutoro musumbu uye sarudza isinganyanyi kurodha midhiya server, iyo yakangwara imba controller inoita chikumbiro chekutanga kune gore rekutakura balancer uye chete mushure mezvo zvinotumira media stream.
mhedziso
Chinyorwa ichi chakaongorora imwe chaiyo yekuitwa kweakangwara imba controller yakavakirwa paRaspberry Pi 3 B + microcomputer, iyo inogona kugamuchira, kugadzirisa ruzivo uye kutonga michina kuburikidza neZ-Wave protocol, kupindirana neIP kamera kuburikidza neONVIF protocol, uye zvakare kuchinjanisa data uye inoraira negore, sevhisi kuburikidza neMQTT uye RTMP maprotocol. Injini yekugadzira yekugadzira yakagadziridzwa zvichibva pakuenzaniswa kwemitemo ine musoro uye chokwadi chinoratidzwa muJSON fomati.
Iyo yakangwara imba controller parizvino iri kuita kutongwa kunzvimbo dzinoverengeka muMoscow uye mudunhu reMoscow.
Iyo inotevera vhezheni yemutongi inoronga kubatanidza mamwe marudzi emidziyo (RF, Bluetooth, WiFi, wired). Kuti zvive nyore kwevashandisi, maitiro ekubatanidza masensa uye IP makamera anozoendeswa kune nharembozha. Kune zvakare mazano ekugadzirisa iyo server process kodhi uye kuendesa software kune inoshanda sisitimu
Source: www.habr.com