Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

An-diugh, mar thoradh air leasachadh luath microelectronics, seanalan conaltraidh, teicneòlasan eadar-lìn agus Artificial Intelligence, tha cuspair dachaighean snasail a’ fàs nas buntainniche. Tha taigheadas daonna air a dhol tro atharrachaidhean mòra bho Linn na Cloiche agus ann an àm Tionndadh Gnìomhachais 4.0 agus Eadar-lìn Rudan, tha e air fàs comhfhurtail, obrachail agus sàbhailte. Tha fuasglaidhean a’ tighinn chun mhargaidh a thionndaidheas àros no taigh dùthchail gu bhith nan siostaman fiosrachaidh iom-fhillte fo smachd bho àite sam bith san t-saoghal a’ cleachdadh fòn cliste. A bharrachd air an sin, chan fheum eadar-obrachadh inneal-daonna eòlas air cànanan prògramadh tuilleadh - le taing dha aithneachadh cainnt agus algorithms synthesis, bidh neach a ’bruidhinn ri dachaigh spaideil anns a’ chànan dhùthchasach aca.

Tha cuid de shiostaman dachaigh smart a tha air a’ mhargaidh an-dràsta nan leasachadh loidsigeach air siostaman sgrùdaidh bhidio sgòthan, agus thuig an luchd-leasachaidh gu robh feum air fuasgladh coileanta chan ann a-mhàin airson sgrùdadh, ach cuideachd airson a bhith a’ riaghladh nithean iomallach.

Bidh sinn a ’toirt thugaibh sreath de thrì artaigilean, a dh’ innseas dhut mu na prìomh phàirtean de shiostam dachaigh smart sgòthan, a chaidh a leasachadh gu pearsanta leis an ùghdar agus air a chuir an gnìomh. Tha a’ chiad artaigil air a choisrigeadh don uidheamachd teachdaiche crìochnachaidh a chaidh a chuir a-steach taobh a-staigh dachaigh spaideil, an dàrna fear gu ailtireachd an t-siostam stòraidh sgòthan agus giollachd dàta, agus mu dheireadh, an treas fear gu tagradh teachdaiche airson an siostam a riaghladh air innealan gluasadach agus pàipearachd.

Innealan dachaigh glic

An toiseach, bruidhnidh sinn mu mar a nì thu dachaigh spaideil a-mach à àros àbhaisteach, dacha no bothan. Gus seo a dhèanamh, mar riaghailt, feumar na h-innealan a leanas a chuir aig an taigh:

  1. mothachairean a bhios a’ tomhas diofar pharaimearan àrainneachd;
  2. actuators ag obair air nithean a-muigh;
  3. rianadair a bhios a’ dèanamh àireamhachadh a rèir tomhais mothachaidh agus loidsig freumhaichte, agus a’ toirt òrdughan do actuators.

Tha an dealbh a leanas a’ sealltainn diagram de dhachaigh spaideil, air a bheil mothachairean airson aodion uisge (1) anns an t-seòmar-ionnlaid, teòthachd (2) agus solais (3) anns an t-seòmar-cadail, socaid spaideil (4) sa chidsin agus a camara sgrùdaidh bhidio (5) anns an talla.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

An-dràsta, thathas a’ cleachdadh mothachairean gun uèir a tha ag obair a’ cleachdadh protocolaidhean RF433, Z-Wave, ZigBee, Bluetooth agus WiFi. Is e na prìomh bhuannachdan aca furasta an stàladh agus an cleachdadh, a bharrachd air cosgais ìosal agus earbsachd, air sgàth Tha luchd-saothrachaidh a’ feuchainn ris na h-innealan aca a thoirt chun mhargaidh mhòr agus an dèanamh ruigsinneach don neach-cleachdaidh cuibheasach.

Tha mothachairean agus actuators, mar riaghailt, ceangailte tro eadar-aghaidh gun uèir ri rianadair dachaigh smart (6) - microcomputer sònraichte a bhios a ’cothlamadh na h-innealan sin gu lèir ann an aon lìonra agus a’ cumail smachd orra.

Ach, faodaidh cuid de fhuasglaidhean sensor, actuator agus rianadair a chur còmhla aig an aon àm. Mar eisimpleir, faodar pluga snasail a phrògramadh gus tionndadh air no dheth a rèir clàr-ama, agus faodaidh camara sgrùdaidh bhidio sgòthan bhidio a chlàradh stèidhichte air comharra lorgaire gluasad. Anns na cùisean as sìmplidh, faodaidh tu a dhèanamh às aonais rianadair fa leth, ach gus siostam sùbailte a chruthachadh le mòran shuidheachaidhean, tha feum air.

