Illum, grazzi għall-iżvilupp mgħaġġel tal-mikroelettronika, il-kanali tal-komunikazzjoni, it-teknoloġiji tal-Internet u l-Intelliġenza Artifiċjali, is-suġġett tad-djar intelliġenti qed isir aktar u aktar rilevanti. L-akkomodazzjoni tal-bniedem għaddiet minn bidliet sinifikanti mill-Età tal-Ġebel u fl-era tar-Rivoluzzjoni Industrijali 4.0 u l-Internet tal-Oġġetti, saret komda, funzjonali u sigura. Qed jidħlu fis-suq soluzzjonijiet li jbiddlu appartament jew dar tal-pajjiż f’sistemi ta’ informazzjoni kumplessi kkontrollati minn kullimkien fid-dinja bl-użu ta’ smartphone. Barra minn hekk, l-interazzjoni bejn il-bniedem u l-magna m'għadhiex teħtieġ għarfien tal-lingwi tal-ipprogrammar - grazzi għar-rikonoxximent tad-diskors u algoritmi ta 'sinteżi, persuna titkellem ma' dar intelliġenti fil-lingwa nattiva tagħha.
Xi sistemi tad-dar intelliġenti bħalissa fis-suq huma żvilupp loġiku ta 'sistemi ta' sorveljanza bil-vidjo tas-sħab, li l-iżviluppaturi tagħhom indunaw il-ħtieġa għal soluzzjoni komprensiva mhux biss għall-monitoraġġ, iżda wkoll għall-ġestjoni ta 'oġġetti remoti.
Aħna nippreżentaw għall-attenzjoni tiegħek serje ta 'tliet artikoli, li jgħidulek dwar il-komponenti ewlenin kollha ta' sistema ta 'dar intelliġenti sħaba, żviluppata personalment mill-awtur u mħaddma. L-ewwel artikolu huwa ddedikat għat-tagħmir tal-klijent terminali installat ġewwa dar intelliġenti, it-tieni għall-arkitettura tas-sistema tal-ħażna u l-ipproċessar tad-dejta tas-sħab, u finalment, it-tielet għall-applikazzjoni tal-klijent għall-ġestjoni tas-sistema fuq apparat mobbli u stazzjonarju.
Tagħmir tad-dar intelliġenti
L-ewwel, ejja nitkellmu dwar kif tagħmel dar intelliġenti minn appartament ordinarju, dacha jew cottage. Biex tagħmel dan, bħala regola, huwa meħtieġ li t-tagħmir li ġej jitqiegħed fid-dar:
- sensuri li jkejlu diversi parametri ambjentali;
- Attwaturi li jaġixxu fuq oġġetti esterni;
- kontrollur li jwettaq kalkoli skont il-kejl tas-sensuri u l-loġika inkorporata, u joħroġ kmandi lill-attwaturi.
Il-figura li ġejja turi dijagramma ta 'dar intelliġenti, li fuqha hemm sensuri għal tnixxija ta' ilma (1) fil-kamra tal-banju, temperatura (2) u dawl (3) fil-kamra tas-sodda, socket intelliġenti (4) fil-kċina u kamera tas-sorveljanza bil-vidjo (5) fil-hallway.
Bħalissa, sensuri bla fili li joperaw bl-użu tal-protokolli RF433, Z-Wave, ZigBee, Bluetooth u WiFi jintużaw ħafna. Il-vantaġġi ewlenin tagħhom huma l-faċilità ta 'installazzjoni u użu, kif ukoll spiża baxxa u affidabbiltà, minħabba li Il-manifatturi qed jistinkaw biex iġibu l-apparati tagħhom fis-suq tal-massa u jagħmluhom aċċessibbli għall-utent medju.
Sensuri u attwaturi, bħala regola, huma konnessi permezz ta 'interface mingħajr fili ma' kontrollur tad-dar intelliġenti (6) - mikrokompjuter speċjalizzat li jgħaqqad dawn l-apparati kollha f'netwerk wieħed u jikkontrollahom.
Madankollu, xi soluzzjonijiet jistgħu jgħaqqdu sensor, attwatur u kontrollur fl-istess ħin. Pereżempju, plagg intelliġenti jista 'jiġi pprogrammat biex jinxtegħel jew jitfi skond skeda, u kamera ta' sorveljanza bil-vidjo tas-sħaba tista 'tirreġistra vidjow ibbażat fuq sinjal ta' rilevatur tal-moviment. Fl-aktar każijiet sempliċi, tista 'tagħmel mingħajr kontrollur separat, iżda biex toħloq sistema flessibbli b'ħafna xenarji, huwa meħtieġ.
Biex tgħaqqad il-kontrollur tad-dar intelliġenti man-netwerk globali, jista 'jintuża router tal-Internet regolari (7), li ilu jsir apparat domestiku komuni fi kwalunkwe dar. Hawnhekk hemm argument ieħor favur kontrollur tad-dar intelliġenti - jekk tintilef il-konnessjoni mal-Internet, id-dar intelliġenti se tkompli topera b'mod normali grazzi għall-blokka loġika maħżuna ġewwa l-kontrollur, u mhux fis-servizz tal-cloud.
Kontrollur tad-dar intelliġenti
Il-kontrollur għas-sistema tad-dar intelliġenti sħaba diskussa f'dan l-artikolu huwa żviluppat ibbażat fuq mikrokompjuter b'bord wieħed
L-immuntar tal-kontrollur huwa sempliċi ħafna - il-mikrokompjuter (1) huwa installat f'kaxxa tal-plastik (2), imbagħad karta tal-memorja ta '8 GB f'format microSD b'softwer (3) u kontrollur tan-netwerk USB Z-Wave (4) huma installati f' is-slots korrispondenti. Il-kontrollur tad-dar intelliġenti huwa konness mal-provvista tal-enerġija permezz ta 'adapter tal-enerġija 5V, 2.1A (5) u USB - kejbil mikro-USB (6). Kull kontrollur għandu numru ta 'identifikazzjoni uniku, li huwa miktub fil-fajl tal-konfigurazzjoni meta jitnieda l-ewwel darba u huwa meħtieġ biex jinteraġixxi mas-servizzi tad-dar intelliġenti tas-sħab.
Is-softwer tal-kontrollur tad-dar intelliġenti ġie żviluppat mill-awtur ta 'dan l-artikolu bbażat fuq is-sistema operattiva Linux Raspbian Stretch. Tikkonsisti fis-sottosistemi ewlenin li ġejjin:
- proċess ta 'server għall-interazzjoni ma' tagħmir tad-dar intelliġenti u l-cloud;
- interface tal-utent grafiku għall-issettjar tal-konfigurazzjoni u l-parametri operattivi tal-kontrollur;
- database għall-ħażna tal-konfigurazzjoni tal-kontrollur.
Database kontrollur tad-dar intelliġenti huwa implimentat ibbażat fuq DBMS inkorporat
Interfaċċja grafika kontrollur tad-dar intelliġenti żviluppat f'PHP 7 bl-użu ta 'microframework
(ikklikkja fuq l-istampa biex tiftaħha b'riżoluzzjoni ogħla)
Il-funzjoni ewlenija tal-interface grafika hija li tikkonnettja tagħmir tad-dar intelliġenti (kameras ta 'sorveljanza IP u sensuri) mal-kontrollur. L-applikazzjoni tal-web taqra l-konfigurazzjoni u l-istat attwali tal-kontrollur u l-apparati konnessi miegħu mid-database SQLite. Biex tibdel il-konfigurazzjoni tal-kontrollur, tibgħat kmandi ta 'kontroll f'format JSON permezz tal-interface API RESTful tal-proċess tas-server.
Proċess tas-server
Proċess tas-server - komponent ewlieni li jwettaq ix-xogħol ewlieni kollu dwar l-awtomatizzazzjoni tal-proċessi ta 'informazzjoni li jiffurmaw il-bażi ta' dar intelliġenti: jirċievi u jipproċessa data sensorja, joħroġ azzjonijiet ta 'kontroll skont il-loġika inkorporata. L-għan tal-proċess tas-server huwa li jinteraġixxi ma 'tagħmir tad-dar intelliġenti, tesegwixxi regoli loġiċi ta' produzzjoni, tirċievi u tipproċessa kmandi mill-interface grafika u l-cloud. Il-proċess tas-server fil-kontrollur tad-dar intelliġenti li qed jiġi kkunsidrat huwa implimentat bħala applikazzjoni b'ħafna ħajt żviluppata f'C++ u mnedija bħala servizz separat systemd sistema operattiva Linux Raspbian.
Il-blokki ewlenin tal-proċess tas-server huma:
- Maniġer tal-Messaġġ;
- Server tal-kamera IP;
- Server tat-tagħmir Z-Wave;
- Server ta' regoli loġiċi ta' produzzjoni;
- Database tal-konfigurazzjoni tal-kontrollur u blokk tar-regoli loġiċi;
- Server API RESTful għall-interazzjoni mal-interface grafika;
- Klijent MQTT għall-interazzjoni mal-cloud.
Il-blokok tal-proċess tas-server huma implimentati bħala ħjut separati, li l-informazzjoni bejniethom tiġi trasferita fil-forma ta 'messaġġi fil-format JSON (jew strutturi tad-dejta li jirrappreżentaw dan il-format fil-memorja tal-proċess).
Il-komponent ewlieni tal-proċess tas-server huwa maniġer tal-messaġġi, li jmur messaġġi JSON lejn il-blokki kollha tal-proċess tas-server. It-tipi ta’ oqsma ta’ informazzjoni tal-messaġġi JSON u l-valuri li jistgħu jaċċettaw huma elenkati fit-tabella:
deviceType
protokoll
MessageType
deviceState
kmand
kamera
onvif
sensorData
on
streaming (Mixgħel/Mitfi)
senser
zwave
kmand
off
reġistrazzjoni (Mixgħul/Mitfi)
effettur
mqtt
businessLogicRule
streaming (Mixgħel/Mitfi)
apparat (Żid/Neħħi)
businessLogic
configurationData
reġistrazzjoni (Mixgħul/Mitfi)
Bluetooth
deviceState
żball
Wifi
rf
Pereżempju, messaġġ minn kamera motion detector jidher bħal dan:
{
"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"
}
Loġika tal-produzzjoni
Biex tirċievi jew tibgħat messaġġ mid-dispatcher, il-blokk tal-proċess tas-server jissottoskrivi għal messaġġi ta 'ċertu tip. L-abbonament huwa regola loġika tal-produzzjoni tat-tip “Jekk... allura...”, ippreżentat f'format JSON, u link għall-immaniġġjar tal-messaġġi ġewwa l-blokk tal-proċess tas-server. Pereżempju, biex tippermetti lis-server tal-kamera IP jirċievi kmandi mill-GUI u mill-sħaba, trid iżżid ir-regola li ġejja:
{
"if": {
"and": [{
"equal": {
"deviceId": "1616453d-30cd-44b7-9bf0-************"
}
},
{
"equal": {
"messageType": "command"
}
}
]
},
"then": {
"result": "true"
}
}
Jekk il-kundizzjonijiet speċifikati fi preċedent (naħa tax-xellug) ir-regoli huma veri, allura huwa sodisfatt konsegwenti (in-naħa tal-lemin), u l-handler ikollu aċċess għall-korp tal-messaġġ JSON. L-anteċedent jappoġġja operaturi loġiċi li jqabblu pari ta’ valuri-ċavetta JSON:
- ugwali "ugwali";
- mhux ugwali għal "mhux_ugwali";
- inqas "inqas";
- aktar "akbar";
- inqas minn jew ugwali għal "less_or_equal";
- akbar minn jew ugwali għal "greater_or_equal".
Ir-riżultati tat-tqabbil jistgħu jkunu relatati ma' xulxin bl-użu ta' operaturi tal-alġebra Boolean:
- U "u"
- JEW "jew";
- MHUX "le".
Għalhekk, billi tikteb operaturi u operandi f'notazzjoni Pollakka, tista 'toħloq kundizzjonijiet pjuttost kumplessi b'numru kbir ta' parametri.
Eżattament l-istess mekkaniżmu, ibbażat fuq messaġġi JSON u regoli ta 'produzzjoni f'format JSON, jintuża fil-blokk tas-server tal-loġika tal-produzzjoni biex jirrappreżenta l-għarfien u jwettaq inferenza loġika bl-użu ta' data sensorja minn sensuri tad-dar intelliġenti.
Bl-użu ta 'applikazzjoni mobbli, l-utent joħloq xenarji li skonthom id-dar intelliġenti għandha tiffunzjona. Pereżempju: "Jekk is-sensor għall-ftuħ tal-bieb ta 'quddiem jinxtegħel, imbagħad ixgħel id-dawl fil-hallway". L-applikazzjoni taqra l-identifikaturi tas-sensuri (sensor tal-ftuħ) u attwaturi (sokit intelliġenti jew fanal intelliġenti) mid-database u tiġġenera regola loġika f'format JSON, li tintbagħat lill-kontrollur tad-dar intelliġenti. Dan il-mekkaniżmu se jiġi diskuss f'aktar dettall fit-tielet artiklu tas-serje tagħna, fejn se nitkellmu dwar l-applikazzjoni tal-klijent għall-ġestjoni ta 'dar intelliġenti.
Il-mekkaniżmu tal-loġika tal-produzzjoni diskuss hawn fuq huwa implimentat bl-użu tal-librerija
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);
}
}
}
Hawnhekk pFact — struttura li fiha pari ta’ valuri ewlenin minn messaġġ JSON, m_Regoli — firxa ta' strings ta' regoli ta' produzzjoni. It-tqabbil tal-messaġġ li jkun dieħel u r-regola tal-produzzjoni jitwettaq fil-funzjoni reader.Parse(ruleStream, ruleHandler)fejn ruleHandler huwa oġġett li fih il-loġika ta' operaturi Boolean u ta' tqabbil. sRuleId — identifikatur tar-regoli uniku, li bis-saħħa tiegħu huwa possibbli li jinħażnu u jeditjaw regoli ġewwa d-database tal-kontrollur tad-dar intelliġenti. m_pActions — firxa bir-riżultati tal-inferenza loġika: messaġġi JSON li fihom konsegwenzi mill-bażi tar-regoli u mibgħuta aktar lill-maniġer tal-messaġġi sabiex il-fili tal-abbonati jkunu jistgħu jipproċessawhom.
Il-prestazzjoni RapidJSON hija komparabbli mal-funzjoni strlen(), u r-rekwiżiti minimi tar-riżorsi tas-sistema jippermettu l-użu ta 'din il-librerija f'apparati inkorporati. L-użu ta 'messaġġi u regoli loġiċi fil-format JSON jippermettilek li timplimenta sistema flessibbli ta' skambju ta 'informazzjoni bejn il-komponenti kollha tal-kontrollur tad-dar intelliġenti.
Sensuri u Attwaturi Z-Wave
Il-vantaġġ ewlieni ta 'dar intelliġenti huwa li tista' tkejjel b'mod indipendenti diversi parametri tal-ambjent estern u twettaq funzjonijiet utli skont is-sitwazzjoni. Biex tagħmel dan, sensuri u attwaturi huma konnessi mal-kontrollur tad-dar intelliġenti. Fil-verżjoni attwali, dawn huma apparati mingħajr fili li joperaw bl-użu tal-protokoll
Issa tista 'ssib numru pjuttost kbir ta' apparati Z-Wave differenti fis-suq. Ejja nagħtu ħarsa lejn ftit eżempji:
- Is-sokit intelliġenti Zipato PAN16 jista 'jkejjel il-parametri li ġejjin: konsum tal-elettriku (kWh), enerġija (W), vultaġġ (V) u kurrent (A) fin-netwerk elettriku. Għandu wkoll swiċċ mibni li bih tista 'tikkontrolla l-apparat elettriku konness;
- Is-sensor tat-tnixxija Neo Coolcam jiskopri l-preżenza ta 'likwidu mxerred billi jagħlaq il-kuntatti tas-sonda remota;
- Is-sensorju tad-duħħan Zipato PH-PSG01 jiġi attivat meta partiċelli tad-duħħan jidħlu fil-kamra tal-analizzatur tal-gass;
- Is-sensorju tal-moviment Neo Coolcam janalizza r-radjazzjoni infra-aħmar tal-ġisem tal-bniedem. Barra minn hekk hemm sensor tad-dawl (Lx);
- Multisensor Philio PST02-A jkejjel it-temperatura (°C), id-dawl (%), il-ftuħ tal-bieb, il-preżenza ta 'persuna fil-kamra;
- Kontrollur tan-netwerk Z-Wave USB Stick ZME E UZB1, li miegħu huma konnessi s-sensuri.
Huwa importanti ħafna li l-apparati u l-kontrollur joperaw bl-istess frekwenza, inkella sempliċement ma jarawx lil xulxin fil-mument tal-konnessjoni. Sa 232 apparat jista 'jiġi konness ma' kontrollur wieħed tan-netwerk Z-Wave, li huwa pjuttost biżżejjed għal appartament jew dar tal-pajjiż. Biex tespandi ż-żona tal-kopertura tan-netwerk ġewwa, sokit intelliġenti jista 'jintuża bħala ripetitur tas-sinjal.
Fil-proċess tas-server tal-kontrollur tad-dar intelliġenti diskuss fil-paragrafu preċedenti, is-server Z-Wave huwa responsabbli għall-interazzjoni ma 'apparati Z-Wave. Juża librerija biex jirċievi informazzjoni minn sensuri
{
"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"
}
Imbagħad jintbagħat lill-maniġer tal-messaġġi tal-proċess tas-server sabiex il-ħjut tal-abbonat ikunu jistgħu jirċievuh. L-abbonat ewlieni huwa s-server tal-loġika tal-produzzjoni, li jaqbel mal-valuri tal-kamp tal-messaġġi fl-anteċedenti tar-regoli tal-loġika. Ir-riżultati tal-inferenza li fihom il-kmandi tal-kontroll jintbagħtu lura lill-maniġer tal-messaġġi u minn hemm imorru għas-server Z-Wave, li jiddekowdjahom u jibgħathom lill-kontrollur USB tan-netwerk Z-Wave. Imbagħad jidħlu fl-attwatur, li jibdel l-istat ta 'oġġetti ambjentali, u d-dar intelliġenti b'hekk twettaq xogħol utli.
(ikklikkja fuq l-istampa biex tiftaħha b'riżoluzzjoni ogħla)
Il-konnessjoni ta 'tagħmir Z-Wave isir fl-interface grafika tal-kontrollur tad-dar intelliġenti. Biex tagħmel dan, mur fil-paġna b'lista ta 'apparati u kklikkja l-buttuna "Żid". Il-kmand żid permezz tal-interface tal-API RESTful jidħol fil-proċess tas-server u mbagħad jintbagħat mill-maniġer tal-messaġġi lis-server Z-Wave, li jpoġġi l-kontrollur USB tan-netwerk Z-Wave f'mod speċjali għaż-żieda ta 'apparati. Sussegwentement, fuq l-apparat Z-Wave għandek bżonn tagħmel serje ta 'presses malajr (3 presses fi żmien 1,5 sekondi) tal-buttuna tas-servizz. Il-kontrollur USB jgħaqqad l-apparat man-netwerk u jibgħat informazzjoni dwaru lis-server Z-Wave. Dan, imbagħad, joħloq dħul ġdid fid-database SQLite bil-parametri tal-apparat il-ġdid. Wara intervall ta 'żmien speċifikat, l-interface grafika terġa' lura għall-paġna tal-lista tal-apparat Z-Wave, jaqra informazzjoni mid-database u turi l-apparat il-ġdid fil-lista. Kull apparat jirċievi l-identifikatur uniku tiegħu stess, li jintuża fir-regoli tal-inferenza tal-produzzjoni u meta jaħdem fil-cloud. It-tħaddim ta' dan l-algoritmu jidher fid-dijagramma UML:
(ikklikkja fuq l-istampa biex tiftaħha b'riżoluzzjoni ogħla)
Konnessjoni tal-kameras IP
Is-sistema tad-dar intelliġenti tas-sħab diskussa f'dan l-artikolu hija aġġornament tas-sistema ta 'sorveljanza bil-vidjo tas-sħab, żviluppata wkoll mill-awtur, li ilha fis-suq għal bosta snin u għandha ħafna installazzjonijiet fir-Russja.
Għal sistemi ta 'sorveljanza bil-vidjo tas-sħab, waħda mill-problemi akuti hija l-għażla limitata ta' tagħmir li bih tista 'titwettaq l-integrazzjoni. Is-softwer responsabbli għall-konnessjoni mal-sħab huwa installat ġewwa l-kamera tal-vidjo, li immedjatament tpoġġi talbiet serji fuq il-ħardwer tagħha - il-proċessur u l-ammont ta 'memorja ħielsa. Dan jispjega prinċipalment il-prezz ogħla tal-kameras CCTV tas-sħab meta mqabbla ma 'kameras IP regolari. Barra minn hekk, huwa meħtieġ stadju twil ta 'negozjati ma' kumpaniji tal-manifattura tal-kameras CCTV biex jinkiseb aċċess għas-sistema tal-fajl tal-kameras u l-għodod ta 'żvilupp kollha meħtieġa.
Min-naħa l-oħra, il-kameras IP moderni kollha għandhom protokolli standard għall-interazzjoni ma 'tagħmir ieħor (b'mod partikolari, video recorders). Għalhekk, l-użu ta 'kontrollur separat li jgħaqqad permezz ta' protokoll standard u jxandar streams tal-vidjo mill-kameras IP għas-sħaba jipprovdi vantaġġi kompetittivi sinifikanti għas-sistemi ta 'sorveljanza bil-vidjo tas-sħab. Barra minn hekk, jekk il-klijent diġà installat sistema ta 'sorveljanza bil-vidjo bbażata fuq kameras IP sempliċi, allura jsir possibbli li tespandiha u tinbidel f'dar intelliġenti sħaba sħiħa.
L-aktar protokoll popolari għal sistemi ta 'sorveljanza bil-vidjo IP, issa appoġġjat mill-manifatturi kollha tal-kameras IP mingħajr eċċezzjoni, huwa
$ 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
Bħala riżultat, aħna jkollna sett ta 'header "*.h" u sors "*.cpp" fajls f'C++, li jistgħu jitqiegħdu direttament f'applikazzjoni jew librerija separata u kkompilati bl-użu tal-kompilatur GCC. Minħabba l-ħafna funzjonijiet, il-kodiċi huwa kbir u jeħtieġ ottimizzazzjoni addizzjonali. Il-mikrokompjuter tal-mudell B + Raspberry Pi 3 għandu prestazzjoni suffiċjenti biex jesegwixxi dan il-kodiċi, iżda jekk ikun hemm bżonn li l-kodiċi jiġi portat għal pjattaforma oħra, huwa meħtieġ li tagħżel l-arkitettura tal-proċessur korretta u r-riżorsi tas-sistema.
Kameras IP li jappoġġjaw l-istandard ONVIF, meta joperaw fuq netwerk lokali, huma konnessi ma 'grupp multicast speċjali bl-indirizz 239.255.255.250. Hemm protokoll
L-interface grafika tal-kontrollur tad-dar intelliġenti timplimenta funzjoni ta 'tfittxija għall-kameras IP f'PHP, li hija konvenjenti ħafna meta jinteraġixxu ma' servizzi tal-web permezz ta 'messaġġi XML. Meta tagħżel oġġetti tal-menu Apparati > Kameras IP > Skennjar L-algoritmu għat-tiftix għal kameras IP huwa mniedi, li juri r-riżultat fil-forma ta 'tabella:
(ikklikkja fuq l-istampa biex tiftaħha b'riżoluzzjoni ogħla)
Meta żżid kamera mal-kontrollur, tista 'tispeċifika s-settings skont liema se jinteraġixxi mal-sħaba. F'dan l-istadju wkoll, huwa awtomatikament assenjat identifikatur ta 'apparat uniku, li permezz tiegħu jista' aktar tard jiġi identifikat faċilment fi ħdan il-cloud.
Sussegwentement, jiġi ġġenerat messaġġ f'format JSON li fih il-parametri kollha tal-kamera miżjuda u mibgħut lill-proċess tas-server tal-kontrollur tad-dar intelliġenti permezz tal-kmand API RESTful, fejn il-parametri tal-kamera huma dekodifikati u ssejvjati fid-database interna SQLite, u huma użat ukoll biex iniedi l-ħjut tal-ipproċessar li ġejjin:
- l-istabbiliment ta' konnessjoni RTSP biex tirċievi flussi ta' vidjo u awdjo;
- transcoding awdjo minn G.711 mu-Liġi, G.711 A-Liġi, G.723, eċċ formati. għall-format AAC;
- transkodifikazzjoni ta' streams tal-vidjo f'format H.264 u awdjo f'format AAC f'kontenitur FLV u jittrasmettih lill-cloud permezz tal-protokoll RTMP;
- l-istabbiliment ta' konnessjoni mal-endpoint tad-ditekter tal-moviment tal-kamera IP permezz tal-protokoll ONVIF u perjodikament stħarriġ tiegħu;
- perjodikament tiġġenera immaġni ta 'previżjoni ta' thumbnail u tibgħatha lill-cloud permezz tal-protokoll MQTT;
- reġistrazzjoni lokali ta 'flussi tal-vidjo u awdjo fil-forma ta' fajls separati f'format MP4 fuq karta SD jew Flash tal-kontrollur tad-dar intelliġenti.
Biex tiġi stabbilita konnessjoni mal-kameras, tittraskodifika, tipproċessa u tirrekordja flussi tal-vidjow fil-proċess tas-server, jintużaw funzjonijiet mil-librerija
Fl-esperiment tal-ittestjar tal-prestazzjoni, 3 kameras ġew imqabbda mal-kontrollur:
- HiWatch DS-I114W (riżoluzzjoni - 720p, format ta 'kompressjoni - H.264, bitrate - 1 Mb/s, ħoss G.711 mu-Liġi);
- Microdigital MDC-M6290FTD-1 (riżoluzzjoni - 1080p, format ta 'kompressjoni - H.264, bitrate - 1 Mb/s, l-ebda ħoss);
- Dahua DH-IPC-HDW4231EMP-AS-0360B (riżoluzzjoni - 1080p, format ta 'kompressjoni - H.264, bitrate - 1.5 Mb/s, awdjo AAC).
It-tliet flussi ħarġu fl-istess ħin fis-sħaba, it-transcoding tal-awdjo twettqet minn kamera waħda biss, u r-reġistrazzjoni tal-arkivji lokali kienet diżattivata. It-tagħbija tas-CPU kienet ta 'madwar 5%, l-użu ta' RAM kien 32 MB (għal kull proċess), 56 MB (total inkluż OS).
Għalhekk, madwar 20 - 30 kamera jistgħu jiġu konnessi mal-kontrollur tad-dar intelliġenti (skont ir-riżoluzzjoni u l-bitrate), li huwa biżżejjed għal sistema ta 'sorveljanza bil-vidjo għal cottage ta' tliet sulari jew maħżen żgħir. Għal ħidmiet li jeħtieġu prestazzjoni akbar, tista 'tuża nettop b'proċessur Intel multi-core u Linux Debian Sarge OS. Il-kontrollur bħalissa għaddej minn operazzjoni ta' prova, u d-dejta dwar il-prestazzjoni tiegħu se tiġi aġġornata.
Interazzjoni mal-sħaba
Dar intelliġenti bbażata fuq is-sħab taħżen id-dejta tal-utent (kejl tal-vidjow u tas-sensuri) fil-cloud. L-arkitettura tal-ħażna tas-sħab se tiġi diskussa f'aktar dettall fl-artiklu li jmiss fis-serje tagħna. Issa ejja nitkellmu dwar l-interface għat-trażmissjoni ta 'messaġġi ta' informazzjoni mill-kontrollur tad-dar intelliġenti għall-sħaba.
L-istati tal-apparati konnessi u l-kejl tas-sensuri huma trażmessi permezz tal-protokoll
- QoS 0 - massimu ta' darba (l-ebda garanzija ta' kunsinna);
- QoS 1 - mill-inqas darba (b'konferma tal-kunsinna);
- QoS 2 - eżattament darba (b'konferma addizzjonali tal-kunsinna).
Fil-każ tagħna, nużaw
Biex tittrasmetti messaġġi dwar l-istatus tal-kontrollur tad-dar intelliġenti, jintuża l-mekkaniżmu ta 'messaġġi ffrankati
Il-klijent MQTT ġie żviluppat ibbażat fuq l-implimentazzjoni tal-librerija
Il-flussi tal-midja H.264 + AAC jintbagħtu lill-cloud permezz tal-protokoll RTMP, fejn grupp ta 'servers tal-midja huwa responsabbli għall-ipproċessar u l-ħażna tagħhom. Biex tqassam bl-aħjar mod it-tagħbija fil-cluster u tagħżel is-server tal-midja l-inqas mgħobbi, il-kontrollur tad-dar intelliġenti jagħmel talba preliminari lill-balancer tat-tagħbija tas-sħab u biss wara li jibgħat il-fluss tal-midja.
Konklużjoni
L-artikolu eżamina implimentazzjoni speċifika waħda ta 'kontrollur tad-dar intelliġenti bbażat fuq il-mikrokompjuter Raspberry Pi 3 B +, li jista' jirċievi, jipproċessa informazzjoni u tagħmir ta 'kontroll permezz tal-protokoll Z-Wave, jinteraġixxi ma' kameras IP permezz tal-protokoll ONVIF, u wkoll jiskambja data u jikkmanda bil-cloud.servizz permezz ta' protokolli MQTT u RTMP. Ġiet żviluppata magna loġika tal-produzzjoni bbażata fuq paragun tar-regoli loġiċi u l-fatti ppreżentati fil-format JSON.
Il-kontrollur tad-dar intelliġenti bħalissa għaddej minn operazzjoni ta 'prova f'diversi siti f'Moska u fir-reġjun ta' Moska.
Il-verżjoni li jmiss tal-kontrollur tippjana li tikkonnettja tipi oħra ta 'apparat (RF, Bluetooth, WiFi, bil-fili). Għall-konvenjenza tal-utenti, il-proċedura għall-konnessjoni tas-sensuri u l-kameras IP se tiġi trasferita għall-applikazzjoni mobbli. Hemm ukoll ideat għall-ottimizzazzjoni tal-kodiċi tal-proċess tas-server u l-portabbiltà tas-softwer għas-sistema operattiva
Sors: www.habr.com