Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

I tenei ra, he mihi ki te whanaketanga tere o te microelectronics, nga huarahi whakawhitiwhiti korero, nga hangarau Ipurangi me te Artificial Intelligence, kei te kaha haere te kaupapa o nga kaainga atamai. He nui nga huringa o te whare tangata mai i te wa o te Stone Age, a, i te wa o te Huringa Ahumahi 4.0 me te Ipurangi o nga Mea, kua pai, kua whai hua, kua noho haumaru. Kei te haere mai nga otinga ki te maakete e huri ana i tetahi whare noho, i tetahi whare whenua ranei ki nga punaha korero matatini e whakahaerehia ana mai i nga waahi katoa o te ao ma te whakamahi i te waea atamai. I tua atu, ko te taunekeneke tangata-miihini kaore e hiahia ana ki te mohio ki nga reo whakamaoritanga - na te mohiotanga korero me te whakahiato algorithms, ka korero tetahi tangata ki tetahi kaainga atamai i roto i tona reo taketake.

Ko etahi o nga punaha kaainga atamai kei runga i te maakete he whanaketanga arorau o nga punaha tirotiro ataata kapua, i mohio nga kaihanga i te hiahia mo te otinga matawhānui ehara i te mea mo te aro turuki, engari mo te whakahaere i nga taonga mamao.

Ka tukuna atu e matou ki a koe he raupapa o nga tuhinga e toru, ka korero ki a koe mo nga waahanga matua katoa o te punaha kaainga atamai kapua, i hangaia e te kaituhi me te mahi. Ko te tuhinga tuatahi e whakatapua ana ki nga taputapu a te kiritaki kua whakauruhia ki roto i te kaainga atamai, te tuarua ki te hoahoanga o te rokiroki kapua me te punaha tukatuka raraunga, ka mutu, ko te tuatoru ki te tono a te kiritaki mo te whakahaere i te punaha i runga i nga taputapu pūkoro me nga taputapu tuuturu.

Nga taputapu kaainga atamai

Tuatahi, me korero tatou me pehea te hanga i tetahi kaainga maamaa mai i te whare noho noa, te dacha, te whare ranei. Ki te mahi i tenei, hei tikanga, me whakanoho nga taputapu e whai ake nei ki te kainga:

  1. pūoko e ine ana i nga momo tawhā taiao;
  2. nga kaiwhakatere e mahi ana i nga taonga o waho;
  3. he pūmana e mahi tātai ana i runga i ngā inenga pūoko me te arorau tāmau, me te tuku whakahau ki ngā kaiwhakatere.

Ko te ahua e whai ake nei e whakaatu ana i te hoahoa o te kainga atamai, kei runga he pukoro mo te rerenga wai (1) i roto i te kaukau, te pāmahana (2) me te rama (3) i roto i te whare moenga, he turanga atamai (4) i te kihini me te kāmera tirotiro ataata (5) i te huarahi.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

I tenei wa, ka whakamahia nga kawa ahokore ma te whakamahi i nga tikanga RF433, Z-Wave, ZigBee, Bluetooth me WiFi. Ko o ratou painga nui ko te ngawari o te whakauru me te whakamahi, me te utu iti me te pono, no te mea Kei te ngana nga Kaihanga ki te kawe mai i a raatau taputapu ki te maakete papatipu kia uru atu ki nga kaiwhakamahi toharite.

Ko nga pukoro me nga kaitahuri, hei tikanga, ka honoa ma te atanga ahokore ki te kaitoha kaainga atamai (6) - he rorohiko moroiti motuhake e whakakotahi ana i enei taputapu katoa ki te whatunga kotahi ka whakahaere i a raatau.

Heoi ano, ka taea e etahi otinga te whakakotahi i te pukoro, te kaiwhakatere me te kaiwhakahaere i te wa kotahi. Hei tauira, ka taea te whakamaarama i te mono atamai ki te whakaka, ki te whakaweto ranei i runga i te waarangi, ka taea e te kaamera tirotiro ataata kapua te tuhi ataata i runga i te tohu motini. I nga keehi ngawari, ka taea e koe te mahi me te kore he kaiwhakahaere motuhake, engari ki te hanga i tetahi punaha ngawari me te maha o nga ahuatanga, he mea tika.

