
Maanta, iyada oo ay ugu wacan tahay horumarka degdega ah ee microelectronics, kanaalada isgaarsiinta, teknoolajiyada internetka iyo sirdoonka macmalka ah, mawduuca guryaha smart ayaa noqda mid aad iyo aad u badan. Guryaha dadku waxay soo mareen isbeddello la taaban karo tan iyo xilligii Dhagaxa iyo xilligii Kacaanka Warshadaha 4.0 iyo Internetka Waxyaabaha, waxay noqdeen kuwo raaxo leh, shaqeynaya oo ammaan ah. Xal ayaa u soo socda suuqa kuwaas oo u rogaya guri dabaq ah ama guri wadan ah nidaamyada macluumaadka adag ee laga xukumo meel kasta oo adduunka ah iyada oo la adeegsanayo taleefanka casriga ah. Waxaa intaa dheer, isdhexgalka bini'aadamka-mashiinka uma baahna aqoonta luqadaha barnaamijyada - Thanks to aqoonsiga hadalka iyo algorithms-ka, qofku wuxuu kula hadlaa guri caqli badan afkiisa hooyo.
Qaar ka mid ah nidaamyada guryaha smart ee hadda suuqa ku jira ayaa ah horumar macquul ah oo ku saabsan nidaamyada ilaalinta fiidiyowga daruuriga ah, horumariyayaashu waxay xaqiiqsadeen baahida loo qabo xal dhamaystiran oo aan ahayn kaliya kormeerka, laakiin sidoo kale maaraynta walxaha fog.
Waxaan u soo bandhigeynaa dareenkaaga taxane ah oo saddex maqaal ah, kaas oo kuu sheegi doona dhammaan qaybaha ugu muhiimsan ee nidaamka guriga smart Cloud, shakhsi ahaan u soo saaray qoraaga oo la hawlgaliyay. Maqaalka kowaad wuxuu u go'an yahay qalabka macmiilka terminal ee lagu rakibay gudaha guri caqli badan, kan labaadna naqshadeynta kaydinta daruuraha iyo nidaamka habaynta xogta, iyo ugu dambeyntii, saddexaad ee codsiga macmiilka ee lagu maareeyo nidaamka mobile iyo qalabka taagan.
Qalabka guriga ee smart
Marka hore, aan ka hadalno sida loo sameeyo guri caqli badan oo ka soo baxa guri caadi ah, dacha ama cariish. Si arrintan loo sameeyo, sida caadiga ah, waxaa lagama maarmaan ah in la dhigo qalabka soo socda ee guriga:
- dareemayaasha cabbiraya cabbirrada deegaanka ee kala duwan;
- firfircoonayaasha ku shaqeeya walxaha dibadda;
- kantaroole u sameeya xisaabinta si waafaqsan cabbirada dareemayaasha iyo caqli-galnimada guntan, oo soo saara amarrada hawl-wadeennada.
Jaantuska soo socdaa wuxuu muujinayaa jaantuska guri caqli badan, kaas oo ay ku jiraan dareemayaasha dareeraha biyaha (1) ee musqusha, heerkulka (2) iyo iftiinka (3) qolka jiifka, godad smart (4) gudaha jikada iyo kamarada ilaalinta fiidiyooga (5) gudaha marinka.

