Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

A yau, godiya ga saurin ci gaban microelectronics, tashoshi na sadarwa, fasahar Intanet da fasaha na Artificial Intelligence, batun gidaje masu wayo ya zama mafi dacewa. Gidajen ɗan adam sun sami canje-canje masu mahimmanci tun zamanin Dutse da kuma zamanin juyin juya halin masana'antu 4.0 da Intanet na Abubuwa, ya zama mai daɗi, aiki da aminci. Magani suna zuwa kasuwa waɗanda ke juya gida ko gidan ƙasa zuwa tsarin tsarin bayanai masu rikitarwa waɗanda aka sarrafa daga ko'ina cikin duniya ta amfani da wayar hannu. Haka kuma, hulɗar ɗan adam da na'ura ba ta buƙatar ilimin harsunan shirye-shirye - godiya ga fahimtar magana da haɓaka algorithms, mutum yana magana da gida mai wayo a cikin yarensu na asali.

Wasu tsarin gida masu wayo a halin yanzu akan kasuwa sune haɓakar ma'ana na tsarin kula da bidiyo na girgije, waɗanda masu haɓakawa suka fahimci buƙatar cikakken bayani ba kawai don saka idanu ba, har ma don sarrafa abubuwa masu nisa.

Muna gabatar muku da jerin labarai guda uku, waɗanda za su ba ku labarin duk mahimman abubuwan da ke cikin tsarin gida mai wayo, wanda marubucin ya haɓaka da kansa kuma ya fara aiki. Labari na farko an sadaukar da shi ne ga kayan aikin abokin ciniki na tashar da aka sanya a cikin gida mai wayo, na biyu zuwa tsarin gine-ginen ajiyar girgije da tsarin sarrafa bayanai, kuma a ƙarshe, na uku zuwa aikace-aikacen abokin ciniki don sarrafa tsarin akan na'urorin hannu da na tsaye.

Smart gida kayan aiki

Da farko, bari muyi magana game da yadda ake yin gida mai kaifin baki daga cikin gida na yau da kullun, dacha ko gida. Don yin wannan, a matsayin mai mulkin, wajibi ne a sanya kayan aiki masu zuwa a cikin gida:

  1. na'urori masu auna firikwensin da ke auna sigogin muhalli daban-daban;
  2. masu aiki da abubuwa na waje;
  3. mai sarrafawa wanda ke yin ƙididdiga daidai da ma'aunin firikwensin da dabaru da aka haɗa, kuma yana ba da umarni ga masu kunnawa.

Hoton da ke gaba yana nuna zane na gida mai wayo, wanda a ciki akwai na'urori masu auna firikwensin ruwa (1) a cikin gidan wanka, zazzabi (2) da haske (3) a cikin ɗakin kwana, soket mai wayo (4) a cikin kicin da kyamarar sa ido na bidiyo (5) a cikin hallway.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

A halin yanzu, na'urori masu auna firikwensin da ke aiki ta amfani da ka'idojin RF433, Z-Wave, ZigBee, Bluetooth da WiFi ana amfani da su sosai. Babban fa'idodin su shine sauƙin shigarwa da amfani, da ƙarancin farashi da aminci, saboda Masu kera suna ƙoƙari su kawo na'urorin su zuwa kasuwa mai yawa kuma su sa su isa ga matsakaicin mai amfani.

Sensors da actuators, a matsayin mai mulkin, ana haɗa su ta hanyar sadarwa mara waya zuwa mai kula da gida mai kaifin baki (6) - ƙwararriyar microcomputer wacce ke haɗa duk waɗannan na'urori zuwa cibiyar sadarwa guda ɗaya kuma tana sarrafa su.

Koyaya, wasu mafita zasu iya haɗa firikwensin, mai kunnawa da mai sarrafawa a lokaci guda. Misali, ana iya tsara filogi mai wayo don kunnawa ko kashewa bisa ga jadawali, kuma kyamarar kula da bidiyo ta girgije tana iya yin rikodin bidiyo bisa siginar gano motsi. A cikin mafi sauki lokuta, zaka iya yin ba tare da mai sarrafawa daban ba, amma don ƙirƙirar tsarin sassauƙa tare da al'amuran da yawa, ya zama dole.