Hei hono i te kaiwhakahaere o te kaainga atamai ki te whatunga o te ao, ka taea te whakamahi i te pouara Ipurangi (7), kua roa kua noho hei taputapu whare noa i nga kaainga katoa. Anei tetahi atu tautohetohe mo te kaiwhakahaere o te kaainga atamai - mena ka ngaro te hononga ki te Ipurangi, ka mahi tonu te kaainga atamai ki te mihi ki te poraka arorau kei roto i te kaiwhakahaere, kaua ki te ratonga kapua.

Kaiwhakahaere whare atamai

Ko te kaiwhakahaere mo te punaha kaainga atamai kapua e korerohia ana i tenei tuhinga ka whakawhanakehia i runga i te rorohiko rorohiko kotahi-poari Rahipere Pi 3 tauira B+, i tukuna i te Maehe 2018, a he rawaka nga rauemi me nga mahi mo nga mahi kaainga atamai. Kei roto ko te tukatuka Cortex-A53 quad-core i runga i te hoahoanga 64-bit ARMv8-A, kua karaka ki te 1.4 GHz, me te 1 GB RAM, Wi-Fi 802.11ac, Nihokikorangi 4.2 me te taapiri Ethernet gigabit e mahi ana ma te USB 2.0 .

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

He tino ngawari te whakaemi i te kaiwhakahaere - kua whakauruhia te rorohiko moroiti (1) ki roto i te pouaka kirihou (2), katahi ka whakauruhia he kaari mahara 8 GB i roto i te whakatakotoranga microSD me te rorohiko (3) me te USB Z-Wave kaiwhakahaere whatunga (4) ka whakauruhia ki roto. nga mokamoka e rite ana. Kei te hono te kaiwhakahaere o te whare atamai ki te hiko hiko ma te 5V, 2.1A urutau hiko (5) me te USB - taura micro-USB (6). He tau tautuhi ahurei kei ia kaiwhakahaere, kua tuhia ki te konae whirihoranga i te wa tuatahi i whakarewahia ai, he mea tika hoki ki te taunekeneke me nga ratonga kaainga atamai kapua.

I whakawhanakehia e te kaituhi o tenei tuhinga te punaha whakahaere kaainga atamai i runga i te punaha whakahaere Linux Raspbian Totoro. Kei roto i nga punaha iti e whai ake nei:

  • tukanga tūmau mo te taunekeneke me nga taputapu kaainga atamai me te kapua;
  • atanga kaiwhakamahi kauwhata mo te whakarite i te whirihoranga me nga tawhā whakahaere o te kaiwhakahaere;
  • pātengi raraunga mō te rokiroki whirihoranga pūmana.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Pātengi Raraunga Ka whakatinanahia te kaiwhakahaere kaainga atamai i runga i te DBMS kua whakauruhia SQLite he konae kei runga i te kaari SD me nga punaha punaha. Ka noho hei rokiroki mo te whirihoranga kaiwhakahaere - nga korero mo nga taputapu hono me tona ahuatanga o naianei, he poraka o nga ture whakaputa arorau, me nga korero e hiahia ana ki te whakariterite (hei tauira, nga ingoa konae o te purongo ataata o te rohe). Ina whakaara ano te kaiwhakahaere, ka tiakina enei korero, ka taea te whakaora i te kaiwhakahaere mena ka kore te hiko.

Atanga whakairoiro I whakawhanakehia te kaiwhakahaere kaainga atamai ki PHP 7 ma te whakamahi i te microframework pīrahi. Ko te tūmau tukutuku te kawenga mo te whakahaere i te tono. lighttpd, he maha nga wa e whakamahia ana i roto i nga taputapu whakauru na te pai o te mahi me te iti o nga whakaritenga rauemi.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko
(pawhiria te pikitia hei whakatuwhera ki te taumira teitei ake)

Ko te mahi matua o te atanga kauwhata ko te hono i nga taputapu kaainga atamai (nga kamera tirotiro IP me nga puoro) ki te kaiwhakahaere. Ka panuihia e te tono tukutuku te whirihoranga me te ahuatanga o naianei o te kaiwhakahaere me nga taputapu e hono ana ki a ia mai i te papaunga raraunga SQLite. Hei huri i te whirihoranga kaiwhakahaere, ka tukuna e ia nga whakahau mana i roto i te whakatakotoranga JSON ma te atanga API RESTful o te tukanga tūmau.