Gus rianadair dachaigh smart a cheangal ris an lìonra chruinneil, faodar router eadar-lìn cunbhalach (7) a chleachdadh, a tha air a bhith na inneal taighe cumanta o chionn fhada ann an dachaigh sam bith. An seo tha argamaid eile ann airson rianadair dachaigh smart - ma thèid an ceangal ris an eadar-lìn a chall, cumaidh an dachaigh smart ag obair mar as àbhaist le taing don bhloc loidsig a tha air a stòradh taobh a-staigh an rianadair, agus chan ann san t-seirbheis sgòthan.

Stiùiriche dachaigh glic

Tha an rianadair airson siostam dachaigh smart sgòthan air a bheilear a’ beachdachadh san artaigil seo air a leasachadh stèidhichte air microcomputer aon-bhòrd Raspberry Pi 3 modail B+, a chaidh fhoillseachadh sa Mhàrt 2018 agus aig a bheil goireasan agus coileanadh gu leòr airson gnìomhan dachaigh smart. Tha e a’ toirt a-steach pròiseasar quad-core Cortex-A53 stèidhichte air ailtireachd 64-bit ARMv8-A, le gleoc aig 1.4 GHz, a bharrachd air 1 GB de RAM, Wi-Fi 802.11ac, Bluetooth 4.2 agus inneal-atharrachaidh gigabit Ethernet ag obair tro USB 2.0 .

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Tha e glè shìmplidh a bhith a’ cruinneachadh an rianadair - tha am microcomputer (1) air a chuir a-steach ann an cùis plastaig (2), an uairsin tha cairt cuimhne 8 GB ann an cruth microSD le bathar-bog (3) agus rianadair lìonra USB Z-Wave (4) air an cur a-steach. na sliotan co-fhreagarrach. Tha an rianadair dachaigh smart ceangailte ris an t-solar cumhachd tro inneal-atharrachaidh cumhachd 5V, 2.1A (5) agus càball USB - meanbh-USB (6). Tha àireamh aithneachaidh sònraichte aig gach rianadair, a tha sgrìobhte anns an fhaidhle rèiteachaidh nuair a chaidh a chuir air bhog an toiseach agus a tha riatanach gus eadar-obrachadh le seirbheisean dachaigh smart sgòthan.

Chaidh am bathar-bog smachd dachaigh smart a leasachadh le ùghdar an artaigil seo stèidhichte air an t-siostam obrachaidh Linux Raspbian Stretch. Tha e air a dhèanamh suas de na prìomh fo-shiostaman a leanas:

  • pròiseas frithealaiche airson eadar-obrachadh le uidheamachd dachaigh smart agus an sgòth;
  • eadar-aghaidh cleachdaiche grafaigeach airson suidheachadh rèiteachaidh agus crìochan obrachaidh an rianadair;
  • stòr-dàta airson rèiteachadh rianadair a stòradh.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Stòr-dàta tha rianadair dachaigh smart air a chuir an gnìomh stèidhichte air DBMS freumhaichte SQLite agus tha e na fhaidhle air cairt SD le bathar-bog siostam. Bidh e na stòradh airson rèiteachadh an rianadair - fiosrachadh mun uidheamachd ceangailte agus a staid làithreach, bloc de riaghailtean cinneasachaidh loidsigeach, a bharrachd air fiosrachadh a dh ’fheumas clàr-amais (mar eisimpleir, ainmean faidhle tasglann bhidio ionadail). Nuair a thèid an rianadair ath-thòiseachadh, thèid am fiosrachadh seo a shàbhaladh, ga dhèanamh comasach an rianadair a thoirt air ais ma dh’ fhàillig cumhachd.

GUI rianadair dachaigh smart air a leasachadh ann am PHP 7 a’ cleachdadh microframework Slim. Tha uallach air an fhrithealaiche lìn airson an tagradh a ruith. s an Iar-, air a chleachdadh gu tric ann an innealan freumhaichte air sgàth a dheagh choileanadh agus riatanasan stòrais ìosal.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean
(cliog air an dealbh gus fhosgladh ann an rùn nas àirde)

Is e prìomh obair an eadar-aghaidh grafaigeach a bhith a’ ceangal uidheamachd dachaigh smart (camaran sgrùdaidh IP agus mothachairean) ris an rianadair. Bidh an aplacaid lìn a’ leughadh rèiteachadh agus staid làithreach an rianadair agus na h-innealan ceangailte ris bho stòr-dàta SQLite. Gus rèiteachadh an rianadair atharrachadh, bidh e a’ cur òrdughan smachd ann an cruth JSON tro eadar-aghaidh RESTful API de phròiseas an fhrithealaiche.

Pròiseas frithealaiche

