د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

نن ورځ ، د مایکرو الیکټرانیکونو ، مخابراتو چینلونو ، انټرنیټ ټیکنالوژیو او مصنوعي استخباراتو ګړندي پرمختګ څخه مننه ، د سمارټ کورونو موضوع ورځ تر بلې اړوند کیږي. د انسان کور د ډبرې دورې راهیسې د پام وړ بدلونونو سره مخ شوی او د صنعتي انقلاب 4.0 او د شیانو انټرنیټ په دوره کې، دا آرام، فعال او خوندي شوی. حلونه بازار ته راځي چې یو اپارتمان یا د هیواد کور د سمارټ فون په کارولو سره د نړۍ له هر ځای څخه کنټرول شوي پیچلي معلوماتي سیسټمونو ته واړوي. سربیره پردې ، د انسان - ماشین متقابل عمل نور د برنامو ژبو پوهې ته اړتیا نلري - د وینا پیژندنې او ترکیب الګوریتمونو څخه مننه ، یو څوک په خپله مورنۍ ژبه کې سمارټ کور ته خبرې کوي.

ځینې ​​​​سمارټ کور سیسټمونه چې اوس مهال په بازار کې دي د بادل ویډیو نظارت سیسټمونو منطقي پرمختګ دی ، چې پراختیا کونکي یې نه یوازې د څارنې لپاره ، بلکه د لرې پرتو شیانو اداره کولو لپاره هم د جامع حل اړتیا احساسوي.

موږ ستاسو پام ته د دریو مقالو لړۍ وړاندې کوو ، کوم چې به تاسو ته د کلاوډ سمارټ کور سیسټم ټولو اصلي برخو په اړه ووایی ، په شخصي توګه د لیکوال لخوا رامینځته شوي او په عمل کې اچول شوي. لومړۍ مقاله د سمارټ کور دننه نصب شوي ټرمینل پیرودونکي تجهیزاتو ته وقف شوې ، دویمه د کلاوډ ذخیره کولو او ډیټا پروسس کولو سیسټم جوړښت ته ، او په نهایت کې ، دریمه د ګرځنده او سټیشنري وسیلو کې د سیسټم اداره کولو لپاره د پیرودونکي غوښتنلیک ته.

د سمارټ کور تجهیزات

لومړی، راځئ چې د عادي اپارتمان، دچا یا کوټیج څخه د سمارټ کور جوړولو څرنګوالي په اړه وغږیږو. د دې کولو لپاره، د یوې قاعدې په توګه، دا اړینه ده چې لاندې وسایل په کور کې ځای په ځای کړئ:

  1. سینسرونه چې د چاپیریال مختلف پیرامیټونه اندازه کوي؛
  2. فعالونکي چې په بهرني شیانو عمل کوي؛
  3. یو کنټرولر چې د سینسر اندازه کولو او سرایت شوي منطق سره سم محاسبې ترسره کوي، او عمل کونکو ته امرونه صادروي.

لاندې انځور د سمارټ کور یو ډیاګرام ښیي، په کوم کې چې د اوبو د خپریدو لپاره سینسرونه شتون لري (1) په تشناب کې، تودوخې (2) او رڼا (3) په خوب خونه کې، یو سمارټ ساکټ (4) په پخلنځي کې او یو. د ویډیو څارنې کیمره (5) په دالان کې.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

اوس مهال، د بې سیم سینسرونه چې د RF433، Z-Wave، ZigBee، بلوتوټ او وائی فای پروتوکولونو په کارولو سره کار کوي په پراخه کچه کارول کیږي. د دوی اصلي ګټې د نصب او کارولو اسانتیا دي ، په بیله بیا ټیټ لګښت او اعتبار ، ځکه چې تولید کونکي هڅه کوي خپل وسایل ډله ایز بازار ته راوړي او اوسط کارونکي ته یې د لاسرسي وړ کړي.

سینسرونه او عمل کونکي، د یوې قاعدې په توګه، د بې سیم انٹرفیس له لارې د سمارټ کور کنټرولر سره وصل دي (6) - یو ځانګړی مایکرو کمپیوټر چې دا ټول وسایل په یوه شبکه کې سره یوځای کوي او کنټرولوي.

په هرصورت، ځینې حلونه کولی شي په ورته وخت کې سینسر، یو فعال او کنټرولر سره یوځای کړي. د مثال په توګه ، یو سمارټ پلګ د مهالویش سره سم د فعال یا بندولو لپاره برنامه کیدی شي ، او د بادل ویډیو نظارت کیمره کولی شي د حرکت کشف کونکي سیګنال پراساس ویډیو ثبت کړي. په ساده قضیو کې، تاسو کولی شئ د جلا کنټرولر پرته ترسره کړئ، مګر د ډیری سناریو سره د انعطاف وړ سیسټم رامینځته کول اړین دي.