Te tukanga tūmau

Te tukanga tūmau - he waahanga matua e mahi ana i nga mahi matua katoa mo te whakaaunoa i nga tikanga korero hei turanga mo te kaainga atamai: te whiwhi me te tukatuka i nga raraunga tairongo, te whakaputa i nga mahi whakahaere i runga i te arorau whakauru. Ko te kaupapa o te tukanga tūmau he taunekeneke me nga taputapu kaainga atamai, te mahi ture arorau whakangao, te whiwhi me te tukatuka i nga whakahau mai i te atanga kauwhata me te kapua. Ko te tukanga tūmau i roto i te kaiwhakahaere o te whare atamai e whakaarohia ana ka whakatinanahia hei tono miro-maha i whakawhanakehia i C ++ ka whakarewahia hei ratonga motuhake. pūnaha punaha whakahaere Linux Raspbian.

Ko nga poraka matua o te tukanga tūmau ko:

  1. Kaiwhakahaere Karere;
  2. tūmau kāmera IP;
  3. Z-Wave tūmau pūrere;
  4. Tūmau o te hanga ture arorau;
  5. Raraunga raraunga o te whirihoranga o te kaiwhakahaere me te poraka o nga ture arorau;
  6. RESTful API tūmau mo te taunekeneke me te atanga kauwhata;
  7. MQTT kiritaki mo te taunekeneke ki te kapua.

Ka whakatinanahia nga poraka tukanga tūmau hei miro motuhake, ka whakawhitihia nga korero i waenga i te ahua o nga karere i roto i te whakatakotoranga JSON (he hanganga raraunga ranei e tohu ana i tenei whakatakotoranga i roto i te mahara tukanga).

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Ko te waahanga matua o te tukanga tūmau kaiwhakahaere karere, e arai ana i nga karere JSON ki nga poraka tukatuka tūmau katoa. Ko nga momo apure korero karere a JSON me nga uara ka taea e ratou te whakaae kua whakarārangihia ki te ripanga:

Momo taputapu
kawa
Momo karere
deviceState
whakahau

kāmera
onvif
PūrongoRaraunga
on
romaroma(Ka/Weto)

pūoko
ngarue
whakahau
atu
tuhi(Ka/Weto)

whaihua
mqtt
pakihiLogicRule
romaroma(Ka/Weto)
taputapu(Tāpiri/Tangohia)

pakihiLogic
configurationRaraunga
tuhi(Ka/Weto)

Nihokikorangi
deviceState
hapa

wifi

rf

Hei tauira, he penei te ahua o tetahi karere mai i te kaamera nekehanga:

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

Hangarau arorau

Ki te whiwhi, ki te tuku karere mai i te kaituku, ka ohauru te poraka tukanga tūmau ki nga karere o tetahi momo. Ko te ohaurunga he ture arorau whakaputa o te momo "Ki te ... ka ...", ka whakaatuhia i roto i te whakatakotoranga JSON, me te hono ki te kaikawe karere i roto i te poraka tukanga tūmau. Hei tauira, ki te tuku i te tūmau kāmera IP ki te whiwhi whakahau mai i te GUI me te kapua, me taapiri e koe te ture e whai ake nei:

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

Mena kua tohua nga tikanga i roto i mua (taha maui) he pono nga ture, katahi ka makona huanga (taha matau) nga ture, a ka uru te kaihautu ki te tinana o te karere JSON. Ka tautokohia e te korero o mua nga kaiwhakahaere arorau e whakataurite ana i nga takirua uara-matua JSON:

  1. he rite ki te "rite";
  2. e kore e rite ki te "kore_rite";
  3. iti "iti";
  4. "nui ake";
  5. iti iho i te rite ranei ki te "iti_ranei_rite";
  6. nui ake i te rite ranei ki te "nui_o_rite".