Don haɗa mai kula da gida mai wayo zuwa cibiyar sadarwar duniya, ana iya amfani da na'ura mai ba da hanya tsakanin hanyoyin sadarwa (7) na yau da kullun, wanda ya daɗe ya zama kayan aikin gida na kowa a kowane gida. Anan akwai wata gardama a cikin ni'imar mai kula da gida mai kaifin baki - idan haɗin Intanet ya ɓace, gida mai wayo zai ci gaba da aiki azaman al'ada godiya ga toshe dabaru da aka adana a cikin mai sarrafawa, kuma ba a cikin sabis na girgije ba.

Mai sarrafa gida mai wayo

Mai kula da tsarin gida mai wayo da aka tattauna a cikin wannan labarin an haɓaka shi akan microcomputer na allo guda ɗaya Rasberi Pi 3 samfurin B+, wanda aka saki a cikin Maris 2018 kuma yana da isassun albarkatu da aiki don ayyukan gida mai wayo. Ya haɗa da mai sarrafa quad-core Cortex-A53 dangane da gine-ginen 64-bit ARMv8-A, wanda aka rufe a 1.4 GHz, da 1 GB na RAM, Wi-Fi 802.11ac, Bluetooth 4.2 da adaftan gigabit Ethernet da ke aiki ta USB 2.0 .

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Haɗa mai sarrafawa abu ne mai sauqi qwarai - an shigar da microcomputer (1) a cikin akwati na filastik (2), sannan katin ƙwaƙwalwar ajiya 8 GB a cikin tsarin microSD tare da software (3) da mai kula da hanyar sadarwa na USB Z-Wave (4) madaidaitan ramummuka. An haɗa mai kula da gida mai wayo zuwa wutar lantarki ta hanyar 5V, adaftar wutar lantarki 2.1A (5) da kebul na USB - micro-USB (6). Kowane mai sarrafawa yana da lambar tantancewa ta musamman, wanda aka rubuta a cikin fayil ɗin daidaitawa lokacin da aka fara ƙaddamar da shi kuma ya zama dole don yin hulɗa tare da sabis na gida mai wayo.

Marubucin wannan labarin ya ƙera software mai kula da gida mai wayo bisa tsarin aiki Linux Raspbian Stretch. Ya ƙunshi manyan tsarin ƙasa masu zuwa:

  • tsarin uwar garke don hulɗa tare da kayan aikin gida mai kaifin baki da girgije;
  • ƙirar mai amfani mai hoto don saita saiti da sigogin aiki na mai sarrafawa;
  • bayanai don adana tsarin sarrafawa.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Database Ana aiwatar da mai kula da gida mai wayo bisa tushen DBMS da aka saka SQLite kuma fayil ne akan katin SD tare da software na tsarin. Yana aiki azaman ajiya don daidaitawar mai sarrafawa - bayanai game da kayan aikin da aka haɗa da halin yanzu, toshe ƙa'idodin samar da ma'ana, da kuma bayanan da ke buƙatar ƙididdigewa (misali, sunayen fayil na gidan tarihin bidiyo na gida). Lokacin da aka sake kunna mai sarrafawa, ana adana wannan bayanin, yana ba da damar maido da mai sarrafawa a yayin gazawar wutar lantarki.

Zane-zane dubawa mai kula da gida mai kaifin basira ya haɓaka a cikin PHP 7 ta amfani da microframework Slim. Sabar gidan yanar gizo ce ke da alhakin gudanar da aikace-aikacen. lighttpd, sau da yawa ana amfani dashi a cikin na'urorin da aka haɗa saboda kyakkyawan aikin sa da ƙarancin buƙatun albarkatun.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin
(danna hoton don buɗewa cikin babban ƙuduri)

Babban aikin na'ura mai hoto shine haɗa kayan aikin gida mai wayo (Kyamarorin sa ido na IP da na'urori masu auna firikwensin) zuwa mai sarrafawa. Aikace-aikacen gidan yanar gizon yana karanta ƙayyadaddun tsari da yanayin halin yanzu na mai sarrafawa da na'urorin da aka haɗa su daga bayanan SQLite. Don canza saitin mai sarrafawa, yana aika umarnin sarrafawa a cikin tsarin JSON ta hanyar RESTful API interface na tsarin uwar garken.