د سمارټ کور کنټرولر د نړیوالې شبکې سره وصل کولو لپاره، یو منظم انټرنیټ روټر (7) کارول کیدی شي، کوم چې په هر کور کې د اوږدې مودې لپاره د کور یو عام وسیله ګرځیدلی. دلته د سمارټ کور کنټرولر په ګټه یو بل دلیل شتون لري - که چیرې انټرنیټ سره اړیکه له لاسه ورکړي ، نو سمارټ کور به د کنټرولر دننه ذخیره شوي منطق بلاک څخه د نورمال په توګه کار کولو ته دوام ورکړي ، نه په کلاوډ خدمت کې.

د سمارټ کور کنټرولر

د کلاوډ سمارټ کور سیسټم کنټرولر چې پدې مقاله کې بحث شوی د واحد بورډ مایکرو کمپیوټر پراساس رامینځته شوی Raspberry Pi 3 ماډل B+، کوم چې د مارچ په 2018 کې خپور شو او د سمارټ کور کارونو لپاره کافي سرچینې او فعالیت لري. پدې کې د 53-bit ARMv64-A معمارۍ پراساس کواډ کور کورټیکس-A8 پروسیسر شامل دی، په 1.4 GHz کې کلاک شوی، په بیله بیا د 1 GB RAM، Wi-Fi 802.11ac، بلوتوټ 4.2 او یو ګیګابایټ ایترنیټ اډاپټر د USB 2.0 له لارې کار کوي. .

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د کنټرولر راټولول خورا ساده دي - مایکرو کمپیوټر (1) په پلاستيکي قضیه کې نصب شوی (2) ، بیا د سافټویر سره د مایکرو ایس ډی فارمیټ کې د 8 جی بی میموري کارت (3) او د USB Z-Wave شبکې کنټرولر (4) کې نصب شوی. اړوند سلاټونه. د سمارټ کور کنټرولر د 5V، 2.1A بریښنا اډاپټر (5) او یو USB - مایکرو-USB کیبل (6) له لارې د بریښنا رسولو سره وصل دی. هر کنټرولر د پیژندنې یو ځانګړی شمیره لري، کوم چې د ترتیب کولو فایل کې لیکل کیږي کله چې لومړی ځل پیل شي او د کلاوډ سمارټ کور خدماتو سره د تعامل لپاره اړین وي.

د سمارټ کور کنټرولر سافټویر د دې مقالې لیکوال لخوا د عملیاتي سیسټم پراساس رامینځته شوی د لینکس راسبیان سټریچ. دا د لاندې اصلي فرعي سیسټمونو څخه جوړه ده:

  • د سمارټ کور تجهیزاتو او بادل سره د متقابل عمل لپاره د سرور پروسه؛
  • د کنټرولر ترتیب او عملیاتي پیرامیټونو تنظیم کولو لپاره ګرافیکي کارونکي انٹرفیس؛
  • د کنټرولر ترتیب ذخیره کولو لپاره ډیټابیس.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

ډیټابیس د سمارټ کور کنټرولر د ایمبیډ شوي DBMS پراساس پلي کیږي SQLite او د سیسټم سافټویر سره په SD کارت کې فایل دی. دا د کنټرولر ترتیب لپاره د ذخیره کولو په توګه کار کوي - د وصل شوي تجهیزاتو او د دې اوسني حالت په اړه معلومات، د منطقي تولید قواعدو یو بلاک، او همدارنګه هغه معلومات چې لیست کولو ته اړتیا لري (د بیلګې په توګه، د ځایی ویډیو آرشیف فایل نومونه). کله چې کنټرولر ریبوټ شي، دا معلومات خوندي کیږي، دا د بریښنا د ناکامۍ په صورت کې د کنټرولر بیا رغولو امکان برابروي.

ګرافیکي انٹرفیس د سمارټ کور کنټرولر د مایکرو فریم ورک په کارولو سره په PHP 7 کې رامینځته شوی د احزابو په. د ویب سرور د غوښتنلیک چلولو مسولیت لري. روښنايي، ډیری وختونه د دې د ښه فعالیت او ټیټ سرچینو اړتیاو له امله په سرایت شوي وسیلو کې کارول کیږي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه
(په لوی ریزولوشن کې د خلاصولو لپاره په عکس کلیک وکړئ)

د ګرافیکي انٹرفیس اصلي دنده د سمارټ کور تجهیزاتو (IP سرویلانس کیمرې او سینسرونه) کنټرولر سره وصل کول دي. د ویب غوښتنلیک د کنټرولر او وسیلو ترتیب او اوسنی حالت د SQLite ډیټابیس څخه ورسره وصل لوستل کوي. د کنټرولر ترتیب بدلولو لپاره، دا د JSON بڼه کې د کنټرول کمانډونه د سرور پروسې RESTful API انٹرفیس له لارې لیږي.