Hadda, dareemayaasha bilaa-waayirka ah ee ku shaqeeya RF433, Z-Wave, ZigBee, Bluetooth iyo borotokoolka WiFi ayaa si weyn loo isticmaalaa. Faa'iidooyinkooda ugu muhiimsan waa sahlanaanta rakibidda iyo isticmaalka, iyo sidoo kale qiimo jaban iyo isku halaynta, sababtoo ah Wax-soo-saarayaashu waxay ku dadaalayaan inay qalabkooda keenaan suuqa guud oo ay ka dhigaan kuwo la heli karo celceliska isticmaale.
Dareemayaasha iyo actuators, sida caadiga ah, waxay ku xiran yihiin iyada oo loo marayo interface wireless ilaa koontaroolaha guriga ee smart (6) - microcomputer khaas ah oo isku dhafan dhammaan qalabkan hal shabakad oo xakameynaya.
Si kastaba ha noqotee, xalalka qaarkood waxay isku dari karaan dareeraha, jileeyaha iyo xakamaynta isku mar. Tusaale ahaan, fur smart ah waxaa loo habayn karaa inuu shido ama dami karo si waafaqsan jadwal, iyo kaamirada muqaalka ilaalinta ee daruurtu waxay duubi kartaa muqaal ku salaysan calaamad dhaqdhaqaaq sheega. Xaaladaha ugu fudud, waxaad samayn kartaa iyada oo aan la'aanteed xakameyn gaar ah, laakiin si aad u abuurto nidaam dabacsan oo leh xaalado badan, waa lagama maarmaan.
Si loogu xidho kontoroolka guriga ee caqliga leh ee shabakada caalamiga ah, router internetka caadiga ah (7) ayaa la isticmaali karaa, kaas oo muddo dheer noqday qalab guri oo caadi ah guri kasta. Halkan waxaa jira dood kale oo ay guushu u ah kantaroolaha guriga smart - haddii xiriirka internetka la lumo, guriga smart wuxuu sii wadi doonaa inuu si caadi ah u shaqeeyo iyada oo ay ugu wacan tahay xannibaadda macquulka ah ee lagu kaydiyo gudaha xakamaynta, oo aan ku jirin adeegga daruuraha.
Xakamaynta guriga smart
Xakamaynta nidaamka guriga smart ee daruuriga ah ee looga hadlay maqaalkan waxaa lagu sameeyay iyada oo ku saleysan kombuyuutar-yar oo sax ah , kaas oo la sii daayay Maarso 2018 wuxuuna leeyahay ilo iyo waxqabad ku filan oo loogu talagalay hawlaha guriga ee smart. Waxaa ku jira processor-ka Quad-core Cortex-A53 oo ku saleysan 64-bit ARMv8-A architecture, oo ku xiran 1.4 GHz, iyo sidoo kale 1 GB RAM, Wi-Fi 802.11ac, Bluetooth 4.2 iyo adabtarada gigabit Ethernet ee ku shaqeeya USB 2.0 .

Isku-dubarid kontorooluhu aad buu u fudud yahay - microcomputer-ka (1) waxa lagu rakibay kiis balaastig ah (2), ka dib kaadhka xusuusta 8 GB ee qaabka microSD oo leh software (3) iyo kantaroolaha shabakadda Z-Wave USB (4) ayaa lagu rakibay boosaska u dhigma. Xakameeyaha guriga ee smart wuxuu ku xiran yahay sahayda korontadu iyadoo loo marayo 5V, 2.1A adabtarada korantada (5) iyo USB - micro-USB cable (6). Koontaroole kastaa wuxuu leeyahay nambar aqoonsi oo gaar ah, kaas oo ku qoran faylka qaabeynta marka ugu horraysa ee la bilaabay oo lagama maarmaan u ah in lala falgalo adeegyada guriga smart.
Software-ka kontoroolka guriga ee smart waxaa sameeyay qoraaga maqaalkan oo ku salaysan nidaamka hawlgalka Linux Kala Bixinta Raspbian. Waxay ka kooban tahay hababka hoose ee soo socda:
- nidaamka server ee isdhexgalka qalabka guriga iyo daruuraha;
- is dhexgalka isticmaalaha garaafyada ee dejinta qaabeynta iyo cabirrada hawlgalka ee kantaroolaha;
- xogta kaydinta habaynta kontoroolka.