Tsarin uwar garke

Tsarin uwar garke - wani maɓalli mai mahimmanci wanda ke aiwatar da duk babban aiki akan sarrafa bayanan bayanan da suka zama tushen gida mai kaifin baki: karba da sarrafa bayanan azanci, ba da ayyukan sarrafawa dangane da dabarun da aka haɗa. Manufar tsarin uwar garken shine yin hulɗa tare da kayan aikin gida mai kaifin baki, aiwatar da ƙa'idodi masu ma'ana, karɓa da aiwatar da umarni daga ƙirar hoto da gajimare. Ana aiwatar da tsarin uwar garken a cikin mai kula da gida mai wayo da ake la'akari da shi azaman aikace-aikacen zaren Multi-threaded wanda aka haɓaka a cikin C ++ kuma an ƙaddamar da shi azaman sabis na daban. tsarin tsarin tsarin aiki Linux Raspbian.

Babban tubalan tsarin uwar garken sune:

  1. Manajan Saƙo;
  2. uwar garken kamara ta IP;
  3. uwar garken na'urar Z-Wave;
  4. Server na samar da ma'ana dokoki;
  5. Database na daidaitawa na mai sarrafawa da toshe dokoki masu ma'ana;
  6. RESTful uwar garken API don hulɗa tare da ƙirar hoto;
  7. Abokin ciniki na MQTT don hulɗa tare da girgije.

Ana aiwatar da tubalan tsarin uwar garken azaman zaren daban, bayanai tsakanin waɗanda ake canjawa wuri ta hanyar saƙo a cikin tsarin JSON (ko tsarin bayanan da ke wakiltar wannan tsari a ƙwaƙwalwar aiki).

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Babban bangaren tsarin uwar garken shine mai sarrafa sako, wanda ke tafiyar da saƙonnin JSON zuwa duk toshe tsarin tsarin uwar garken. Nau'o'in filayen bayanan saƙon JSON da ƙimar da za su iya karɓa ana jera su a cikin tebur:

Nau'in na'ura
Yarjejeniya
Nau'in saƙo
jihar Device
umurnin

kamara
onvif
SensorData
on
yawo (A kunne/Kashe)

Na'urar haska bayanai
zawave
umurnin
off
yin rikodi (A Kunnawa/Kashe)

sakamako
mqtt
kasuwanciLogicDokar
yawo (A kunne/Kashe)
sharri (Ƙara/cire)

kasuwanciLogic
saitin bayanai
yin rikodi (A Kunnawa/Kashe)

bluetooth
jihar Device
kuskure

WiFi

rf

Misali, saƙo daga mai gano motsin kamara yayi kama da haka:

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

Dabarun samarwa

Don karɓa ko aika saƙo daga mai aikawa, toshe tsarin uwar garken yana biyan kuɗi zuwa saƙon wani nau'i. Biyan kuɗi tsarin samarwa ne na ma'ana na nau'in "Idan... sai...", wanda aka gabatar a cikin tsarin JSON, da hanyar haɗi zuwa mai sarrafa saƙo a cikin toshe tsarin sabar. Misali, don ƙyale uwar garken kyamarar IP ta karɓi umarni daga GUI da gajimare, kuna buƙatar ƙara ƙa'ida mai zuwa:

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

Idan yanayin da aka ƙayyade a magabata (gefen hagu) dokokin gaskiya ne, sannan ya gamsu sakamakon haka (gefen dama) dokoki, kuma mai sarrafa yana samun damar shiga jikin saƙon JSON. Wanda ya gabata yana goyan bayan masu aiki masu ma'ana waɗanda ke kwatanta nau'ikan ƙimar maɓalli na JSON:

  1. daidai "daidai";
  2. ba daidai yake da "ba_daidai ba";
  3. kasa "ƙasa";
  4. mafi "mafi girma";
  5. kasa ko daidai da "ƙasa_ko_daidai";
  6. mafi girma ko daidai da "mafi_ko_daidai".

Sakamakon kwatancen na iya zama alaƙa da juna ta amfani da ma'aikatan algebra na Boolean:

  1. Kuma "kuma"
  2. KO "ko";
  3. BA "ba".