د سرور پروسه

د سرور پروسه - یوه کلیدي برخه چې د معلوماتو پروسو اتومات کولو کې ټول اصلي کار ترسره کوي چې د سمارټ کور اساس جوړوي: د حسي معلوماتو ترلاسه کول او پروسس کول ، د ایمبیډ شوي منطق پراساس د کنټرول کړنې صادرول. د سرور پروسې هدف د سمارټ کور تجهیزاتو سره متقابل عمل کول ، د تولید منطقي قواعد پلي کول ، د ګرافیکي انٹرفیس او کلاوډ څخه امرونه ترلاسه کول او پروسس کول دي. په سمارټ کور کنټرولر کې د سرور پروسه په پام کې نیول شوې د څو-تریډ شوي غوښتنلیک په توګه پلي کیږي چې په C++ کې رامینځته شوی او د جلا خدمت په توګه پیل شوی. سیسټم D عملیاتي سیسټم لینکس راسبیان.

د سرور پروسې اصلي بلاکونه په لاندې ډول دي:

  1. د پیغام مدیر؛
  2. د IP کیمرې سرور؛
  3. Z-Wave وسیله سرور؛
  4. د تولید منطقي مقرراتو سرور؛
  5. د کنټرولر ترتیب کولو ډیټابیس او د منطقي قواعدو بلاک؛
  6. د ګرافیکي انٹرفیس سره د تعامل لپاره RESTful API سرور؛
  7. د بادل سره د تعامل لپاره د MQTT پیرودونکی.

د سرور پروسس بلاکونه د جلا تارونو په توګه پلي کیږي، معلومات چې تر منځ یې د پیغامونو په بڼه د JSON بڼه کې لیږدول کیږي (یا د معلوماتو جوړښتونه چې د پروسې په حافظه کې د دې بڼه استازیتوب کوي).

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د سرور پروسې اصلي برخه ده د پیغام مدیر، کوم چې د JSON پیغامونه د سرور پروسس بلاکونو ته رسوي. د JSON پیغام معلوماتو ساحو ډولونه او هغه ارزښتونه چې دوی یې منل کیدی شي په جدول کې لیست شوي دي:

د وسیله ډول
پروتوکول
د پیغام ډول
وسیله ریاست
د قوماندې

کامره
onvif
د سینسر ډاټا
on
جریان (آن/بند)

سینسر
zwave
د قوماندې
پړاو
ثبت کول (آن/بند)

اغيزمن
mqtt
د سوداګرۍ منطق اصول
جریان (آن/بند)
evice (زیاتول/لیرې کول)

د سوداګرۍ منطق
د ترتیب ډاټا
ثبت کول (آن/بند)

بلوتوث
وسیله ریاست
تېروتنه

wifi

rf

د مثال په توګه، د کیمرې حرکت کشف کونکي پیغام داسې ښکاري:

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

د تولید منطق

د لیږونکي څخه پیغام ترلاسه کولو یا لیږلو لپاره، د سرور پروسې بلاک د یو ځانګړي ډول پیغامونو ته ګډون کوي. ګډون د ډول تولید منطقي قاعده ده "که ... نو ..."، د JSON بڼه کې وړاندې شوی، او د سرور پروسې بلاک کې دننه د پیغام سمبالونکي ته لینک. د مثال په توګه ، د IP کیمرې سرور ته اجازه ورکړئ چې د GUI او کلاوډ څخه کمانډونه ترلاسه کړي ، تاسو اړتیا لرئ لاندې قاعده اضافه کړئ:

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

که شرایط په کې مشخص شوي وي پخوانۍ (کیڼ اړخ ته) قواعد ریښتیا دي، نو مطمئن دی نتیجه (ښي اړخ) قواعد، او سمبالونکی د JSON پیغام بدن ته لاسرسۍ ترلاسه کوي. مخکینی منطقي آپریټرانو ملاتړ کوي چې د JSON کلیدي ارزښت جوړه پرتله کوي:

  1. مساوي "برابر"؛
  2. مساوی نه دی "not_equal"؛
  3. لږ "لږ"؛
  4. ډیر "لوی"؛
  5. د "کم_یا_برابر" څخه لږ یا مساوي؛
  6. د "لوی_یا_برابر" څخه لوی یا مساوي.

د پرتله کولو پایلې د بولین الجبرا آپریټرونو په کارولو سره یو له بل سره تړاو لري:

  1. او "او"
  2. یا "یا"؛
  3. نه "نه".