Pròiseas frithealaiche - prìomh phàirt a bhios a’ coileanadh a h-uile prìomh obair air pròiseasan fiosrachaidh fèin-ghluasadach a tha mar bhunait airson dachaigh spaideil: a’ faighinn agus a’ giullachd dàta mothachaidh, a’ cur a-mach gnìomhan smachd a rèir an loidsig freumhaichte. Is e adhbhar pròiseas an fhrithealaiche eadar-obrachadh le uidheamachd dachaigh snasail, riaghailtean loidsigeach toraidh a chuir an gnìomh, òrdughan fhaighinn bhon eadar-aghaidh grafaigeach agus an sgòth. Tha am pròiseas frithealaiche anns an rianadair dachaigh smart air a bheilear a’ beachdachadh air a chuir an gnìomh mar thagradh ioma-snàithlean air a leasachadh ann an C ++ agus air a chuir air bhog mar sheirbheis air leth siostam siostam-obrachaidh Raspbian airson Linux.

Is iad na prìomh bhlocaichean de phròiseas an fhrithealaiche:

  1. Manaidsear Teachdaireachd;
  2. frithealaiche camara IP;
  3. frithealaiche inneal Z-Wave;
  4. Server riaghailtean loidsigeach riochdachaidh;
  5. Stòr-dàta de rèiteachadh an rianadair agus bloc de riaghailtean loidsigeach;
  6. RESTful frithealaiche API airson eadar-obrachadh leis an eadar-aghaidh grafaigeach;
  7. Neach-dèiligidh MQTT airson eadar-obrachadh leis an sgòth.

Tha blocaichean pròiseas frithealaiche air an cur an gnìomh mar snàithleanan fa leth, agus tha fiosrachadh eatorra air a ghluasad ann an cruth teachdaireachdan ann an cruth JSON (no structaran dàta a’ riochdachadh a’ chruth seo ann an cuimhne pròiseas).

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Is e am prìomh phàirt den phròiseas frithealaiche manaidsear teachdaireachd, a bhios a’ ruith teachdaireachdan JSON gu gach bloc pròiseas frithealaiche. Tha na seòrsaichean de raointean fiosrachaidh teachdaireachd JSON agus na luachan as urrainn dhaibh gabhail ris air an liostadh sa chlàr:

seòrsa inneal
protocol
seòrsa teachdaireachd
Stàit inneal
an àithne

'chamara
onvif
dàta sensor
on
sruthadh (Air / dheth)

mothachadh
sgonn
an àithne
dheth
clàradh (Air / dheth)

buaidhiche
mqtt
Riaghailt gnìomhachas Logic
sruthadh (Air / dheth)
inneal (Cuir ris/Thoir air falbh)

loidsig gnìomhachais
Dàta rèiteachaidh
clàradh (Air / dheth)

bluetooth
Stàit inneal
mearachd

wifi

rf

Mar eisimpleir, tha teachdaireachd bho lorgaire gluasad camara a’ coimhead mar seo:

{
	"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"
}

Loidsig riochdachaidh

Gus teachdaireachd fhaighinn no a chuir bhon neach-cuairteachaidh, bidh bloc pròiseas an fhrithealaiche a’ gabhail ri teachdaireachdan de sheòrsa sònraichte. Tha ballrachd na riaghailt loidsigeach toraidh den t-seòrsa "Ma tha... an uairsin ...", air a thaisbeanadh ann an cruth JSON, agus ceangal ris an làimhseachadh teachdaireachd taobh a-staigh bloc pròiseas an fhrithealaiche. Mar eisimpleir, gus leigeil le frithealaiche camara IP òrdughan fhaighinn bhon GUI agus an sgòth, feumaidh tu an riaghailt a leanas a chur ris:

{
	"if": {
	    "and": [{
		"equal": {
		    "deviceId": "1616453d-30cd-44b7-9bf0-************"
		}
	    },
	    {
		"equal": {
		    "messageType": "command"
		}
	    }
	    ]
	},
	"then": {
	    "result": "true"
	}
}

Ma tha na cumhaichean a tha air an sònrachadh ann an roimhe (taobh clì) tha na riaghailtean fìor, an uairsin tha e riaraichte mar thoradh (taobh deas), agus gheibh an neach-làimhseachaidh cothrom air corp teachdaireachd JSON. Tha an ro-làimh a’ toirt taic do ghnìomhaichean loidsigeach a bhios a’ dèanamh coimeas eadar paidhrichean luach-iuchrach JSON:

  1. co-ionann ri "co-ionann";
  2. chan eil e co-ionnan ri "not_equal";
  3. nas lugha "nas lugha";
  4. barrachd "nas motha";
  5. nas lugha na no co-ionann ri "less_or_equal";
  6. nas motha na no co-ionann ri “greater_or_equal”.