Don haka, ta hanyar rubuta masu aiki da operands a cikin bayanin kula na Yaren mutanen Poland, zaku iya ƙirƙirar yanayi masu rikitarwa tare da adadi mai yawa.

Daidai wannan tsarin, dangane da saƙonnin JSON da ƙa'idodin samarwa a cikin tsarin JSON, ana amfani dashi a cikin toshe uwar garken dabaru don wakiltar ilimi da aiwatar da ma'ana ta amfani da bayanan azanci daga na'urori masu auna firikwensin gida.

Yin amfani da aikace-aikacen hannu, mai amfani yana ƙirƙirar yanayi bisa ga abin da gida mai wayo yakamata yayi aiki. Misali: "Idan firikwensin bude kofa ya kunna, to, kunna hasken a cikin hallway". Aikace-aikacen yana karanta masu gano na'urori masu auna firikwensin (fitowar buɗewa) da masu kunnawa (smart socket ko fitila mai wayo) daga ma'ajin bayanai kuma yana haifar da ƙa'ida mai ma'ana a cikin tsarin JSON, wanda aka aika zuwa mai kula da gida mai wayo. Wannan tsarin za a tattauna dalla-dalla a cikin labarin na uku na jerin mu, inda za mu yi magana game da aikace-aikacen abokin ciniki don sarrafa gida mai wayo.

Ana aiwatar da tsarin dabaru na samarwa da aka tattauna a sama ta amfani da ɗakin karatu RapidJSON - SAX parser don tsarin JSON a cikin C++. Karatun bi-da-bi-da-bi-da-bi-da-wa-da-da-din na ƙa'idodin samarwa yana ba ku damar aiwatar da aikin kwatanta bayanai cikin sauƙi:

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

Yana da pFact - tsarin da ya ƙunshi nau'i-nau'i masu ƙima daga saƙon JSON, m_Dokoki - kirtani tsararru na samar dokokin. Ana yin kwatancen saƙo mai shigowa da tsarin samarwa a cikin aikin mai karatu.Parse(ruleStream, ruleHandler)inda mulkiHandler wani abu ne mai dauke da dabaru na Boolean da masu aiki da kwatance. sRuleId - mai gano ƙa'ida ta musamman, godiya ga wanda zai yuwu a adanawa da gyara dokoki a cikin bayanan mai kula da gida mai kaifin baki. m_pAyyuka - tsararru tare da sakamakon ma'ana mai ma'ana: saƙonnin JSON da ke ɗauke da sakamako daga tushen ƙa'idar kuma an ƙara aikawa zuwa ga mai sarrafa saƙo ta yadda zaren masu biyan kuɗi zai iya sarrafa su.

Ayyukan RapidJSON yayi daidai da aikin strlen(), da mafi ƙarancin buƙatun albarkatun tsarin suna ba da damar amfani da wannan ɗakin karatu a cikin na'urorin da aka haɗa. Amfani da saƙonni da ƙa'idodi masu ma'ana a cikin tsarin JSON yana ba ku damar aiwatar da tsarin sassauƙa na musayar bayanai tsakanin duk abubuwan da ke cikin mai kula da gida mai wayo.

Z-Wave Sensors da Actuators