پدې توګه ، په پولنډي نوټیشن کې د آپریټرونو او عملیاتونو لیکلو سره ، تاسو کولی شئ د ډیری پیرامیټونو سره خورا پیچلي شرایط رامینځته کړئ.

دقیقا ورته میکانیزم ، د JSON پیغامونو او د JSON ب formatه کې د تولید قواعدو پراساس ، د تولید منطق سرور بلاک کې کارول کیږي ترڅو د پوهې استازیتوب وکړي او د سمارټ کور سینسرونو څخه د سینسر ډیټا په کارولو سره منطقي تحلیل ترسره کړي.

د ګرځنده غوښتنلیک په کارولو سره ، کارونکي سناریوګانې رامینځته کوي د کوم له مخې چې سمارټ کور باید فعالیت وکړي. د مثال په ډول: "که د دروازې د خلاصولو لپاره سینسر پیل شي، نو بیا په دالان کې رڼا واچوئ". غوښتنلیک د ډیټابیس څخه د سینسرونو پیژندونکي (د پرانستلو سینسر) او عمل کونکي (سمارټ ساکټ یا سمارټ لیمپ) لوستل کوي او د JSON ب formatه کې منطقي قاعده رامینځته کوي ، کوم چې د سمارټ کور کنټرولر ته لیږل کیږي. دا میکانیزم به زموږ د لړۍ په دریمه مقاله کې په ډیر تفصیل سره بحث وشي، چیرې چې موږ به د سمارټ کور اداره کولو لپاره د پیرودونکي غوښتنلیک په اړه وغږیږو.

د تولید منطق میکانیزم پورته بحث شوی د کتابتون په کارولو سره پلي کیږي RapidJSON - په C++ کې د JSON فارمیټ لپاره SAX پارسر. د تولید د قواعدو لړۍ ترتیبي لوستل او تجزیه کول تاسو ته اجازه درکوي په اسانۍ سره په پخوانیو کې د ډیټا پرتله کولو فعالیت پلي کړئ:

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

دا pFact - یو جوړښت چې د JSON پیغام څخه کلیدي ارزښت جوړه لري، m_قوانين - د تولید د مقرراتو سلسله. د راتلونکی پیغام او تولید قاعده پرتله کول په فعالیت کې ترسره کیږي لوستونکی. پارسچیرته قاعده سمبالونکی یو څیز دی چې د بولین او پرتله کولو آپریټرونو منطق لري. sRuleId - یو ځانګړی قاعده پیژندونکی ، له دې څخه مننه چې د سمارټ کور کنټرولر ډیټابیس کې د قواعدو ذخیره کول او ترمیم کول ممکن دي. m_pActions - د منطقي پایلو پایلې سره یو سرې: د JSON پیغامونه چې د قاعدې اساس څخه پایلې لري او نور د پیغام مدیر ته لیږل کیږي ترڅو د پیرودونکي تارونه دوی پروسس کړي.

د RapidJSON فعالیت د فعالیت سره پرتله کولو وړ دی strlen()، او د سیسټم لږترلږه سرچینې اړتیاوې د دې کتابتون کارولو ته اجازه ورکوي چې په سرایت شوي وسیلو کې. د JSON ب formatه کې د پیغامونو او منطقي قواعدو کارول تاسو ته اجازه درکوي د سمارټ کور کنټرولر ټولو برخو ترمینځ د معلوماتو تبادلې انعطاف وړ سیسټم پلي کړئ.

Z-Wave سینسرونه او Actuators

د سمارټ کور اصلي ګټه دا ده چې دا کولی شي په خپلواکه توګه د بهرني چاپیریال مختلف پیرامیټونه اندازه کړي او د وضعیت په پام کې نیولو سره ګټورې دندې ترسره کړي. د دې کولو لپاره ، سینسرونه او عمل کونکي د سمارټ کور کنټرولر سره وصل دي. په اوسني نسخه کې، دا بې سیم وسایل دي چې د پروتوکول په کارولو سره کار کوي Z- څپې په ځانګړي تخصیص شوي فریکونسۍ کې 869 میګاهرتز د روسیې لپاره. د کار کولو لپاره، دوی په میش شبکه کې یوځای شوي، کوم چې د پوښښ ساحه زیاتولو لپاره سیګنال تکرارونکي لري. وسیلې د انرژي سپمولو ځانګړي حالت هم لري - دوی ډیری وخت د خوب په حالت کې تیروي او یوازې هغه وخت معلومات لیږي کله چې د دوی حالت بدل شي ، کوم چې کولی شي د جوړ شوي بیټرۍ ژوند د پام وړ وغزوي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