Database Xakamaynta guriga smart ayaa la hirgaliyay iyadoo lagu salaynayo DBMS ku xidhan waana fayl ku jira kaarka SD oo wata software system. Waxay u adeegtaa sida kaydinta qaabeynta kontoroolka - macluumaadka ku saabsan qalabka ku xiran iyo xaaladda hadda, xannibaadda xeerarka wax-soo-saarka macquulka ah, iyo sidoo kale macluumaadka u baahan tusmaynta (tusaale ahaan, faylasha faylasha ee kaydka fiidiyowga maxaliga ah). Marka kontaroolaha dib loo furo, macluumaadkan waa la keydiyaa, taasoo suurtogal ka dhigaysa in dib loo soo celiyo kontaroolaha haddii ay dhacdo koronto.
Interface garaaf Xakamaynta guriga smart ayaa lagu sameeyay PHP 7 iyadoo la adeegsanayo microframework . Adeegaha shabakada ayaa mas'uul ka ah socodsiinta arjiga. , oo inta badan loo isticmaalo qalabyada la isku dhejiyay sababtoo ah waxqabadkiisa wanaagsan iyo shuruudaha kheyraadka hooseeya.
(guji sawirka si aad u furto qaraar sare)
Shaqada ugu weyn ee isdhexgalka garaafyada waa in lagu xiro qalabka guriga ee smart (kameradaha ilaalinta IP iyo dareemayaasha) kontaroolaha. Codsiga shabakada waxa uu akhriyaa qaabaynta iyo xaalada hadda ee maamulaha iyo aaladaha ku xidhan kaydka SQLite. Si loo beddelo qaabaynta kontaroolaha, waxay u soo dirtaa amarrada xakamaynta qaabka JSON iyada oo loo marayo interface-ka API-ga ee RESTful ee habka server-ka.
Habka adeegaha
Habka adeegaha - qayb muhiim ah oo fulisa dhammaan shaqada ugu muhiimsan ee otomatiga ah ee hababka macluumaadka ee aasaaska u ah guri caqli badan: helitaanka iyo habaynta xogta dareenka, soo saarida ficilada xakamaynta iyadoo ku xiran caqli-galnimada. Ujeedada geeddi-socodka server-ka waa in lala falgalo qalabka guriga ee caqliga leh, fulinta xeerarka macquulka ah ee wax-soo-saarka, helitaanka iyo socodsiinta amarada ka soo baxa garaafka garaafka iyo daruuraha. Habka server-ka ee kontoroolka guriga ee caqliga leh ee la tixgalinayo waxaa loo fuliyaa codsi isku xiran oo badan oo lagu sameeyay C++ oo loo bilaabay adeeg gaar ah systemd nidaamka hawlgalka Linux Raspbian.
Qaybaha ugu waaweyn ee habka serverku waa:
- Maareeyaha Fariinta;
- Adeegaha kamaradaha IP;
- Qalabka Z-Wave server;
- Server-ka xeerarka macquulka ah ee wax soo saarka;
- Database of qaabeynta ee kantaroolaha iyo block ee xeerarka macquulka ah;
- RESTful API server si ay ula falgalaan isdhexgalka garaafyada;
- Macmiilka MQTT ee la falgalka daruuraha.
Hababka server-ka blocks waxa loo fuliyaa sidi dunta kala goonida ah, macluumaadka u dhexeeya taas oo lagu kala wareejiyo qaabka fariimaha qaabka JSON (ama qaabdhismeedka xogta ka dhigan qaabkan habka xusuusta).