Babban fa'idar gida mai wayo shine cewa yana iya auna sigogi daban-daban na yanayin waje da kansa kuma yayi ayyuka masu amfani dangane da yanayin. Don yin wannan, ana haɗa na'urori masu auna firikwensin da masu kunnawa zuwa mai kula da gida mai kaifin baki. A cikin sigar yanzu, waɗannan na'urorin mara waya ne masu aiki ta amfani da yarjejeniya Z-Kalaman akan mitar da aka keɓe na musamman 869 MHz Don Rasha. Don aiki, an haɗa su cikin hanyar sadarwar raga, wanda ya ƙunshi masu maimaita sigina don ƙara wurin ɗaukar hoto. Har ila yau, na'urorin suna da yanayin ceton makamashi na musamman - suna ciyar da mafi yawan lokuta a yanayin barci kuma suna aika bayanai kawai lokacin da yanayinsu ya canza, wanda zai iya tsawaita rayuwar baturin da aka gina.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Yanzu zaku iya samun adadi mai yawa na na'urorin Z-Wave daban-daban akan kasuwa. Bari mu kalli wasu ‘yan misalai:

  1. Socket mai wayo na Zipato PAN16 na iya auna sigogi masu zuwa: yawan wutar lantarki (kWh), wutar lantarki (W), ƙarfin lantarki (V) da na yanzu (A) a cikin hanyar sadarwar lantarki. Har ila yau, yana da haɗin ginin da za ku iya sarrafa kayan lantarki da aka haɗa da shi;
  2. Neo Coolcam leak firikwensin yana gano kasancewar ruwa da ya zubar ta hanyar rufe lambobin binciken binciken nesa;
  3. Ana kunna firikwensin hayaki na Zipato PH-PSG01 lokacin da barbashi na hayaki suka shiga ɗakin binciken gas;
  4. Na'urar firikwensin motsi na Neo Coolcam yana nazarin hasken infrared na jikin mutum. Bugu da ƙari akwai firikwensin haske (Lx);
  5. Multisensor Philio PST02-A yana auna zafin jiki (°C), haske (%), buɗe kofa, kasancewar mutum a cikin ɗakin;
  6. Z-Wave USB Stick ZME E UZB1 mai sarrafa cibiyar sadarwa, wanda aka haɗa na'urori masu auna firikwensin.

Yana da matukar mahimmanci cewa na'urori da masu sarrafawa suna aiki a mitar guda ɗaya, in ba haka ba kawai ba za su ga juna ba a lokacin haɗin gwiwa. Ana iya haɗa na'urori har zuwa na'urori 232 zuwa mai sarrafa hanyar sadarwar Z-Wave guda ɗaya, wanda ya isa ga ɗaki ko gidan ƙasa. Don faɗaɗa yankin kewayon cibiyar sadarwa a cikin gida, ana iya amfani da soket mai wayo azaman mai maimaita sigina.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

A cikin tsarin sabar gida mai wayo da aka tattauna a cikin sakin layi na baya, uwar garken Z-Wave yana da alhakin yin hulɗa tare da na'urorin Z-Wave. Yana amfani da ɗakin karatu don karɓar bayanai daga na'urori masu auna firikwensin OpenZWave a cikin C ++, wanda ke ba da hanyar sadarwa don hulɗa tare da mai sarrafa USB na Z-Wave kuma yana aiki tare da na'urori masu auna firikwensin da masu kunnawa. Ƙimar ma'aunin mahalli da aka auna ta hanyar firikwensin ana yin rikodin sabar Z-Wave ta hanyar saƙon 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"
}

Daga nan sai a tura shi zuwa ga mai sarrafa saƙon saƙon uwar garke domin zaren masu biyan kuɗi su karɓi shi. Babban mai biyan kuɗi shine uwar garken dabaru na samarwa, wanda ya dace da ƙimar filin saƙo a cikin abubuwan da suka gabata na ƙa'idodin dabaru. Ana mayar da sakamakon binciken da ke ɗauke da umarnin sarrafawa zuwa ga mai sarrafa saƙon kuma daga can je zuwa uwar garken Z-Wave, wanda ke yanke su kuma aika su zuwa mai sarrafa tashar Z-Wave na USB. Sa'an nan kuma sun shiga cikin actuator, wanda ke canza yanayin abubuwan muhalli, kuma gida mai wayo yana yin aiki mai amfani.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin
(danna hoton don buɗewa cikin babban ƙuduri)

Haɗin na'urorin Z-Wave ana yin su a cikin ƙirar hoto na mai kula da gida mai kaifin baki. Don yin wannan, je zuwa shafin tare da jerin na'urori kuma danna maɓallin "Ƙara". Umarnin ƙara ta hanyar RESTful API interface yana shiga tsarin uwar garken sannan mai sarrafa saƙo ya aika shi zuwa uwar garken Z-Wave, wanda ke sanya cibiyar sadarwa ta Z-Wave USB mai kula da yanayi na musamman don ƙara na'urori. Na gaba, akan na'urar Z-Wave kuna buƙatar yin jerin saurin latsawa (latsa 3 cikin daƙiƙa 1,5) na maɓallin sabis. Mai sarrafa USB yana haɗa na'urar zuwa cibiyar sadarwa kuma yana aika bayanai game da ita zuwa uwar garken Z-Wave. Wannan, bi da bi, yana haifar da sabon shigarwa a cikin bayanan SQLite tare da sigogin sabuwar na'ura. Bayan ƙayyadaddun tazarar lokaci, mahaɗar hoto za ta koma shafin jerin na'urar Z-Wave, tana karanta bayanai daga ma'ajin bayanai kuma tana nuna sabuwar na'urar a cikin jerin. Kowace na'ura tana karɓar mai gano nata na musamman, wanda ake amfani dashi a cikin ƙa'idodin ƙididdiga na samarwa da kuma lokacin aiki a cikin gajimare. Ana nuna aikin wannan algorithm a cikin zane na UML:

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin
(danna hoton don buɗewa cikin babban ƙuduri)