Ko nga hua whakatairite ka taea te hono tetahi ki tetahi ma te whakamahi i nga kaiwhakahaere taurangi Boolean:

  1. A "me"
  2. RĀNEI "ranei";
  3. KAUA "kaore".

No reira, ma te tuhi i nga kaiwhakahaere me nga operan ki te tuhipoka Polani, ka taea e koe te hanga tikanga tino uaua me te maha o nga tawhā.

He rite tonu te tikanga, i runga i nga karere a JSON me nga ture whakaputa i roto i te whakatakotoranga JSON, e whakamahia ana i roto i te poraka tūmau arorau whakaputa hei tohu i te matauranga me te kawe i te whakatau arorau ma te whakamahi i nga raraunga tairongo mai i nga pukoro o te kaainga atamai.

Ma te whakamahi i te tono pūkoro, ka hangaia e te kaiwhakamahi nga ahuatanga e rite ana ki te mahi a te kaainga atamai. Hei tauira: "Mena ka puta te pukoro mo te whakatuwhera i te tatau o mua, katahi ka whakakāhia te rama i te huarahi". Ka panuihia e te tono nga tohu o nga kaitoro (tuwhera pukoro) me nga kaikohikohi (te turanga atamai, rama rama maamaa ranei) mai i te papaarangi me te whakaputa i tetahi ture arorau ki te whakatakotoranga JSON, ka tukuna ki te kaiwhakahaere o te kaainga atamai. Ko tenei tikanga ka korerohia i roto i te tuhinga tuatoru o ta maatau raupapa, ka korerohia e matou mo te tono a te kiritaki mo te whakahaere i te kaainga atamai.

Ko te tikanga arorau whakaputa kua korerohia i runga ake nei ka whakatinanahia ma te whakamahi i te whare pukapuka RapidJSON — Parser SAX mo te whakatakotoranga JSON i C++. Ko te panui raupapa me te panui i nga momo ture whakaputa ka taea e koe te whakamahi ngawari i te mahi whakatairite raraunga i roto i nga waahanga o mua:

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

ko te reira pFact — he hanganga kei roto nga takirua uara-matua mai i te karere JSON, m_Ture — rarangi aho o nga ture whakaputa. Ko te whakataurite o te karere taumai me te ture whakaputa ka mahia i roto i te mahi kaipānui.Parse(ruleStream, ruleHandler)te wahi whakahaereKaiwhakahaere he ahanoa kei roto te arorau o te Boolean me nga kaiwhakariterite. sRuleId — he kaitautuhi ture ahurei, na reira ka taea te penapena me te whakatika i nga ture i roto i te putunga korero mo te kaiwhakahaere kaainga. m_pActions — he huinga me nga hua o te whakatauaro arorau: Ko nga karere a JSON kei ​​roto nga hua mai i te turanga ture ka tukuna atu ki te kaiwhakahaere karere kia taea e nga miro kaiohauru te tukatuka.

Ko te mahi RapidJSON he rite ki te mahi strlen(), me te iti rawa o nga whakaritenga rauemi punaha ka taea te whakamahi i tenei whare pukapuka i roto i nga taputapu whakauru. Ko te whakamahi i nga karere me nga ture arorau i roto i te whakatakotoranga JSON ka taea e koe te whakatinana i tetahi punaha ngawari o te whakawhiti korero i waenga i nga waahanga katoa o te kaiwhakahaere kaainga atamai.

Z-Wave Pūoko me Actuators