Faodaidh toraidhean coimeas a bhith co-cheangailte ri chèile a’ cleachdadh gnìomhaichean ailseabra Boolean:

  1. Agus "agus"
  2. NO "no";
  3. NACH "chan eil".

Mar sin, le bhith a 'sgrìobhadh gnìomhaichean agus operands ann an comharrachadh Pòlach, faodaidh tu suidheachaidhean gu math iom-fhillte a chruthachadh le àireamh mhòr de pharamadairean.

Tha an aon inneal, stèidhichte air teachdaireachdan JSON agus riaghailtean toraidh ann an cruth JSON, air a chleachdadh anns a’ bhloc frithealaiche loidsig toraidh gus eòlas a riochdachadh agus co-dhùnadh loidsigeach a dhèanamh a ’cleachdadh dàta mothachaidh bho luchd-mothachaidh dachaigh smart.

A’ cleachdadh tagradh gluasadach, bidh an neach-cleachdaidh a’ cruthachadh shuidheachaidhean a rèir am bu chòir don dachaigh spaideil obrachadh. Mar eisimpleir: “Ma tha an sensor airson an doras aghaidh fhosgladh air a phiobrachadh, tionndaidh air an t-solas anns an trannsa". Bidh an tagradh a ’leughadh aithnichearan mothachairean (sensor fosglaidh) agus actuators (socaid smart no lampa snasail) bhon stòr-dàta agus a’ gineadh riaghailt loidsigeach ann an cruth JSON, a thèid a chuir chun rianadair dachaigh smart. Thèid an uidheamachd seo a dheasbad nas mionaidiche anns an treas artaigil den t-sreath againn, far am bruidhnidh sinn mun iarrtas teachdaiche airson a bhith a ’riaghladh dachaigh spaideil.

Tha an uidheamachd loidsig toraidh air a bheilear a’ beachdachadh gu h-àrd air a chuir an gnìomh a’ cleachdadh an leabharlann RapidJSON - parser SAX airson cruth JSON ann an C ++. Leigidh leughadh sreathach agus parsadh sreath de riaghailtean toraidh dhut an gnìomh coimeas dàta a chuir an gnìomh gu furasta taobh a-staigh seann fheadhainn:

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);
        }
    }
}

tha e pFaic - structar anns a bheil paidhrichean prìomh luach bho theachdaireachd JSON, m_ Riaghailtean - sreath de riaghailtean toraidh. Thathas a’ dèanamh coimeas eadar an teachdaireachd a tha a’ tighinn a-steach agus an riaghailt toraidh anns a’ ghnìomh reader.Parse(riaghailt Sruth, Riaghailt Handler)càite fear-riaghailt na nì anns a bheil loidsig Boolean agus gnìomhaichean coimeas. sRuilId - aithnichear riaghailt sònraichte, le taing dha bheil e comasach riaghailtean a stòradh agus a dheasachadh taobh a-staigh stòr-dàta rianadair dachaigh smart. m_Gnìomhan - sreath le toraidhean co-dhùnadh loidsigeach: teachdaireachdan JSON anns a bheil toraidhean bhon bhunait riaghailt agus air an cur nas fhaide chun mhanaidsear teachdaireachd gus an urrainn dha snàithleanan an neach-clàraidh an làimhseachadh.

Tha coileanadh RapidJSON an coimeas ris a’ ghnìomh strlen(), agus tha na riatanasan as lugha de ghoireasan siostam a’ ceadachadh an leabharlann seo a chleachdadh ann an innealan freumhaichte. Leigidh cleachdadh teachdaireachdan agus riaghailtean loidsigeach ann an cruth JSON dhut siostam iomlaid fiosrachaidh sùbailte a chuir an gnìomh eadar a h-uile pàirt den rianadair dachaigh smart.

Sensors Z-Wave agus Actuators