Qaybta ugu muhiimsan ee habka server waa maamulaha fariinta, Kaas oo u maro farriimaha JSON ee dhammaan hab-socodka server-ka blocks. Noocyada macluumaadka fariinta JSON iyo qiyamka ay aqbali karaan waxay ku taxan yihiin shaxda:
Qalabka Nooca
nidaamka
Nooca fariinta
qalab State
amarka
camera
onvif
sensorData
on
qulqulka(Dami/Dami)
shidma
mawjad
amarka
off
duubista(Dami/Dami)
waxtarka
mqtt
ganacsigaLogicRule
qulqulka(Dami/Dami)
xumaan (Ku dar/saar)
Logic Logic
qaabeyntaData
duubista(Dami/Dami)
Bluetooth
qalab State
baadi
wifi
rf
Tusaale ahaan, fariinta ka imanaysa dhaqdhaqaaqa kaamirada ayaa u eeg sidan:
{
"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"
}
Wax-soo-saarka macquulka ah
Si aad fariin uga hesho ama uga dirto soo diraha, habka server-ka block waxa uu rukunsadaa farriimaha nooc gaar ah. Is-diiwaangelintu waa wax-soo-saarka xeer macquul ah oo nooca "Haddii ... ka dibna...", oo lagu soo bandhigay qaabka JSON, iyo isku xidhka maamulaha fariinta ee ku dhex jira habka serferka. Tusaale ahaan, si aad u oggolaato server-ka kamaradda IP-ga inuu ka helo amarrada GUI iyo daruuraha, waxaad u baahan tahay inaad ku darto qaanuunka soo socda:
{
"if": {
"and": [{
"equal": {
"deviceId": "1616453d-30cd-44b7-9bf0-************"
}
},
{
"equal": {
"messageType": "command"
}
}
]
},
"then": {
"result": "true"
}
}
Haddii shuruudaha lagu qeexay ka hor (dhinaca bidix) xeerarku waa run, markaas waa lagu qancay natiijo ahaan (dhinaca midig) xeerarka, maamuluhuna wuxuu gelayaa jidhka fariinta JSON. Horayuhu waxa uu taageeraa hawl wadeenada macquulka ah ee isbarbardhiga JSON-lammaanaha qiimaha muhiimka ah:
- waxay la mid tahay "isku mid";
- aan la simin "aan_sinayn";
- ka yar "ka yar";
- ka sii badan "ka weyn";
- in ka yar ama la mid ah "ka yar_ama_siman";
- ka weyn ama la mid ah "ka weyn_ama_siman".
Natiijooyinka isbarbardhigga waxay la xiriiri karaan midba midka kale iyadoo la adeegsanayo hawlwadeennada aljabrada Boolean:
- Iyo "iyo"
- AMA "ama";
- MA "maya".
Markaa, adoo qoraya hawl-wadeennada iyo hawl-wadeennada qoraalka Polish, waxaad abuuri kartaa xaalado aad u adag oo leh tiro badan oo cabbirro ah.
Sida saxda ah ee isku midka ah, ee ku salaysan fariimaha JSON iyo xeerarka wax soo saarka ee qaabka JSON, ayaa loo adeegsadaa xannibaadda server-ka macquulka ah si ay u matalaan aqoonta oo ay u fuliyaan fikrad macquul ah iyada oo la adeegsanayo xogta dareenka ee dareemayaasha guriga.
Isticmaalka arjiga mobaylka, isticmaaluhu waxa uu abuuraa xaalado iyada oo la raacayo kan guriga caqliga leh ay tahay in uu ku shaqeeyo. Tusaale ahaan: "Haddii dareemaha furitaanka albaabka hore uu kiciyo, ka dibna shid nalka waddada". Codsigu waxa uu akhriyaa aqoonsiga dareemayaasha (dareemaha furitaanka) iyo hawl-wadeennada (socket smart ama lamp smart) ee kaydka xogta oo soo saara xeer macquul ah oo qaab JSON ah, kaas oo loo diro kontaroolaha guriga ee smart. Habkan ayaa si faahfaahsan looga doodi doonaa maqaalka saddexaad ee taxanaheenna, halkaas oo aan kaga hadli doono codsiga macmiilka ee maaraynta guri caqli badan.
Habka macquulka ah ee wax-soo-saarka ee kor looga hadlay waxaa lagu fuliyaa iyadoo la isticmaalayo maktabadda - SAX parser ee qaabka JSON ee C++. Akhriska isku xigxiga iyo kala shaandheynta ee xeerar kala duwan oo wax soo saar ah ayaa kuu ogolaanaya inaad si fudud u fuliso shaqada isbarbardhigga xogta gudaha hore:
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);
}
}
}
waa Xaqiiqda - qaab-dhismeed ka kooban lammaane-qiimo muhiim ah oo ka yimid farriinta JSON, m_ Xeerarka string string ee xeerarka wax soo saarka. Isbarbardhigga fariinta soo socota iyo xeerka wax soo saarka ayaa lagu fuliyaa shaqada akhriste.Parse(ruleStream, ruleHandler)halkaas oo ruleHandler waa shay ka kooban caqliga Boolean iyo hawlwadeenada isbarbardhigga. sRuleId - Aqoonsiye sharci oo gaar ah, taas oo ay ugu mahadcelinayaan taas oo ay suurtogal tahay in lagu kaydiyo oo wax laga beddelo xeerarka gudaha kaydka xogta kontoroolka guriga ee smart. m_pActions - habayn leh natiijooyinka fikradda macquulka ah: fariimaha JSON oo ay ku jiraan natiijooyin ka yimid saldhigga sharciga oo loo sii diro maareeyaha farriinta si dunta macaamiisha ay uga baaraandegaan.
Waxqabadka RapidJSON wuxuu la mid yahay shaqada strlen(), iyo nidaamka ugu yar ee looga baahan yahay ilaha ayaa u oggolaanaya isticmaalka maktabaddan aaladaha ku dhex jira. Isticmaalka fariimaha iyo qawaaniinta macquulka ah ee qaabka JSON waxay kuu ogolaaneysaa inaad fuliso nidaam dabacsan oo xog isdhaafsi ah oo u dhexeeya dhammaan qaybaha qalabka guriga ee smart.
Dareemayaasha Z-Wave and Actuators
Faa'iidada ugu weyn ee guriga caqliga leh waa in uu si madaxbannaan u cabbiri karo xuduudaha kala duwan ee deegaanka dibadda oo uu qabto hawlo waxtar leh iyadoo ku xiran xaaladda. Si tan loo sameeyo, dareemayaasha iyo hawlwadeenada waxay ku xidhan yihiin kontaroolaha guriga ee smart. Nooca hadda jira, kuwani waa aaladaha bilaa-waayirka ah ee ku shaqeeya borotokoolka inta jeer ee si gaar ah loo qoondeeyay 869 MHz Ruushka. Si ay u shaqeeyaan, waxaa lagu daraa shabakad mesh ah, taas oo ka kooban calaamadaha soo noqnoqda si loo kordhiyo aagga daboolka. Qalabka ayaa sidoo kale leh hab badbaado tamar gaar ah - waxay ku qaataan inta badan wakhtiga hurdada waxayna soo diraan macluumaadka kaliya marka gobolkoodu isbeddelo, taas oo si weyn u kordhin karta nolosha batteriga ku dhex jira.