Ko te painga nui o te kaainga atamai ka taea e ia te ine takitahi i nga momo tawhā o te taiao o waho me te mahi i nga mahi whai hua i runga i te ahuatanga. Ki te mahi i tenei, ka hono nga kaitoro me nga kaitahuri ki te kaiwhakahaere kaainga atamai. I te putanga o naianei, he taputapu ahokore enei e mahi ana ma te whakamahi i te kawa Z-Ngaru i runga i te auau kua wehea motuhake 869 MHz Mo Ruhia. Hei mahi, ka honoa ki roto i te kupenga mata, kei roto nga tohu tukurua hei whakanui ake i te rohe kapinga. He aratau whakaora hiko motuhake ano nga taputapu - ka noho ratou i te nuinga o te waa i roto i te aratau moe me te tuku korero i te wa e huri ana o raatau ahuatanga, ka taea te roa te roa o te ora o te pākahiko i hangaia.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Inaianei ka kitea e koe te maha o nga momo taputapu Z-Wave i runga i te maakete. Kia titiro tatou ki etahi tauira:

  1. Ka taea e te waahi atamai Zipato PAN16 te ine i nga tawhā e whai ake nei: kohi hiko (kWh), hiko (W), ngaohiko (V) me te naianei (A) i roto i te whatunga hiko. Kei a ia ano he pana kua hangaia hei whakahaere i te taputapu hiko hono;
  2. Ka kitea e te Neo Coolcam leak sensor te ahua o te wai maringi ma te kati i nga hononga o te tirotiro mamao;
  3. Ko te pukoro auahi Zipato PH-PSG01 ka puta i te wa e uru ana nga matūriki auahi ki roto i te ruma tātari hau;
  4. Ko te Neo Coolcam motion sensor e tātari ana i te irirangi infrared o te tinana tangata. I tua atu he pukoro marama (Lx);
  5. Multisensor Philio PST02-A ka ine i te mahana (°C), te marama (%), te whakatuwhera o te tatau, te noho o te tangata i roto i te ruma;
  6. Z-Wave USB Stick ZME E UZB1 kaiwhakahaere whatunga, e hono ana nga pūoko.

He mea nui kia rite tonu te mahi o nga taputapu me te kaiwhakahaere, mena ka kore e kite tetahi ki tetahi i te wa o te hononga. Tae atu ki te 232 nga taputapu ka taea te hono atu ki tetahi kaiwhakahaere whatunga Z-Wave, he tino ranea mo te whare noho, he whare whenua ranei. Hei whakawhänui i te rohe kapi whatunga i roto i te whare, ka taea te whakamahi i te turanga atamai hei tukurua tohu.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

I roto i te tukanga tūmau pūmana kāinga atamai i kōrerohia i te kōwae o mua, ko te tūmau Z-Wave te kawenga mo te taunekeneke me nga taputapu Z-Wave. Ka whakamahia he whare pukapuka ki te whiwhi korero mai i nga puoro OpenZWave i roto i te C ++, e whakarato ana i te atanga mo te taunekeneke ki te Z-Wave whatunga USB pūmana me te mahi ki te maha o nga pūoko me nga kaitahuri. Ko te uara o te tawhā taiao i inehia e te puoro ka tuhia e te Z-Wave server i te ahua o te karere 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 tukuna atu ki te kaiwhakahaere karere o te tukanga tūmau kia whiwhi ai nga miro kaiohauru. Ko te kaiohauru matua ko te tūmau arorau whakaputa, e rite ana ki nga uara mara karere i roto i nga waahanga o mua o nga ture arorau. Ko nga hua o te whakatau i roto i nga whakahau mana ka whakahokia ki te kaiwhakahaere karere, mai i reira ka haere ki te tūmau Z-Wave, ka wetewetehia, ka tukuna ki te kaiwhakahaere USB whatunga Z-Wave. Na ka uru atu ratou ki te kaitahuri, ka huri i te ahua o nga taonga taiao, a ka mahi te kaainga atamai i nga mahi whai hua.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko
(pawhiria te pikitia hei whakatuwhera ki te taumira teitei ake)

Ko te hono i nga taputapu Z-Wave ka mahia i roto i te atanga kauwhata o te kaiwhakahaere kaainga atamai. Ki te mahi i tenei, haere ki te whaarangi me te rarangi o nga taputapu ka paato i te paatene "Tāpiri". Ko te whakahau taapiri ma te atanga API RESTful ka uru ki te tukanga tūmau ka tukuna e te kaiwhakahaere karere ki te tūmau Z-Wave, ka tukuna te kaiwhakahaere USB whatunga Z-Wave ki tetahi aratau motuhake mo te taapiri i nga taputapu. I muri mai, i runga i te taputapu Z-Wave ka hiahia koe ki te hanga i te raupapa o nga pene tere (3 nga paahi i roto i te 1,5 hēkona) o te paatene ratonga. Ka honoa e te kaiwhakahaere USB te taputapu ki te whatunga me te tuku korero mo taua mea ki te tūmau Z-Wave. Na, ka hanga he urunga hou ki te papaaarangi SQLite me nga tawhā o te taputapu hou. Whai muri i te waa kua tohua, ka hoki mai te atanga kauwhata ki te wharangi rarangi taputapu Z-Wave, ka panui i nga korero mai i te paataka raraunga me te whakaatu i te taputapu hou ki te raarangi. Ka whakawhiwhia e ia taputapu tana ake tohu tohu motuhake, e whakamahia ana i roto i nga ture whakatau whakaputa me te mahi i roto i te kapua. Ko te mahinga o tenei algorithm ka whakaatuhia ki te hoahoa UML:

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko
(pawhiria te pikitia hei whakatuwhera ki te taumira teitei ake)