Is e am prìomh bhuannachd a tha aig dachaigh spaideil gum faod e diofar pharaimearan na h-àrainneachd a-muigh a thomhas gu neo-eisimeileach agus gnìomhan feumail a choileanadh a rèir an t-suidheachaidh. Gus seo a dhèanamh, tha mothachairean agus actuators ceangailte ri rianadair dachaigh smart. Anns an dreach làithreach, is iad sin innealan gun uèir a tha ag obair a’ cleachdadh a’ phròtacal Z-Tonn air tricead a chaidh a shònrachadh gu sònraichte 869 MHz Airson an Ruis. Gus obrachadh, tha iad air an cur còmhla ann an lìonra mogal, anns a bheil ath-chraoladairean chomharran gus an raon còmhdaich àrdachadh. Tha modh sàbhalaidh lùth sònraichte aig na h-innealan cuideachd - bidh iad a ’caitheamh a’ mhòr-chuid den ùine ann am modh cadail agus a ’cur fiosrachadh a-mhàin nuair a dh’ atharraicheas an stàit aca, a dh’ fhaodadh beatha bataraidh togte a leudachadh gu mòr.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Gheibh thu a-nis àireamh meadhanach mòr de dhiofar innealan Z-Wave air a’ mhargaidh. Bheir sinn sùil air beagan eisimpleirean:

  1. Faodaidh socaid smart Zipato PAN16 na paramadairean a leanas a thomhas: caitheamh dealain (kWh), cumhachd (W), bholtadh (V) agus sruth (A) anns an lìonra dealain. Tha tionndadh togte ann cuideachd leis an urrainn dhut smachd a chumail air an inneal dealain ceangailte;
  2. Bidh an sensor aodion Neo Coolcam a’ lorg gu bheil lionn air a dhòrtadh ann le bhith a’ dùnadh fiosan an probe iomallach;
  3. Tha an sensor ceò Zipato PH-PSG01 air a phiobrachadh nuair a thèid mìrean ceò a-steach don t-seòmar anailis gas;
  4. Bidh an sensor gluasad Neo Coolcam a’ dèanamh anailis air rèididheachd infridhearg ann am bodhaig an duine. A bharrachd air an sin tha sensor solais (Lx);
  5. Bidh multisensor Philio PST02-A a ’tomhas teòthachd (°C), solas (%), fosgladh dorais, làthaireachd neach san t-seòmar;
  6. Rianadair lìonra Z-Wave USB Stick ZME E UZB1, ris a bheil mothachairean ceangailte.

Tha e glè chudromach gum bi na h-innealan agus an rianadair ag obair aig an aon tricead, air dhòigh eile chan fhaic iad a chèile aig an àm ceangail. Faodar suas ri 232 inneal a cheangal ri aon rianadair lìonra Z-Wave, a tha gu leòr airson àros no taigh dùthchail. Gus an raon còmhdaich lìonra a-staigh a leudachadh, faodar socaid snasail a chleachdadh mar ath-chraoladh chomharran.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Anns a’ phròiseas frithealaiche rianadair dachaigh smart a chaidh a dheasbad sa pharagraf roimhe seo, tha uallach air frithealaiche Z-Wave airson eadar-obrachadh le innealan Z-Wave. Bidh e a’ cleachdadh leabharlann gus fiosrachadh fhaighinn bho luchd-mothachaidh FosgailteZWave ann an C ++, a bheir seachad eadar-aghaidh airson eadar-obrachadh le rianadair USB lìonra Z-Wave agus a bhios ag obair le measgachadh de luchd-mothachaidh agus actuators. Tha luach am paramadair àrainneachd air a thomhas leis an sensor air a chlàradh leis an t-seirbheisiche Z-Wave ann an cruth teachdaireachd 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"
}

Thèid an uairsin a chuir air adhart gu manaidsear teachdaireachd pròiseas an fhrithealaiche gus am faigh snàithleanan an neach-clàraidh e. Is e am prìomh neach-clàraidh am frithealaiche loidsig riochdachaidh, a tha a rèir luachan raon teachdaireachd ann an ro-innleachdan nan riaghailtean loidsig. Thèid na toraidhean co-dhùnaidh anns a bheil òrdughan smachd a chuir air ais chun mhanaidsear teachdaireachd agus às an sin rachaibh gu frithealaiche Z-Wave, a bhios gan còdachadh agus gan cur gu rianadair USB lìonra Z-Wave. An uairsin bidh iad a 'dol a-steach don actuator, a bhios ag atharrachadh staid nithean àrainneachd, agus mar sin bidh an dachaigh spaideil a' coileanadh obair fheumail.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean
(cliog air an dealbh gus fhosgladh ann an rùn nas àirde)