Waxaad hadda ka heli kartaa tiro cadaalad ah oo badan oo ah aaladaha Z-Wave ee kala duwan suuqa. Aynu eegno dhawr tusaale:
- Socket-ka casriga ah ee Zipato PAN16 wuxuu cabbiri karaa cabbirrada soo socda: isticmaalka korontada (kWh), awoodda (W), danab (V) iyo hadda (A) ee shabakadda korontada. Waxa kale oo ay leedahay daaran ku dhex jira oo aad ku xakamayn karto qalabka korontada ku xidhan;
- Dareemaha daadinta Neo Coolcam wuxuu ogaadaa joogitaanka dareeraha daatay isagoo xiraya xiriirada baaritaanka fog;
- Qalabka qiiqa ee Zipato PH-PSG01 wuxuu kiciyaa marka walxaha qiiqa ay galaan qolka falanqeeyaha gaaska;
- Dareemaha dhaqdhaqaaqa Neo Coolcam wuxuu falanqeeyaa shucaaca infrared ee jidhka bini'aadamka. Intaa waxaa dheer waxaa jira dareeme iftiin (Lx);
- Multisensor Philio PST02-A wuxuu cabbiraa heerkulka (°C), iftiinka (%), furitaanka albaabka, joogitaanka qofka qolka;
- Z-Wave USB Stick ZME E UZB1 kantaroolaha shabakadda, kaas oo dareemayaal ku xiran yihiin.
Aad bay muhiim u tahay in aaladaha iyo kontarooluhu ay ku shaqeeyaan isku mar, haddii kale si fudud iskuma arki doonaan xilligan isku xirka. Ilaa 232 qalab ayaa lagu xidhi karaa hal kantaroole Z-Wave, kaas oo ku filan guri dabaq ah ama guri wadan ah. Si loo balaadhiyo aagga daboolka shabakadda gudaha, godad caqli badan ayaa loo isticmaali karaa soo celiyaha calaamadaha.

Habka kontoroolka guriga ee caqliga leh ee looga hadlay cutubka hore, server-ka Z-Wave ayaa mas'uul ka ah la falgalka qalabka Z-Wave. Waxay isticmaashaa maktabad si ay macluumaadka uga hesho dareemayaasha gudaha C ++, kaas oo bixiya is-dhexgal loogu talagalay la falgalka shabakada Z-Wave USB kontaroolaha wuxuuna la shaqeeyaa dareemeyaal iyo qalabyo kala duwan. Qiimaha halbeegga deegaanka ee lagu cabiray dareemaha waxaa duubaya server-ka Z-Wave qaab fariinta JSON:
{
"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"
}
Ka dib waxaa loo gudbiyaa maamulaha fariinta habka server-ka si ay macaamiishu u helaan. Macmiilka ugu weyn waa server-ka macquulka ah ee wax soo saarka, kaas oo u dhigma qiyamka goobta fariinta ee horudhacyada xeerarka macquulka ah. Natiijooyinka soo-jeedinta ee ay ku jiraan amarada xakamaynta ayaa dib loogu soo celiyaa maareeyaha fariinta halkaasna waxaad tagtaa server-ka Z-Wave, kaas oo soo saara iyaga oo u diraya shabakada Z-Wave USB kontoroolka. Kadibna waxay galaan actuator-ka, kaas oo beddelaya xaaladda walxaha deegaanka, iyo guriga caqliga leh sidaas darteed wuxuu qabtaa shaqo faa'iido leh.
(guji sawirka si aad u furto qaraar sare)
Isku xirka aaladaha Z-Wave waxaa lagu sameeyaa is dhexgalka garaafyada ee koontaroolaha guriga ee smart. Si aad tan u samayso, aad bogga liiska qalabka oo guji "Ku dar" badhanka. Amarka ku-darka ee loo maro interface-ka API-ga ee RESTful waxa uu galaa habka server-ka ka dibna waxaa u soo dira maareeyaha fariinta server-ka Z-Wave, kaas oo dhigaya Z-Wave network USB kontoroolka hab gaar ah oo lagu daro qalabka. Marka xigta, aaladda Z-Wave waxaad u baahan tahay inaad sameyso cadaadis degdeg ah oo taxane ah (3 riix 1,5 ilbiriqsi gudahood) badhanka adeegga. Xakameeyaha USB wuxuu ku xiraa aaladda shabakada wuxuuna u diraa macluumaadka ku saabsan server-ka Z-Wave. Taasi, markeeda, waxay abuurtaa gelid cusub ee xogta SQLite oo leh cabbirrada aaladda cusub. Muddo cayiman ka dib, interface-ka garaafku wuxuu ku noqdaa bogga liiska qalabka Z-Wave, wuxuu akhriyaa macluumaadka kaydka wuxuuna soo bandhigaa qalabka cusub ee liiska. Qalab kastaa wuxuu helayaa aqoonsi u gaar ah, kaas oo loo isticmaalo xeerarka soo-saarka wax-soo-saarka iyo marka uu ka shaqaynayo daruuraha. Hawlgalka algorithm-ka waxa lagu muujiyay jaantuska UML:
(guji sawirka si aad u furto qaraar sare)
Isku xirka kamaradaha IP
Nidaamka guriga smart ee looga hadlay maqaalkani waa casriyeyn lagu sameeyay nidaamka ilaalinta fiidiyowga daruuriga ah, oo sidoo kale uu sameeyay qoraaga, kaas oo suuqa ku jiray dhowr sano oo uu leeyahay qalabyo badan oo Russia ah.
Nidaamyada ilaalinta fiidiyowga daruuriga ah, mid ka mid ah dhibaatooyinka ba'an waa xulashada xaddidan ee qalabka kaas oo la isku dari karo. Software-ka mas'uulka ka ah isku xirka daruuraha ayaa lagu rakibay gudaha kamarada fiidiyowga, kaas oo isla markiiba dhigaya baahiyo halis ah qalabkiisa - processor-ka iyo xaddiga xusuusta bilaashka ah. Tani waxay inta badan sharraxaysaa qiimaha sare ee kamaradaha CCTV ee daruuraha marka loo eego kamaradaha IP-ga ee caadiga ah. Intaa waxaa dheer, marxalad dheer oo gorgortan ah oo lala yeesho shirkadaha soo saara kamaradaha CCTV ayaa loo baahan yahay si loo helo nidaamka faylka kamarada iyo dhammaan qalabka horumarinta lagama maarmaanka ah.