تاسو اوس کولی شئ په بازار کې د مختلف Z-Wave وسیلو خورا لوی شمیر ومومئ. راځئ چې یو څو مثالونه وګورو:

  1. د Zipato PAN16 سمارټ ساکټ کولی شي لاندې پیرامیټونه اندازه کړي: د بریښنا مصرف (kWh)، بریښنا (W)، ولتاژ (V) او اوسنی (A) په بریښنایی شبکه کې. دا یو جوړ سویچ هم لري چې ورسره تاسو کولی شئ وصل شوي بریښنایی وسیله کنټرول کړئ؛
  2. د Neo Coolcam لیک سینسر د ریموټ تحقیقاتو اړیکو په بندولو سره د توی شوي مایع شتون کشف کوي؛
  3. د Zipato PH-PSG01 سګرټ سینسر هغه وخت رامینځته کیږي کله چې د لوګي ذرات د ګاز تحلیل کونکي خونې ته ننوځي؛
  4. د Neo Coolcam حرکت سینسر د انسان بدن د انفراریډ وړانګو تحلیل کوي. سربیره پردې د رڼا سینسر (Lx) شتون لري؛
  5. ملټي سینسر فیلیو PST02-A د تودوخې درجه (°C)، ر lightا (%)، د دروازې خلاصول، په خونه کې د یو کس شتون؛
  6. د Z-Wave USB سټیک ZME E UZB1 شبکې کنټرولر، کوم چې سینسرونه تړلي دي.

دا خورا مهم دي چې وسایل او کنټرولر په ورته فریکونسۍ کې کار کوي، که نه نو دوی به په ساده ډول د پیوستون په وخت کې یو بل ونه ګوري. تر 232 پورې وسیلې د یو Z-Wave شبکې کنټرولر سره وصل کیدی شي ، کوم چې د اپارتمان یا هیواد کور لپاره کافي دی. د کور دننه د شبکې پوښښ ساحه پراخه کولو لپاره، یو سمارټ ساکټ د سیګنال ریپیټر په توګه کارول کیدی شي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د سمارټ کور کنټرولر سرور پروسې کې چې په تیرو پراګراف کې بحث شوی ، د Z-Wave سرور د Z-Wave وسیلو سره د متقابل عمل مسؤلیت لري. دا د سینسر څخه د معلوماتو ترلاسه کولو لپاره کتابتون کاروي OpenZWave په C++ کې، کوم چې د Z-Wave شبکې USB کنټرولر سره د متقابل عمل لپاره انٹرفیس چمتو کوي او د مختلف سینسرونو او عمل کونکو سره کار کوي. د سینسر لخوا اندازه شوي د چاپیریال پیرامیټر ارزښت د Z-Wave سرور لخوا د 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"
}

دا بیا د سرور پروسې پیغام مدیر ته لیږل کیږي ترڅو د پیرودونکي تارونه ترلاسه کړي. اصلي پیرودونکی د تولید منطق سرور دی، کوم چې د پیغام ساحې ارزښتونو سره د منطق قواعدو په پخوانیو وختونو کې سمون لري. د تفتیش پایلې چې د کنټرول کمانډونه لري بیرته د پیغام مدیر ته لیږل کیږي او له هغه ځایه د Z-Wave سرور ته ځي ، کوم چې دوی ډیکوډ کوي او د Z-Wave شبکې USB کنټرولر ته لیږي. بیا دوی عمل کونکي ته ننوځي ، کوم چې د چاپیریال توکو حالت بدلوي ، او سمارټ کور پدې توګه ګټور کار ترسره کوي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه
(په لوی ریزولوشن کې د خلاصولو لپاره په عکس کلیک وکړئ)

د Z-Wave وسیلو نښلول د سمارټ کور کنټرولر په ګرافیکي انٹرفیس کې ترسره کیږي. د دې کولو لپاره، د وسیلو لیست سره پاڼې ته لاړ شئ او د "Add" تڼۍ کلیک وکړئ. د RESTful API انٹرفیس له لارې د اضافه کولو کمانډ د سرور پروسې ته ننوځي او بیا د پیغام مدیر لخوا Z-Wave سرور ته لیږل کیږي، کوم چې د Z-Wave شبکې USB کنټرولر د وسیلو اضافه کولو لپاره ځانګړي حالت ته اړوي. بیا، د Z-Wave وسیله کې تاسو اړتیا لرئ د خدماتو تڼۍ د چټکو فشارونو لړۍ (د 3 ثانیو دننه 1,5 فشارونه) جوړ کړئ. د USB کنټرولر وسیله له شبکې سره وصل کوي او د دې په اړه معلومات Z-Wave سرور ته لیږي. دا ، په بدل کې ، د نوي وسیلې پیرامیټونو سره د SQLite ډیټابیس کې نوې ننوتل رامینځته کوي. د ټاکلي وخت وقفې وروسته، ګرافیکي انٹرفیس د Z-Wave وسیلې لیست پاڼې ته راستنیږي، د ډیټابیس څخه معلومات لولي او نوي وسیله په لیست کې ښکاره کوي. هر وسیله خپل ځانګړی پیژندونکی ترلاسه کوي، کوم چې د تولید په اصولو کې کارول کیږي او کله چې په بادل کې کار کوي. د دې الګوریتم عملیات د UML ډیاګرام کې ښودل شوي:

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه
(په لوی ریزولوشن کې د خلاصولو لپاره په عکس کلیک وکړئ)