Te hono i nga kamera IP

Ko te punaha whare atamai kapua e korerohia ana i roto i tenei tuhinga ko te whakahoutanga o te punaha tirotiro ataata kapua, i whakawhanakehia ano e te kaituhi, kua maha nga tau kei runga i te maakete, he maha nga whakaurunga i Russia.

Mo nga punaha tirotiro ataata kapua, ko tetahi o nga raru nui ko te kowhiringa iti o nga taputapu ka taea te whakauru. Ko te raupaparorohiko e hono ana ki te kapua ka whakauruhia ki roto i te kaamera ataata, e tono nui ana ki ana taputapu - te tukatuka me te nui o te mahara kore utu. Ko tenei te nuinga e whakamarama ana i te utu teitei ake o nga kamera CCTV kapua ka whakaritea ki nga kamera IP auau. Hei taapiri, he roa te wa o nga whiriwhiringa me nga kamupene hanga kamera CCTV me uru ki te punaha konae kamera me nga taputapu whanaketanga katoa.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

I tetahi atu taha, ko nga kamera IP hou katoa he kawa paerewa mo te taunekeneke me etahi atu taputapu (ina koa, nga rekoata ataata). Na, ko te whakamahi i tetahi kaiwhakahaere motuhake e hono ana ma te kawa paerewa me te tuku i nga awa ataata mai i nga kamera IP ki te kapua ka whakarato i nga painga whakataetae nui mo nga punaha tirotiro ataata kapua. Ano, mena kua whakauruhia e te kaihoko he punaha tirotiro ataata i runga i nga kaamera IP ngawari, katahi ka taea te whakawhānui ake ka huri hei kaainga atamai kapua.

Ko te kawa tino rongonui mo nga punaha tirotiro ataata IP, e tautokohia ana e nga kaihanga kamera IP katoa kaore he rereke, ko Profile ONVIF S, kei roto i te reo whakaahuatanga ratonga tukutuku wsdl. Te whakamahi taputapu mai i te kete taputapu gSOAP Ka taea te whakaputa waehere puna mo nga ratonga e mahi ana me nga kamera 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

Ko te mutunga, ka whiwhi tatou i te huinga pane "*.h" me te puna "*.cpp" i roto i te C++, ka taea te whakanoho tika ki tetahi tono, ki tetahi whare pukapuka motuhake ranei ka whakahiato ma te whakamahi i te GCC compiler. Na te maha o nga mahi, he nui te waehere me te hiahia kia arotau. Ko te tauira Raspberry Pi 3 B+ microcomputer he rawaka te mahi ki te mahi i tenei waehere, engari mena he hiahia ki te tauranga i te waehere ki tetahi atu papaahi, he mea tika ki te kowhiri i te hoahoanga tukatuka tika me nga rauemi punaha.

Ko nga kamera IP e tautoko ana i te paerewa ONVIF, i te wa e mahi ana i runga i te whatunga rohe, e hono ana ki tetahi roopu multicast motuhake me te wahitau 239.255.255.250. He kawa WS Discovery, ka taea e koe te whakaaunoa i te rapu taputapu i runga i te whatunga rohe.

Ko te atanga kauwhata o te kaiwhakahaere o te kaainga atamai e whakatinana ana i te mahi rapu mo nga kamera IP i roto i te PHP, he tino watea i te wa e taunekeneke ana me nga ratonga tukutuku ma nga karere XML. I te wa e whiriwhiri ana i nga mea tahua Pūrere > Kāmera IP > Matawai Ka whakarewahia te algorithm mo te rapu kamera IP, e whakaatu ana i te hua i te ahua o te ripanga:

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko
(pawhiria te pikitia hei whakatuwhera ki te taumira teitei ake)