Dhanka kale, dhammaan kamaradaha IP-ga casriga ah waxay leeyihiin hab-maamuusyo caadi ah oo loogu talagalay isdhexgalka qalabka kale (gaar ahaan, duubayaasha fiidiyowga). Sidaa darteed, isticmaalka koontaroolo gaar ah oo ku xira nidaamka caadiga ah iyo faafinta fiidiyoowga fiidiyooga ee kamaradaha IP ilaa daruurtu waxay bixisaa faa'iidooyin tartan oo muhiim ah nidaamyada ilaalinta fiidiyowga daruuriga ah. Waxaa intaa dheer, haddii macmiilku hore u rakibay nidaamka ilaalinta fiidiyooga ee ku salaysan kamaradaha IP-ga ee fudud, ka dibna waxay noqonaysaa suurtagal in la ballaariyo oo loo rogo guri caqli-gal ah oo daruuri ah.
Hab-maamuuska ugu caansan ee nidaamyada ilaalinta fiidiyowga IP-ga, oo hadda ay taageeraan dhammaan soosaarayaasha kamaradaha IP iyada oo aan laga reebin, waa , kuwaas oo qeexitaankooda ay ku jiraan luqadda sharaxaadda adeegyada shabakadda . Isticmaalka agabka agabka Waa suurtogal in loo soo saaro koodka isha adeegyada ku shaqeeya kamaradaha IP:
$ 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
Natiijo ahaan, waxaan helnaa xarfo madax "*.h" iyo isha "* .cpp" faylasha C++, kuwaas oo si toos ah loogu dhejin karo codsi ama maktabad gaar ah oo la isku dubaridi karo iyadoo la isticmaalayo isku-dariyaha GCC. Sababo la xiriira hawlaha badan, code waa weyn yahay oo u baahan hagaajin dheeraad ah. Microcomputer-ka Raspberry Pi 3 model B+ wuxuu leeyahay waxqabad ku filan si loo fuliyo koodhkan, laakiin haddii ay jirto baahi loo qabo in koodhka lagu dhejiyo goob kale, waa lagama maarmaan in la doorto qalabka processor-ka saxda ah iyo ilaha nidaamka.
Kaamirooyinka IP-ga ee taageera heerka ONVIF, marka ay ku shaqeynayaan shabakad maxalli ah, waxay ku xiran yihiin koox gaar ah oo leh ciwaanka 239.255.255.250. Waxaa jira hab-maamuus , kaas oo kuu ogolaanaya inaad si toos ah u raadiso qalabka shabakada degaanka.
Isku xirka garaafyada ee kontoroolka guriga ee smart wuxuu fuliyaa shaqo raadinta kamaradaha IP ee PHP, kaas oo aad ugu habboon marka lala macaamilayo adeegyada shabakada fariimaha XML. Markaad dooranayso alaabta menu Aaladaha> Kamaradaha IP> Sawirka Algorithm ee raadinta kamaradaha IP waa la bilaabay, oo muujinaya natiijada qaab miis:
(guji sawirka si aad u furto qaraar sare)
Markaad ku darto kamarad kantaroolaha, waxaad qeexi kartaa dejinta sida ay ula falgeli doonto daruuraha. Sidoo kale marxaladan, si toos ah ayaa loo qoondeeyaa qalab gaar ah, kaas oo hadhow si fudud loogu aqoonsan karo daruuraha dhexdiisa.