د IP کیمرې نښلول

د کلاوډ سمارټ کور سیسټم چې پدې مقاله کې بحث شوی د کلاوډ ویډیو سرویلانس سیسټم اپ گریډ دی ، د لیکوال لخوا هم رامینځته شوی ، کوم چې د څو کلونو راهیسې په بازار کې دی او په روسیه کې ډیری تاسیسات لري.

د بادل ویډیو څارنې سیسټمونو لپاره، یو له سختو ستونزو څخه د تجهیزاتو محدود انتخاب دی چې ورسره ادغام ترسره کیدی شي. هغه سافټویر چې د بادل سره وصل کولو مسؤل دی د ویډیو کیمرې دننه نصب شوی ، کوم چې سمدلاسه په خپل هارډویر کې جدي غوښتنې ځای په ځای کوي - پروسیسر او د وړیا حافظې مقدار. دا په عمده ډول د منظم IP کیمرې په پرتله د کلاوډ CCTV کیمرې لوړ نرخ تشریح کوي. سربیره پردې ، د CCTV کیمرې تولید کونکو شرکتونو سره د خبرو اترو اوږده مرحله اړینه ده چې د کیمرې فایل سیسټم او ټولو اړین پرمختیایی وسیلو ته لاسرسی ومومي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

له بلې خوا، ټول عصري IP کیمرې د نورو تجهیزاتو سره د تعامل لپاره معیاري پروتوکولونه لري (په ځانګړې توګه، ویډیو ریکارډر). پدې توګه ، د جلا کنټرولر کارول چې د معیاري پروتوکول له لارې وصل کیږي او د IP کیمرې څخه بادل ته ویډیو جریان خپروي د بادل ویډیو نظارت سیسټمونو لپاره د پام وړ رقابتي ګټې چمتو کوي. سربیره پردې ، که چیرې پیرودونکي دمخه د ساده IP کیمرې پراساس د ویډیو نظارت سیسټم نصب کړی وي ، نو دا امکان لري چې دا پراخه کړئ او په بشپړ کلاوډ سمارټ کور کې یې بدل کړئ.

د IP ویډیو سرویلانس سیسټمونو لپاره خورا مشهور پروتوکول ، اوس د ټولو IP کیمرې جوړونکو لخوا پرته له استثنا څخه ملاتړ کیږي. د، چې مشخصات یې د ویب خدماتو تشریح ژبه کې شتون لري wsdl. د اوزار کټ څخه د اسانتیاوو کارول gSOAP دا ممکنه ده چې د خدماتو لپاره د سرچینې کوډ تولید کړئ چې د 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

د پایلې په توګه، موږ په C++ کې د سرلیک "*.h" او سرچینې "*.cpp" فایلونو سیټ ترلاسه کوو، کوم چې په مستقیم ډول په اپلیکیشن یا جلا کتابتون کې ځای پرځای کیدی شي او د GCC کمپیلر په کارولو سره ترتیب شوي. د ډیری دندو له امله، کوډ لوی دی او اضافي اصلاح ته اړتیا لري. د Raspberry Pi 3 ماډل B+ مایکرو کمپیوټر د دې کوډ اجرا کولو لپاره کافي فعالیت لري، مګر که چیرې د بل پلیټ فارم ته کوډ پورټ کولو ته اړتیا وي، نو دا اړینه ده چې د سم پروسیسر جوړښت او سیسټم سرچینې وټاکئ.

IP کیمرې چې د ONVIF معیار ملاتړ کوي ، کله چې په محلي شبکه کې کار کوي ، د پتې سره د ځانګړي ملټي کاسټ ګروپ سره وصل وي 239.255.255.250. یو پروتوکول شتون لري د WS کشف، کوم چې تاسو ته اجازه درکوي په محلي شبکه کې د وسیلو لټون اتومات کړئ.