Ka taapirihia e koe he kamera ki te kaiwhakahaere, ka taea e koe te tautuhi i nga tautuhinga e pa ana ki a ia me te kapua. I tenei wa ano, ka tautapahia he tohu tohu taputapu motuhake, ma reira ka ngawari te tautuhi i roto i te kapua.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

I muri mai, ka puta he karere i roto i te whakatakotoranga JSON kei ​​roto nga tawhā katoa o te kamera taapiri ka tukuna ki te tukanga tūmau o te kaiwhakahaere o te whare atamai ma te whakahau RESTful API, kei reira ka wetewetehia nga taapiri kamera ka tiakina ki roto i te papaaarangi o roto SQLite, a ka whakamahia hoki ki te whakarewa i nga miro tukatuka e whai ake nei:

  1. te whakarite hononga RTSP ki te whiwhi i nga roma ataata me te oro;
  2. whakawhiti ororongo mai G.711 mu-Law, G.711 A-Law, G.723, aha atu. ki te whakatakotoranga AAC;
  3. whakawhiti rerenga ataata i roto i te H.264 hōputu me te oro i roto i te hōputu AAC ki te ipu FLV me te tuku ki te kapua mā te kawa RTMP;
  4. te whakarite hononga ki te pito mutunga o te kaitirotiro nekehanga kamera IP ma te kawa ONVIF me te pooti i ia wa;
  5. te whakaputa i ia wa he atahanga karakōnui arokite me te tuku ki te kapua mā te kawa MQTT;
  6. te rekoata a-rohe o nga riipene ataata me nga ororongo i roto i te ahua o nga konae motuhake i roto i te whakatakotoranga MP4 ki runga i te kaari SD, Flash ranei o tetahi kaiwhakahaere kaainga atamai.

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Hei whakarite hononga ki nga kamera, whakawhiti waehere, tukatuka me te tuhi i nga awa ataata i roto i te mahinga tūmau, ka whakamahia nga mahi mai i te whare pukapuka. FFmpeg 4.1.0.

I roto i te whakamatautau whakamatautau mahi, e toru nga kamera i hono ki te kaiwhakahaere:

  1. HiWatch DS-I114W (taumira - 720p, hōputu kōpeketanga - H.264, auau moka - 1 Mb/s, tangi G.711 mu-Law);
  2. Microdigital MDC-M6290FTD-1 (taumira - 1080p, hōputu kōpeketanga - H.264, tere moka - 1 Mb/s, kore tangi);
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (taumira - 1080p, hōputu kōpeketanga - H.264, tere moka - 1.5 Mb/s, AAC ororongo).

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Ko nga awa katoa e toru i puta i te wa kotahi ki te kapua, i mahia te whakawhiti ororongo mai i te kamera kotahi, ka monokia te rekoata purongo o te rohe. Tata ki te 5% te utaina PTM, 32 MB te whakamahi RAM (mo ia tukanga), 56 MB (tae atu ki te OS).

No reira, tata ki te 20 - 30 nga kaamera ka taea te hono atu ki te kaiwhakahaere o te kaainga atamai (i runga i te whakataunga me te tere moka), he nui mo te punaha tirotiro ataata mo te whare e toru nga papa, he whare putunga iti ranei. Mo nga mahi e hiahia ana kia nui ake te mahi, ka taea e koe te whakamahi i te kupenga me te tukatuka Intel maha-matua me te Linux Debian Sarge OS. I tenei wa kei te whakamatautauhia te kaiwhakahaere, a ka whakahouhia nga raraunga mo ana mahi.

Te taunekeneke ki te kapua

Ko te whare atamai e ahu mai ana i te kapua ka penapena i nga raraunga kaiwhakamahi (ataata me nga inenga puoro) i roto i te kapua. Ko te hoahoanga o te rokiroki kapua ka korerohia i roto i nga korero e whai ake nei i roto i ta maatau raupapa. Inaianei me korero tatou mo te atanga mo te tuku korero korero mai i te kaiwhakahaere kaainga atamai ki te kapua.