Marka xigta, fariin ayaa lagu soo saarayaa qaabka JSON oo ka kooban dhammaan xuduudaha kamaradda lagu daray waxaana loo diraa habka server-ka ee kontoroolka guriga smart iyada oo loo sii marayo RESTful API Command, halkaas oo cabbirada kamaradaha la dejiyo laguna keydiyo gudaha gudaha SQLite database, oo ay yihiin Waxa kale oo loo isticmaalaa in lagu bilaabo threads processing soo socda:
- samaynta isku xidhka RTSP si loo helo fiidyaha iyo maqalka;
- cod ka beddelashada G.711 mu-Law, G.711 A-Law, G.723, iwm. qaabka AAC;
- transcoding video durdurrada qaab H.264 iyo audio qaab AAC galay weel FLV iyo u gudbinta in daruur iyada oo loo marayo hab-maamuuska RTMP;
- samaynta xidhiidh la leh barta ugu dambaysa ee kamarada IP-ga ee dhaqdhaqaaqa dhaqdhaqaaqa iyada oo loo marayo borotokoolka ONVIF iyo codaynta xilliyada qaarkood;
- si joogto ah u soo saaraya sawirka thumbnail ee horudhaca oo u diraya daruuraha iyada oo loo marayo borotokoolka MQTT;
- duubista maxalli ah ee fiidiyoowga iyo qulqulka maqalka ee qaabka faylal gaar ah oo qaab MP4 ah oo ku socda SD ama kaarka Flash ee maamulaha guriga.

Si loo dhiso xidhiidhka kamaradaha, transcode, habka iyo duubista qulqulka fiidyaha ee habka serverka, hawlaha maktabadda ayaa la isticmaalaa 4.1.0.
Tijaabada tijaabada waxqabadka, 3 kamaradood ayaa lagu xidhay kontaroolaha:
- HiWatch DS-I114W (xalin - 720p, qaabka isku-buufinta - H.264, bitrate - 1 Mb/s, cod G.711 mu-Law);
- Microdigital MDC-M6290FTD-1 (xalka - 1080p, qaabka isku xidhka - H.264, bitrate - 1 Mb/s, cod la'aan;
- Dahua DH-IPC-HDW4231EMP-AS-0360B Mb/s, AAC audio).