Tha ceangal innealan Z-Wave air a dhèanamh ann an eadar-aghaidh grafaigeach rianadair dachaigh smart. Gus seo a dhèanamh, rachaibh gu duilleag le liosta de dh’ innealan agus cliog air a ’phutan“ Cuir ”. Bidh an àithne cuir ris tro eadar-aghaidh RESTful API a’ dol a-steach don phròiseas frithealaiche agus an uairsin ga chuir leis a ’mhanaidsear teachdaireachd chun t-seirbheisiche Z-Wave, a chuireas rianadair USB lìonra Z-Wave ann am modh sònraichte airson innealan a chuir ris. An uairsin, air an inneal Z-Wave feumaidh tu sreath de phreasan sgiobalta a dhèanamh (3 preas taobh a-staigh 1,5 diogan) den phutan seirbheis. Bidh an rianadair USB a’ ceangal an inneal ris an lìonra agus a’ cur fiosrachadh mu dheidhinn gu frithealaiche Z-Wave. Bidh sin, an uair sin, a’ cruthachadh inntrig ùr ann an stòr-dàta SQLite le paramadairean an inneil ùir. Às deidh ùine shònraichte, tillidh an eadar-aghaidh grafaigeach gu duilleag liosta inneal Z-Wave, leugh fiosrachadh bhon stòr-dàta agus seallaidh e an inneal ùr air an liosta. Bidh gach inneal a’ faighinn a aithnichear sònraichte fhèin, a tha air a chleachdadh ann an riaghailtean co-dhùnaidh toraidh agus nuair a bhios iad ag obair san sgòth. Tha obrachadh an algairim seo air a shealltainn anns an diagram UML:

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean
(cliog air an dealbh gus fhosgladh ann an rùn nas àirde)

A’ ceangal camarathan IP

Tha an siostam dachaigh smart sgòthan air a bheilear a’ beachdachadh san artaigil seo na ùrachadh air an t-siostam sgrùdaidh bhidio sgòthan, cuideachd air a leasachadh leis an ùghdar, a tha air a bhith air a ’mhargaidh airson grunn bhliadhnaichean agus aig a bheil mòran ionadan san Ruis.

Airson siostaman sgrùdaidh bhidio sgòthan, is e aon de na fìor dhuilgheadasan an taghadh cuibhrichte de uidheamachd leis an urrainnear amalachadh a dhèanamh. Tha am bathar-bog le uallach airson ceangal ris an sgòth air a chuir a-steach don chamara bhidio, a tha sa bhad a ’cur fìor iarrtasan air a’ bhathar-cruaidh aige - am pròiseasar agus an ìre de chuimhne an-asgaidh. Tha seo gu ìre mhòr a’ mìneachadh prìs nas àirde camarathan CCTV sgòthan an taca ri camarathan IP àbhaisteach. A bharrachd air an sin, tha feum air ìre fhada de cho-rèiteachadh le companaidhean saothrachaidh camara CCTV gus faighinn gu siostam faidhle a’ chamara agus na h-innealan leasachaidh riatanach uile.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Air an làimh eile, tha protocolaidhean àbhaisteach aig a h-uile camara IP ùr-nodha airson eadar-obrachadh le uidheamachd eile (gu sònraichte, clàran bhidio). Mar sin, tha cleachdadh rianadair air leth a bhios a’ ceangal tro phròtacal àbhaisteach agus a’ craoladh sruthan bhidio bho chamarathan IP chun sgòth a’ toirt buannachdan mòra farpaiseach airson siostaman sgrùdaidh bhidio sgòthan. A bharrachd air an sin, ma tha an neach-dèiligidh air siostam sgrùdaidh bhidio a chuir a-steach mu thràth stèidhichte air camarathan IP sìmplidh, bidh e comasach a leudachadh agus a thionndadh gu bhith na dhachaigh smart sgòth làn-chuimseach.

Is e am protocol as mòr-chòrdte airson siostaman sgrùdaidh bhidio IP, a tha a-nis le taic bho luchd-saothrachaidh camara IP gun eisgeachd Pròifil ONVIF S., aig a bheil mion-chomharrachadh ann an cànan tuairisgeul seirbheisean lìn wsdl. A 'cleachdadh ghoireasan bhon ghoireas gSOAP Tha e comasach còd stòr a ghineadh airson seirbheisean a tha ag obair le camarathan 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

Mar thoradh air an sin, gheibh sinn seata de fhaidhlichean bann-cinn “*.h” agus stòr “*.cpp” ann an C ++, a dh’ fhaodar a chuir gu dìreach ann an tagradh no leabharlann air leth agus a chuir ri chèile a ’cleachdadh an inneal-cruinneachaidh GCC. Air sgàth an iomadh gnìomh, tha an còd mòr agus feumach air optimization a bharrachd. Tha coileanadh gu leòr aig microcomputer modal Raspberry Pi 3 B + gus an còd seo a chuir an gnìomh, ach ma tha feum air an còd a chuir gu àrd-ùrlar eile, feumar ailtireachd pròiseasar ceart agus goireasan siostam a thaghadh.

Tha camarathan IP a bheir taic do inbhe ONVIF, nuair a bhios iad ag obair air lìonra ionadail, ceangailte ri buidheann sònraichte multicast leis an t-seòladh 239.255.255.250. Tha protocol ann WS Discovery, a leigeas leat an rannsachadh airson innealan air an lìonra ionadail gu fèin-obrachail.