Ko nga ahuatanga o nga taputapu hono me nga inenga puoro ka tukuna ma te kawa MQTT, he maha nga wa e whakamahia ana i roto i nga kaupapa Ipurangi o nga Mea na te ngawari me te kaha o te kaha. Ka whakamahi a MQTT i tetahi tauira kaihoko-tūmau, ka ohauru nga kaihoko ki nga kaupapa motuhake i roto i te kaihokohoko me te whakaputa i a raatau karere. Ka tukuna e te kaihokohoko nga karere ki nga kaiohauru katoa i runga i nga ture i whakatauhia e te taumata QoS (Kounga o te Ratonga):

  • QoS 0 - morahi kotahi (kaore he taurangi tuku);
  • QoS 1 - i te iti rawa kia kotahi (me te whakaurunga tuku);
  • QoS 2 - kotahi tonu (me etahi atu whakapumautanga tuku).

I roto i to maatau, ka whakamahia e matou Eclipse Mosquito. Ko te ingoa kaupapa ko te tohu motuhake o te kaiwhakahaere kaainga atamai. Ko te kiritaki MQTT i roto i te tukanga tūmau ka ohauru ki tenei kaupapa me te whakamaori i nga karere JSON mai i te kaiwhakahaere karere ki roto. Engari, ko nga karere mai i te kaihokohoko MQTT ka tukuna atu e ia ki te kaiwhakahaere karere, ka maha ake ai ki ana kaiohauru i roto i te tukanga tūmau:

Kapua Smart Home. Wāhanga 1: Kaiwhakahaere me nga pūoko

Hei tuku karere mo te mana o te kaiwhakahaere o te kaainga atamai, ka whakamahia te tikanga o nga karere kua tiakina nga karere pupuri Kawa MQTT. Ma tenei ka taea e koe te aro turuki tika i te waa o nga hononga ano i te wa e ngaro ana te hiko.

I whakawhanakehia te kiritaki MQTT i runga i te whakatinanatanga o te whare pukapuka Eclipse Paho i te reo C++.

Ko nga awa pāpāho H.264 + AAC ka tukuna ki te kapua ma te kawa RTMP, kei reira te roopu o nga kaiwhakarato pāpāho te kawenga mo te tukatuka me te penapena. Kia pai ai te tohatoha o te kawenga i roto i te tautau me te kowhiri i te tūmau pāpāho iti rawa te utaina, ka tono tuatahi te kaiwhakahaere o te kaainga atamai ki te taurite kawenga kapua katahi ka tukuna te awa pāpāho.

mutunga

I tirotirohia e te tuhinga tetahi whakatinanatanga motuhake o te kaiwhakahaere kaainga atamai i runga i te Rasipiberi Pi 3 B+ microcomputer, ka taea te tango, te tukatuka korero me nga taputapu whakahaere ma te kawa Z-Wave, te taunekeneke me nga kamera IP ma te kawa ONVIF, me te whakawhiti raraunga me te nga whakahau me te kapua. ratonga ma te MQTT me nga tikanga RTMP. Kua whakawhanakehia he miihini arorau hanga i runga i te whakataurite o nga ture arorau me nga meka e whakaatuhia ana i te whakatakotoranga JSON.

Ko te kaiwhakahaere o te kaainga atamai kei te whakahaere whakamatautau i nga waahi maha i Moscow me te rohe o Moscou.

Ko te putanga o muri o te kaiwhakahaere e whakamahere ana ki te hono atu i etahi atu momo taputapu (RF, Nihokikorangi, WiFi, waea waea). Mo te pai o nga kaiwhakamahi, ko te tikanga mo te hono i nga puoro me nga kamera IP ka whakawhitia ki te tono waea. He whakaaro ano mo te arotau i te waehere tukanga tūmau me te kawe i te rorohiko ki te punaha whakahaere TuwheraWrt. Ma tenei ka taea e koe te penapena i runga i tetahi kaiwhakahaere motuhake me te whakawhiti i nga mahi o te kaainga atamai ki te pouara whare.

Source: will.com

Tāpiri i te kōrero