Dhammaan saddexda durdurba waxa ay isku mar ku soo baxeen daruurta, cod beddelasho ayaa laga sameeyay hal kamarad oo keliya, duubista kaydka maxalliga ahna waa la joojiyay. Culayska CPU wuxuu ahaa qiyaastii 5%, isticmaalka RAM wuxuu ahaa 32 MB (nidaamkiiba), 56 MB (guud uu ku jiro OS).
Sidaa darteed, qiyaastii 20-30 kamaradood (iyadoo ku xiran xallinta iyo xawaaraha bitrate-ka) ayaa lagu xiri karaa koontaroole guri oo caqli badan, kaas oo ku filan nidaamka kormeerka fiidiyowga ee guri saddex dabaq ah ama bakhaar yar. Hawlaha u baahan waxqabad sare, waxaa loo isticmaali karaa shabakad leh processor Intel ah oo badan iyo OS. Linux Debian Sarge. Xakameeyaha hadda wuxuu ku jiraa hawlgal tijaabo ah, xogta waxqabadkana waa la cusbooneysiin doonaa.
Is dhexgalka daruurta
Guri caqli leh oo daruur ku salaysan ayaa kaydiya xogta isticmaalaha (fiidiyowga iyo cabbirada dareemayaasha) ee daruuraha. Qaab dhismeedka kaydinta daruuraha ayaa si faahfaahsan looga hadli doonaa maqaalka xiga ee taxanaheenna. Hadda aan ka hadalno interface-ka gudbinta farriimaha macluumaadka ee maamulaha guriga ee smart ilaa daruuraha.
Gobollada aaladaha ku xiran iyo cabbirrada dareemayaasha waxaa lagu kala qaadaa borotokoolka , kaas oo inta badan loo isticmaalo mashaariicda Internetka ee Waxyaabaha ay sabab u tahay fududaantiisa iyo waxtarka tamarta. MQTT waxay isticmaashaa qaabka macmiilka-server, halkaas oo macaamiishu ay ku biiraan mawduucyo gaar ah oo ku dhex jira dallaalka oo ay daabacaan fariimohooda. Dallaalku wuxuu u diraa fariimaha dhammaan macaamiisha si waafaqsan xeerarka lagu go'aamiyay heerka QoS (Tayada Adeegga):
- QoS 0 - ugu badnaan hal mar (ma jirto dammaanad gaarsiinta);
- QoS 1 - ugu yaraan hal mar (oo leh xaqiijinta gaarsiinta);
- QoS 2 - hal mar (oo leh xaqiijinta gaarsiinta dheeraadka ah).
Xaaladeena, waxaan isticmaalnaa . Magaca mawduuca ayaa ah aqoonsiga gaarka ah ee kantaroolaha guriga ee smart. Macmiilka MQTT ee ku jira nidaamka server-ka ayaa ku biira mawduucan oo u turjumaya farriimaha JSON ee ka imanaya maamulaha fariinta. Taa bedelkeeda, fariimaha ka yimaada dullaaliyaha MQTT waxaa u gudbiya maamulaha fariinta, ka dibna ku dhufanaya macaamiisheeda gudaha nidaamka serverka:

Si loo gudbiyo fariimaha ku saabsan xaaladda maamulaha guriga smart, habka fariimaha badbaadsan ayaa la isticmaalaa Nidaamka MQTT. Tani waxay kuu ogolaaneysaa inaad si sax ah ula socoto waqtiga dib-u-celinta inta lagu jiro cilladda korontadu.
Macmiilka MQTT waxaa la sameeyay iyadoo lagu salaynayo hirgelinta maktabadda luqadda C++
H.264 + AAC durdurrada warbaahinta waxaa loo diraa daruurta iyada oo loo marayo hab-maamuuska RTMP, halkaas oo koox ka mid ah server-yada warbaahintu ay mas'uul ka tahay habaynta iyo kaydinta iyaga. Si aad si wanagsan ugu qaybiso culayska kutlada oo aad u doorato server-ka warbaahinta ugu raran, koontaroolaha guriga ee smart wuxuu codsi horudhac ah u sameeyaa isku-dheelitirka culeyska daruuriga oo kaliya ka dib wuxuu soo diraa qulqulka warbaahinta.
gunaanad
Maqaalku wuxuu baadhay mid ka mid ah hirgelinta gaarka ah ee kontoroolka guriga ee smart oo ku salaysan Raspberry Pi 3 B+ microcomputer, kaas oo heli kara, ka baaraandegi kara macluumaadka iyo qalabka xakamaynta iyada oo loo marayo borotokoolka Z-Wave, la falgala kamaradaha IP iyada oo loo marayo borotokoolka ONVIF, iyo sidoo kale isdhaafsiga xogta iyo wuxuu amar ku bixiyaa adeegga daruuraha iyadoo la adeegsanayo nidaamyada MQTT iyo RTMP. Matoorka macquulka ah ee wax soo saarka ayaa la sameeyay iyadoo lagu salaynayo isbarbardhigga xeerarka macquulka ah iyo xaqiiqooyinka lagu soo bandhigay qaabka JSON.
Xakamaynta guriga smart ayaa hadda ku socota hawlgal tijaabo ah oo ka socda goobo badan oo ku yaal Moscow iyo gobolka Moscow.
Nooca soo socda ee kantarooluhu wuxuu qorsheynayaa inuu isku xiro noocyada kale ee aaladaha (RF, Bluetooth, WiFi, fiilo). Si loo fududeeyo isticmaalayaasha, nidaamka isku xirka dareemayaasha iyo kamaradaha IP ayaa loo wareejin doonaa arjiga mobilada. Waxa kale oo jira fikrado lagu hagaajinayo koodhka nidaamka serverka iyo u gudbinta software-ka nidaamka hawlgalka . Tani waxay kuu ogolaanaysaa inaad kaydiso kontaroole gooni ah oo aad ku wareejiso shaqada guriga smart router-ka caadiga ah.
Source: www.habr.com