Bidh eadar-aghaidh grafaigeach an rianadair dachaigh smart a’ cur an gnìomh gnìomh sgrùdaidh airson camarathan IP ann am PHP, a tha gu math goireasach nuair a bhios tu ag eadar-obrachadh le seirbheisean lìn tro theachdaireachdan XML. Nuair a bhios tu a’ taghadh nithean clàr Innealan > Camaraichean IP > Sganadh Tha an algairim airson camarathan IP a lorg air a chuir air bhog, a’ taisbeanadh an toradh ann an cruth clàr:

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean
(cliog air an dealbh gus fhosgladh ann an rùn nas àirde)

Nuair a chuireas tu camara ris an rianadair, faodaidh tu na roghainnean a shònrachadh a rèir an eadar-obrachadh leis an sgòth. Cuideachd aig an ìre seo, thèid aithnichear inneal sònraichte a thoirt dha gu fèin-ghluasadach, leis am bi e furasta aithneachadh nas fhaide air adhart san sgòth.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

An ath rud, thèid teachdaireachd a chruthachadh ann an cruth JSON anns a bheil a h-uile paramadair den chamara a bharrachd agus air a chuir gu pròiseas frithealaiche an rianadair dachaigh smart tro àithne RESTful API, far a bheil paramadairean a’ chamara air an còdachadh agus air an sàbhaladh ann an stòr-dàta SQLite a-staigh, agus tha iad cuideachd air a chleachdadh airson na snàithleanan giullachd a leanas a chuir air bhog:

  1. stèidheachadh ceangal RTSP gus sruthan bhidio is claisneachd fhaighinn;
  2. transcoding claisneachd bho chruthan G.711 mu-Law, G.711 A-Law, G.723, msaa. gu cruth AAC;
  3. a’ tar-chur sruthan bhidio ann an cruth H.264 agus claisneachd ann an cruth AAC a-steach do shoitheach FLV agus ga chuir chun sgòth tro phròtacal RTMP;
  4. stèidheachadh ceangal ri ceann-uidhe lorgaire gluasad camara IP tro phròtacal ONVIF agus a bhith ga bhòtadh bho àm gu àm;
  5. bho àm gu àm a’ gineadh dealbh ro-shealladh mion-dhealbh agus ga chuir chun sgòth tro phròtacal MQTT;
  6. clàradh ionadail de shruthan bhidio is claisneachd ann an cruth faidhlichean fa leth ann an cruth MP4 air cairt SD no Flash den rianadair dachaigh smart.

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Gus ceangal a stèidheachadh le camarathan, transcode, pròiseas agus clàradh sruthan bhidio ann am pròiseas an fhrithealaiche, thathas a’ cleachdadh gnìomhan bhon leabharlann FFmpeg 4.1.0.

Anns an deuchainn deuchainn coileanaidh, chaidh 3 camarathan a cheangal ris an rianadair:

  1. HiWatch DS-I114W (rùn - 720p, cruth teannachaidh - H.264, bitrate - 1 Mb/s, fuaim G.711 mu-Law);
  2. Microdigital MDC-M6290FTD-1 (rùn - 1080p, cruth teannachaidh - H.264, bitrate - 1 Mb/s, gun fhuaim);
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (rùn - 1080p, cruth teannachaidh - H.264, bitrate - 1.5 Mb / s, claisneachd AAC).

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Chaidh na trì sruthan a chuir a-mach aig an aon àm don sgòth, chaidh tar-chur claisneachd a dhèanamh bho dìreach aon chamara, agus chaidh clàradh tasglann ionadail a chiorramachadh. Bha an luchd CPU timcheall air 5%, bha cleachdadh RAM 32 MB (gach pròiseas), 56 MB (iomlan a’ toirt a-steach OS).

Mar sin, faodar timcheall air 20 - 30 camara a cheangal ris an rianadair dachaigh smart (a rèir rùn agus bitrate), a tha gu leòr airson siostam sgrùdaidh bhidio airson taigh beag trì-sgeulachd no taigh-bathair beag. Airson gnìomhan a dh ’fheumas coileanadh nas fheàrr, faodaidh tu lìon a chleachdadh le pròiseasar Intel ioma-cridhe agus Linux Debian Sarge OS. Tha an rianadair a’ dol tro dheuchainn deuchainn an-dràsta, agus thèid dàta mu a choileanadh ùrachadh.

Eadar-obrachadh leis an sgòth

Bidh dachaigh smart stèidhichte air sgòthan a’ stòradh dàta luchd-cleachdaidh (tomhais bhidio is mothachaidh) san sgòth. Thèid ailtireachd stòradh neòil a dheasbad nas mionaidiche san ath artaigil san t-sreath againn. A-nis bruidhnidh sinn mun eadar-aghaidh airson teachdaireachdan fiosrachaidh a chuir bhon rianadair dachaigh smart chun sgòth.