Haɗa kyamarar IP

Tsarin gida mai wayo da aka tattauna a wannan labarin shine haɓakawa na tsarin kula da bidiyo na girgije, wanda marubucin kuma ya haɓaka, wanda ya kasance a kasuwa shekaru da yawa kuma yana da shigarwa da yawa a Rasha.

Don tsarin kula da bidiyo na girgije, ɗayan manyan matsalolin shine ƙayyadaddun zaɓi na kayan aiki wanda za'a iya haɗawa da shi. Ana shigar da software da ke da alhakin haɗawa da gajimare a cikin kyamarar bidiyo, wanda nan da nan ya sanya mahimman buƙatu akan kayan aikin sa - processor da adadin ƙwaƙwalwar ajiyar kyauta. Wannan yana bayyana mafi girman farashin girgije CCTV kyamarori idan aka kwatanta da na'urorin IP na yau da kullun. Bugu da kari, ana buƙatar dogon lokaci na tattaunawa tare da kamfanonin kera kyamarar CCTV don samun damar yin amfani da tsarin fayil ɗin kamara da duk kayan aikin haɓaka da ake buƙata.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

A gefe guda, duk kyamarori na IP na zamani suna da daidaitattun ka'idoji don hulɗa tare da wasu kayan aiki (musamman, masu rikodin bidiyo). Don haka, yin amfani da keɓaɓɓen mai sarrafawa wanda ke haɗuwa ta hanyar daidaitaccen tsari da watsa shirye-shiryen bidiyo daga kyamarori na IP zuwa gajimare yana ba da fa'idodi masu mahimmanci ga tsarin kula da bidiyo na girgije. Bugu da ƙari, idan abokin ciniki ya riga ya shigar da tsarin sa ido na bidiyo dangane da kyamarori na IP masu sauƙi, to, zai yiwu a fadada shi kuma ya juya shi cikin gida mai wayo mai cikakken haske.

Shahararriyar ƙa'idar don tsarin sa ido na bidiyo na IP, yanzu ana goyan bayan duk masu kera kyamarar IP ba tare da togiya ba. Bayanin NAVIF S, wanda ƙayyadaddun su ke wanzu a cikin harshen bayanin sabis na yanar gizo Farashin WSDL. Yin amfani da kayan aiki daga kayan aiki gSOAP Yana yiwuwa a samar da lambar tushe don ayyukan da ke aiki tare da kyamarori na 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

A sakamakon haka, muna samun saitin taken "*.h" da tushen fayilolin "*.cpp" a cikin C++, waɗanda za a iya sanya su kai tsaye zuwa aikace-aikace ko ɗakin karatu daban kuma a haɗa su ta amfani da GCC compiler. Saboda ayyuka da yawa, lambar tana da girma kuma tana buƙatar ƙarin haɓakawa. Microcomputer na Rasberi Pi 3 samfurin B+ yana da isasshen aiki don aiwatar da wannan lambar, amma idan akwai buƙatar tura lambar zuwa wani dandamali, ya zama dole a zaɓi ingantaccen tsarin gine-gine da albarkatun tsarin.

Kyamarar IP waɗanda ke goyan bayan ma'aunin ONVIF, lokacin aiki akan hanyar sadarwar gida, ana haɗa su zuwa ƙungiyar multicast na musamman tare da adireshin. 239.255.255.250. Akwai yarjejeniya WS-Ganowa, wanda ke ba ka damar sarrafa sarrafa na'urori akan hanyar sadarwar gida.