د سمارټ کور کنټرولر ګرافیکي انٹرفیس په PHP کې د IP کیمرې لپاره د لټون فعالیت پلي کوي ، کوم چې د XML پیغامونو له لارې د ویب خدماتو سره متقابل عمل کولو کې خورا اسانه دی. کله چې د مینو توکي غوره کړئ وسیلې> IP کیمرې> سکین کول د IP کیمرې لټون کولو الګوریتم په لاره اچول شوی، پایله یې د میز په بڼه ښودل کیږي:

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه
(په لوی ریزولوشن کې د خلاصولو لپاره په عکس کلیک وکړئ)

کله چې تاسو کنټرولر ته کیمره اضافه کړئ ، تاسو کولی شئ تنظیمات مشخص کړئ چې له مخې یې دا به د بادل سره تعامل وکړي. همدارنګه پدې مرحله کې، دا په اتوماتيک ډول یو ځانګړی وسیله پیژندونکی ګمارل شوی، د کوم په واسطه چې دا وروسته په بادل کې په اسانۍ سره پیژندل کیدی شي.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

بیا ، یو پیغام د JSON ب formatه کې رامینځته شوی چې د اضافه شوي کیمرې ټول پیرامیټونه پکې شامل دي او د RESTful API کمانډ له لارې د سمارټ کور کنټرولر سرور پروسې ته لیږل کیږي ، چیرې چې د کیمرې پیرامیټونه ډیکوډ شوي او په داخلي SQLite ډیټابیس کې خوندي شوي ، او دي. د لاندې پروسس کولو تارونو په لاره اچولو لپاره هم کارول کیږي:

  1. د ویډیو او آډیو جریانونو ترلاسه کولو لپاره د RTSP پیوستون رامینځته کول؛
  2. د G.711 mu-Law، G.711 A-Law، G.723، او داسې نورو فارمیټونو څخه آډیو ټرانسکوډ کول. د AAC بڼه ته؛
  3. په H.264 فارمیټ کې د ویډیو جریانونو او د AAC فارمیټ کې آډیو په FLV کانټینر کې لیږد کول او د RTMP پروتوکول له لارې کلاوډ ته لیږدول؛
  4. د ONVIF پروتوکول له لارې د IP کیمرې حرکت کشف کونکي پای ټکي سره اړیکه رامینځته کول او په وخت سره یې رایې ورکول؛
  5. په دوره توګه د تمبیل مخکتنې عکس رامینځته کول او د MQTT پروتوکول له لارې بادل ته لیږل؛
  6. د ویډیو او آډیو جریانونو ځایی ثبت کول د MP4 ب formatه کې د جلا فایلونو په بڼه په SD یا د سمارټ کور کنټرولر فلش کارت کې.

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د کیمرې سره د اړیکې رامینځته کولو لپاره ، ټرانسکوډ ، پروسس او د سرور پروسې کې ویډیو جریان ثبت کول ، د کتابتون افعال کارول کیږي FFmpeg 4.1.0.

د فعالیت ازموینې تجربې کې ، 3 کیمرې د کنټرولر سره وصل شوي:

  1. HiWatch DS-I114W (ریزولوشن - 720p، د کمپریشن بڼه - H.264، بټریټ - 1 Mb/s، غږ G.711 mu-Law)؛
  2. مایکرو ډیجیټل MDC-M6290FTD-1 (ریزولوشن - 1080p، د کمپریشن بڼه - H.264، بټریټ - 1 Mb/s، غږ نشته)؛
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (ریزولوشن - 1080p، د کمپریشن بڼه - H.264، بټریټ - 1.5 Mb/s، AAC آډیو).

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

ټول درې جریانونه په ورته وخت کې بادل ته تولید شوي ، د آډیو ټرانسکوډینګ یوازې د یوې کیمرې څخه ترسره شوی ، او د ځایی آرشیف ثبت کول غیر فعال شوي. د CPU بار تقریبا 5٪ و، د RAM کارول 32 MB (په هره پروسه کې)، 56 MB (ټول د OS په شمول).

پدې توګه ، نږدې 20 - 30 کیمرې د سمارټ کور کنټرولر سره وصل کیدی شي (د ریزولوشن او بټریټ پورې اړه لري) ، کوم چې د درې پوړیز کاټیج یا کوچني ګودام لپاره د ویډیو نظارت سیسټم لپاره کافي دي. د هغو دندو لپاره چې لوی فعالیت ته اړتیا لري، تاسو کولی شئ د ملټي کور انټیل پروسیسر او لینکس ډیبیان سارج OS سره یو نیټ ټاپ وکاروئ. کنټرولر اوس مهال د محاکمې په حال کې دی، او د هغې د فعالیت ډاټا به تازه شي.

د بادل سره تعامل