Tha stàitean innealan ceangailte agus tomhasan mothachaidh air an gluasad tron ​​​​phròtacal MQTT, a tha gu tric air a chleachdadh ann am pròiseactan Internet of Things air sgàth cho sìmplidh ‘s a tha e agus èifeachdas lùtha. Bidh MQTT a’ cleachdadh modal frithealaiche teachdaiche, far am bi teachdaichean a’ fo-sgrìobhadh do chuspairean sònraichte taobh a-staigh a’ bhròcair agus a’ foillseachadh am brathan. Bidh am broker a’ cur teachdaireachdan chun a h-uile neach-aontachaidh a rèir riaghailtean a tha air an suidheachadh leis an ìre QoS (Càileachd Seirbheis):

  • QoS 0 - aon uair aig a’ char as àirde (gun ghealltanas lìbhrigidh);
  • QoS 1 - co-dhiù aon uair (le dearbhadh lìbhrigidh);
  • QoS 2 - dìreach aon turas (le dearbhadh lìbhrigidh a bharrachd).

Anns a 'chùis againn, bidh sinn a' cleachdadh Mosgìoto Eclipse. Is e an t-ainm cuspair an aithnichear sònraichte den rianadair dachaigh smart. Bidh an neach-dèiligidh MQTT taobh a-staigh pròiseas an fhrithealaiche a’ gabhail ris a’ chuspair seo agus ag eadar-theangachadh teachdaireachdan JSON a’ tighinn bhon mhanaidsear teachdaireachd a-steach dha. Air an làimh eile, bidh teachdaireachdan bhon bhròcair MQTT air an cur air adhart leis gu manaidsear na teachdaireachd, a bhios an uairsin gan iomadachadh chun luchd-aontachaidh taobh a-staigh pròiseas an fhrithealaiche:

Dachaigh Cloud Smart. Pàirt 1: Rianadair agus mothachairean

Gus teachdaireachdan a chuir a-mach mu inbhe rianadair dachaigh smart, thathas a’ cleachdadh inneal teachdaireachdan sàbhalaidh teachdaireachdan glèidhte Pròtacal MQTT. Leigidh seo leat sùil cheart a chumail air àm ath-cheangail rè fàilligeadh cumhachd.

Chaidh an neach-dèiligidh MQTT a leasachadh stèidhichte air buileachadh an leabharlainn Eclipse Paho ann an cànan C++.

Bithear a’ cur sruthan meadhanan H.264 + AAC chun sgòth tro phròtacal RTMP, far a bheil buidheann de luchd-frithealaidh mheadhanan an urra ri bhith gan giullachd agus gan stòradh. Gus an luchd anns a’ bhraisle a sgaoileadh gu dòigheil agus an frithealaiche meadhanan as lugha a thaghadh, bidh rianadair na dachaigh spaideil a’ dèanamh iarrtas tòiseachaidh don neach-cothromachaidh luchdan sgòthan agus dìreach às deidh sin a’ cur sruth nam meadhanan air falbh.

co-dhùnadh

Rinn an artaigil sgrùdadh air aon bhuileachadh sònraichte de rianadair dachaigh smart stèidhichte air microcomputer Raspberry Pi 3 B +, as urrainn fiosrachadh fhaighinn, a phròiseasadh agus uidheamachd smachd tro phròtacal Z-Wave, eadar-obrachadh le camarathan IP tro phròtacal ONVIF, agus cuideachd iomlaid dàta agus òrdughan leis an sgòth. seirbheis tro phròtacalan MQTT agus RTMP. Chaidh einnsean loidsig toraidh a leasachadh stèidhichte air coimeas eadar riaghailtean loidsigeach agus fìrinnean air an taisbeanadh ann an cruth JSON.

Tha an rianadair dachaigh smart an-dràsta a’ dol air adhart gu deuchainn aig grunn làraich ann am Moscow agus sgìre Moscow.

Tha an ath dhreach den rianadair an dùil seòrsachan innealan eile a cheangal (RF, Bluetooth, WiFi, uèirleas). Airson goireasachd luchd-cleachdaidh, thèid an dòigh-obrach airson mothachairean agus camarathan IP a cheangal a ghluasad chun tagradh gluasadach. Tha beachdan ann cuideachd airson còd pròiseas an fhrithealaiche a bharrachadh agus am bathar-bog a ghluasad chun t-siostam obrachaidh OpenWrt. Leigidh seo leat sàbhaladh air rianadair air leth agus gnìomhachd dachaigh spaideil a ghluasad gu router àbhaisteach taighe.

Source: www.habr.com

Cuir beachd ann