Ƙimar hoto na mai kula da gida mai wayo yana aiwatar da aikin bincike don kyamarori na IP a cikin PHP, wanda ya dace sosai lokacin hulɗa tare da ayyukan yanar gizo ta hanyar saƙonnin XML. Lokacin zabar abubuwan menu Na'urori> Kyamarar IP> Ana dubawa An ƙaddamar da algorithm don neman kyamarar IP, yana nuna sakamakon a cikin nau'i na tebur:

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin
(danna hoton don buɗewa cikin babban ƙuduri)

Lokacin da kuka ƙara kamara zuwa mai sarrafawa, zaku iya ƙayyade saitunan gwargwadon abin da za ta yi hulɗa tare da gajimare. Har ila yau, a wannan mataki, ana sanya ta atomatik na'urar gano na'ura, wanda daga baya za'a iya gano shi cikin sauƙi a cikin gajimare.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Bayan haka, ana samar da saƙo a cikin tsarin JSON wanda ke ɗauke da duk sigogin kyamarar da aka ƙara kuma a aika zuwa tsarin uwar garken na mai kula da gida mai kaifin baki ta hanyar umarnin API na RESTful, inda aka keɓance sigogin kamara da adana su a cikin bayanan SQLite na ciki, kuma suna Hakanan ana amfani dashi don ƙaddamar da zaren sarrafawa masu zuwa:

  1. kafa haɗin RTSP don karɓar rafukan bidiyo da sauti;
  2. transcoding audio daga G.711 mu-Law, G.711 A-Law, G.723, da dai sauransu. zuwa tsarin AAC;
  3. transcoding video rafi a cikin H.264 format da audio a AAC format a cikin wani FLV ganga da kuma watsa shi zuwa ga girgije ta hanyar RTMP yarjejeniya;
  4. kafa haɗin kai tare da ƙarshen ƙarshen mai gano motsi na kyamarar IP ta hanyar ka'idar ONVIF da yin zabe lokaci-lokaci;
  5. lokaci-lokaci samar da hoton samfoti na thumbnail da aika shi zuwa gajimare ta hanyar ka'idar MQTT;
  6. rikodin gida na bidiyo da rafukan sauti a cikin nau'in fayiloli daban-daban a tsarin MP4 akan katin SD ko Flash na mai kula da gida mai wayo.

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Don kafa haɗi tare da kyamarori, transcode, tsari da rikodin rafukan bidiyo a cikin tsarin uwar garken, ana amfani da ayyuka daga ɗakin karatu. FFmpeg 4.1.0.

A cikin gwajin gwajin aiki, kyamarori 3 an haɗa su zuwa mai sarrafawa:

  1. HiWatch DS-I114W (ƙuduri - 720p, tsarin matsawa - H.264, bitrate - 1 Mb/s, sauti G.711 mu-Law);
  2. Microdigital MDC-M6290FTD-1 (ƙuduri - 1080p, tsarin matsawa - H.264, bitrate - 1 Mb / s, babu sauti);
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (ƙuduri - 1080p, tsarin matsawa - H.264, bitrate - 1.5 Mb/s, AAC audio).

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

An fitar da dukkan rafukan guda uku a lokaci guda zuwa ga gajimare, an aiwatar da faifan sauti daga kamara ɗaya kawai, kuma an kashe rikodin tarihin gida. Nauyin CPU ya kai kusan 5%, amfani da RAM shine 32 MB (kowane tsari), 56 MB (duka gami da OS).

Don haka, ana iya haɗa kyamarori kusan 20 - 30 zuwa mai kula da gida mai kaifin baki (dangane da ƙuduri da bitrate), wanda ya isa ga tsarin sa ido na bidiyo don ɗakin gida mai hawa uku ko ƙaramin ɗakin ajiya. Don ayyukan da ke buƙatar babban aiki, zaku iya amfani da nettop tare da na'ura mai sarrafa nau'in Intel da yawa da Linux Debian Sarge OS. A halin yanzu mai sarrafa yana kan aikin gwaji, kuma za a sabunta bayanai kan aikin sa.

Yin hulɗa tare da gajimare