د کلاوډ میشته سمارټ کور په بادل کې د کارونکي ډیټا (ویډیو او سینسر اندازه کول) ذخیره کوي. د بادل ذخیره کولو جوړښت به زموږ په لړۍ کې په راتلونکي مقاله کې په ډیر تفصیل سره بحث وشي. اوس راځئ چې د سمارټ کور کنټرولر څخه بادل ته د معلوماتو پیغامونو لیږدولو لپاره د انٹرفیس په اړه وغږیږو.

د وصل شوي وسیلو حالتونه او د سینسر اندازه کول د پروتوکول له لارې لیږدول کیږي ايم سي ټي ټي، کوم چې ډیری وختونه د سادګۍ او انرژي موثریت له امله د شیانو په پروژو کې کارول کیږي. MQTT د مراجعینو-سرور ماډل کاروي، چیرته چې پیرودونکي په بروکر کې ځانګړي موضوعاتو ته ګډون کوي ​​او خپل پیغامونه خپروي. بروکر د QoS (د خدماتو کیفیت) کچې لخوا ټاکل شوي مقرراتو سره سم ټولو پیرودونکو ته پیغامونه لیږي:

  • QoS 0 - اعظمي یو ځل (د تحویلي تضمین نشته)؛
  • QoS 1 - لږترلږه یو ځل (د تحویلي تصدیق سره)؛
  • QoS 2 - دقیقا یو ځل (د اضافي تحویلي تصدیق سره).

زموږ په قضیه کې، موږ کاروو Eclipse Mosquito. د موضوع نوم د سمارټ کور کنټرولر ځانګړی پیژندونکی دی. د سرور پروسې دننه د MQTT پیرودونکي دې موضوع ته ګډون کوي ​​او د پیغام مدیر څخه د JSON پیغامونه په دې کې ژباړي. برعکس، د MQTT بروکر پیغامونه د دې لخوا د پیغام مدیر ته لیږل کیږي، چې بیا یې د سرور پروسې دننه خپلو پیرودونکو ته ملټي پلیکس کوي:

د کلاوډ سمارټ کور. برخه 1: کنټرولر او سینسرونه

د سمارټ کور کنټرولر وضعیت په اړه د پیغامونو لیږدولو لپاره، د خوندي شوي پیغامونو میکانیزم کارول کیږي ساتل شوي پیغامونه د MQTT پروتوکول. دا تاسو ته اجازه درکوي په سمه توګه د بریښنا د ناکامۍ پرمهال د بیا نښلولو وخت وڅارئ.

د MQTT پیرودونکی د کتابتون پلي کولو پراساس رامینځته شوی Eclipse Paho په C++ ژبه کې.

H.264 + AAC میډیا جریان د RTMP پروتوکول له لارې کلاوډ ته لیږل کیږي ، چیرې چې د میډیا سرورونو کلستر د دوی پروسس او ذخیره کولو مسؤلیت لري. په کلستر کې د بار په غوره توګه توزیع کولو او د لږترلږه بار شوي میډیا سرور غوره کولو لپاره ، د سمارټ کور کنټرولر د کلاوډ بار بیلنسر ته لومړنۍ غوښتنه کوي او یوازې له هغې وروسته میډیا جریان لیږي.

پایلې

مقاله د Raspberry Pi 3 B+ مایکرو کمپیوټر پراساس د سمارټ کور کنټرولر یو ځانګړی پلي کول معاینه کړي، کوم چې کولی شي د Z-Wave پروتوکول له لارې معلومات ترلاسه کړي، پروسس کړي او د کنټرول تجهیزات، د ONVIF پروتوکول له لارې د IP کیمرونو سره اړیکه ونیسي، او د معلوماتو تبادله هم وکړي. د بادل سره امرونه د MQTT او RTMP پروتوکولونو له لارې خدمت. د تولید منطق انجن د JSON ب formatه کې وړاندې شوي د منطقي قواعدو او حقایقو پرتله کولو پراساس رامینځته شوی.

د سمارټ کور کنټرولر اوس مهال په مسکو او د مسکو سیمه کې په ډیری سایټونو کې د آزموینې عملیات روان دي.

د کنټرولر راتلونکی نسخه پالن لري چې د نورو ډولونو وسیلو سره وصل شي (RF، بلوتوټ، وائی فای، وائیډ). د کاروونکو د اسانتیا لپاره، د سینسرونو او IP کیمرونو نښلولو پروسیجر به ګرځنده غوښتنلیک ته لیږدول کیږي. د سرور پروسې کوډ اصلاح کولو او عملیاتي سیسټم ته سافټویر پورټ کولو لپاره نظرونه هم شتون لري پرانيستی لیک. دا به تاسو ته اجازه درکړي چې په جلا کنټرولر کې خوندي کړئ او د سمارټ کور فعالیت منظم کورني روټر ته انتقال کړئ.

سرچینه: www.habr.com

Add a comment