Gida mai wayo na tushen girgije yana adana bayanan mai amfani (bidiyo da ma'aunin firikwensin) a cikin gajimare. Za a tattauna gine-ginen ajiyar girgije dalla-dalla a cikin labarin na gaba a cikin jerin mu. Yanzu bari muyi magana game da keɓancewa don isar da saƙonnin bayanai daga mai kula da gida mai wayo zuwa gajimare.

Jihohin na'urorin da aka haɗa da ma'aunin firikwensin ana watsa su ta hanyar yarjejeniya MQTT, wanda galibi ana amfani da shi a cikin ayyukan Intanet na Abubuwa saboda sauƙi da ingantaccen kuzari. MQTT yana amfani da samfurin abokin ciniki-uwar garken, inda abokan ciniki ke biyan kuɗi zuwa takamaiman batutuwa a cikin dillali kuma su buga saƙonnin su. Dillali yana aika saƙonni ga duk masu biyan kuɗi bisa ga ƙa'idodin QoS (Quality of Service) matakin:

  • QoS 0 - matsakaicin sau ɗaya (babu garantin bayarwa);
  • QoS 1 - aƙalla sau ɗaya (tare da tabbacin bayarwa);
  • QoS 2 - daidai sau ɗaya (tare da ƙarin tabbacin bayarwa).

A cikin yanayinmu, muna amfani Eclipse Sauro. Sunan taken shine keɓantaccen mai gano mai kula da gida mai kaifin baki. Abokin ciniki na MQTT a cikin tsarin uwar garken yana biyan kuɗin wannan batu kuma yana fassara saƙonnin JSON da ke fitowa daga mai sarrafa saƙo zuwa cikinsa. Akasin haka, ana aika saƙonni daga dillali na MQTT zuwa ga mai sarrafa saƙon, wanda sannan ya ninka su zuwa masu biyan kuɗi a cikin tsarin sabar:

Cloud Smart Home. Sashe na 1: Mai sarrafawa da na'urori masu auna firikwensin

Don aika saƙonni game da matsayi na mai kula da gida mai wayo, ana amfani da hanyar adana saƙonnin saƙonnin da aka riƙe MQTT yarjejeniya. Wannan yana ba ku damar saka idanu daidai lokacin sake haɗawa yayin gazawar wutar lantarki.

An haɓaka abokin ciniki na MQTT bisa ga aiwatar da ɗakin karatu Eclipse Paho a cikin harshen C++.

Ana aika rafukan watsa labarai na H.264 + AAC zuwa gajimare ta hanyar ka'idar RTMP, inda gungun sabar kafofin watsa labaru ke da alhakin sarrafawa da adana su. Don mafi kyawun rarraba kaya a cikin gungu kuma zaɓi uwar garken kafofin watsa labarai mafi ƙarancin ɗorawa, mai kula da gida mai wayo yana yin buƙatu na farko ga ma'aunin nauyi na girgije kuma bayan haka yana aika rafin watsa labarai.

ƙarshe

Labarin yayi nazarin takamaiman aiwatarwa na mai kula da gida mai wayo dangane da microcomputer na Raspberry Pi 3 B+, ​​wanda zai iya karɓa, sarrafa bayanai da kayan sarrafawa ta hanyar ka'idar Z-Wave, yin hulɗa tare da kyamarori na IP ta hanyar ka'idar ONVIF, da kuma musayar bayanai umarni tare da girgije. sabis ta hanyar MQTT da RTMP ladabi. An samar da injin dabaru na samarwa bisa kwatancen dokoki da hujjojin da aka gabatar a tsarin JSON.

A halin yanzu mai kula da gida mai wayo yana gudanar da aikin gwaji a wurare da yawa a Moscow da yankin Moscow.

Sigar mai sarrafawa ta gaba tana shirin haɗa wasu nau'ikan na'urori (RF, Bluetooth, WiFi, wayoyi). Don dacewa da masu amfani, hanyar haɗin na'urori masu auna firikwensin da kyamarar IP za a canza su zuwa aikace-aikacen hannu. Hakanan akwai ra'ayoyi don inganta lambar tsarin uwar garken da jigilar software zuwa tsarin aiki BudeWrt. Wannan zai ba ku damar adanawa akan keɓan mai sarrafawa da canja wurin aikin gida mai wayo zuwa na'ura mai ba da hanya tsakanin hanyoyin sadarwa na gida na yau da kullun.

source: www.habr.com

Add a comment