تطوير نظام مراقبة مجلس الوزراء للاتصالات على AWS

في المنشور السابق ، تم اقتراح خوارزمية لاختيار نظام تحكم لمختلف مهام "إنترنت الأشياء". بالنسبة للحلول متوسطة الحجم ، اتضح أن استخدام منصات إنترنت الأشياء السحابية هو الأمثل.



تتناول هذه المقالة كيفية قيامنا بتنفيذ نظام مراقبة وإدارة يعتمد على منصة Amazon WEB Services (AWS). تعتبر خزانة الاتصالات التي تشبه "المنزل الذكي" الصغير ككائن تحكم. داخل هذه الخزانة يمكن تركيب معدات الاتصالات الخلوية أو الثابتة ، واي فاي المدينة ، المراقبة بالفيديو ، التحكم في الإضاءة ، إلخ ، بالإضافة إلى أجهزة التحكم في المناخ وإمدادات الطاقة. باستخدام وحدة تحكم المنزل الذكي الخزانة ومجموعة من أجهزة الاستشعار ونظام المستوى الأعلى ، يمكن للمشغل مراقبة حالة المعدات والمناخ المحلي والأمن والسلامة من الحرائق. 





مهمة



لنفكر في إنشاء نظام من مستويين ، يظهر الرسم التخطيطي الهيكلي أدناه.





في المستوى الأدنى ، يجب استخدام وحدات التحكم مع أجهزة الاستشعار والمحركات والأجهزة الرقمية.



وظائف النظام ذات المستوى الأدنى ومتطلبات التحكم



المهام  متطلبات تحكم
مصدر طاقة رئيسي يعمل بالطاقة أو التيار المستمر مصدر الطاقة لـ 220VAC ، أو 18..72VDC

(للخزائن بنظام طاقة احتياطي)
التواصل مع نظام المستوى الأعلى منفذ إيثرنت و / أو وحدة 2G / LTE يدعم البروتوكولات: MQTT / TLS ، WEB ، واجهة سطر الأوامر (CLI) ، SNMP v.1-3 ، Syslog ، ترخيص نصف القطر.
, , RS485, RS232, CAN, USB, Ethernet .
- : , , , , .



,
- DHT , ; 0..20 , NAMUR. ;1-Wire Maxim Integrated.
, , ( ) U = 230, Imax > 5A( )




  • IoT ,
  • ,
  • B2B , B2C « »,
  • ,
  • ;
  • WEB , 
  • ,
  • .




اليوم ، تم تطوير أكثر من 600 منصة إنترنت الأشياء في العالم وهذا العدد في تزايد مستمر . في الوقت نفسه ، كانت منصة Amazon WEB Services (AWS) هي الأكثر شعبية بين المطورين في عام 2019. حدد الموقع المهيمن لـ AWS اختيارنا لهذه المنصة كأساس لنظام ST-Eye الخاص بنا. وقد تأثر القرار أيضًا بالدعم الفني الفوري وتوافر قدر كبير من المعلومات المرجعية. شارك الرجال من AWS أفضل الممارسات وساعدوا في اختيار أكثر التقنيات فعالية.



فيما يلي تصميم ووصف نظام ST-Eye.



بنية نظام ST-Eye IoT على منصة AWS





مستوى الاتصال مع وحدات التحكم



تتصل وحدات التحكم في الكائن بخدمة AWS IoT-Core باستخدام TLS. يحتوي عنوان الخادم المستخدم للاتصال على معرف فريد للحساب. تتم المصادقة باستخدام بروتوكول x509. يستخدم كل جهاز شهادته الفريدة الخاصة به. بالإضافة إلى الشهادة الخاصة بها ، تمتلك وحدة التحكم شهادة CA لمصادقة الخادم. يتم إنشاء الشهادات وتوزيعها من خلال منصة AWS. بعد المصادقة الناجحة ، يتم استخدام بروتوكول MQTT ، والذي أصبح المعيار الفعلي في إنترنت الأشياء... يعتمد بروتوكول MQTT على تفاعل العملاء مع بعضهم البعض وفقًا لمبدأ pub / sub. يقوم العملاء بنشر الرسائل على القنوات (الموضوعات) والاشتراك في الموضوعات الحالية للعملاء الآخرين. يتم توفير ذلك من خلال خدمة وسيطة - وسيط ، يقوم بتخزين قائمة بالموضوعات وقوائم المشتركين لكل موضوع من الموضوعات المتاحة. توفر خدمة IoT-Core العديد من الموضوعات القياسية للاشتراك والنشر ، ويمكنك إنشاء موضوعات أخرى. ستكون متاحة داخل منطقة AWS والحساب. على سبيل المثال ، تشترك وحدات التحكم في موضوعات التحكم المباشر ، وينشر تطبيق WEB الأوامر لهم. نظرًا لمتطلبات الموارد المنخفضة لـ MQTT ، يكون وقت استجابة وحدة التحكم لأمر المشغل ضئيلًا (في نظامنا - لا يزيد عن 0.5 ثانية عند استخدام اتصال Ethernet للمكتب). IoT-Core هي خدمة مُدارة ، على التوالي ،يتم إجراء التكرار والقياس دون تدخل المستخدم.



إحدى الوظائف الرئيسية لخدمة IoT-Core هي صورة الظل الافتراضية للجهاز. يسمح لك بالحصول على آخر حالة معروفة للجهاز وعرضها حتى عندما لا يكون الجهاز متاحًا عبر الشبكة. هذه الميزة لا غنى عنها للعمل مع أجهزة GSM أو الأجهزة التي تعمل بالبطارية ، حيث قد تكون غير متصلة بالإنترنت لفترة طويلة. الظل هو كائن JSON يحتوي على حقلين رئيسيين: تم الإبلاغ عنه والمطلوب. يحتوي كل حقل على أزواج من القيم الرئيسية المقابلة لمعلمات الإخراج و / أو الجهاز. عندما يتم تغيير معلمات الجهاز المطلوبة ، يتم إنشاء حقل دلتا الذي يحتوي على الفرق بين الحقول المطلوبة والمبلغ عنها. يشترك الجهاز في الموضوع $ aws / things / thingName / shadow / update / deltaويقوم بتحديث حالته الداخلية إذا كان هناك معلمات في حقل دلتا. يحتوي الظل على تاريخ ووقت آخر تحديث. وبالتالي ، يتلقى تطبيق المستوى الأعلى معلومات حول المدة التي تم فيها الاتصال بوحدة التحكم في المرة الأخيرة.



توفر خدمة IoT-Core أيضًا نظامًا مرنًا من القواعد للتفاعل مع الخدمات الأخرى. في تطبيقنا ، تُستخدم قواعد IoT-Core ، على سبيل المثال ، لإرسال الإشعارات وتفعيل الأجهزة. يتم تكوين الإخطارات في محطة عمل المسؤول. تتوفر إشعارات الرسائل القصيرة والبريد الإلكتروني والدفع.



عملية تحديث البرامج في أجهزة إنترنت الأشياء لها متطلبات صارمة. يجب التحقق من مصدر التحديث والحاوية مع البرنامج الثابت الجديد للتأكد من صحتها والتوافق مع وحدة التحكم. خلاف ذلك ، قد تتحول وحدة التحكم إلى "لبنة" بعد التحديث. تُستخدم آلية المهمة لتنفيذ البرنامج الثابت عبر الأثير (FOTA) أو تكوين الجهاز. تستقبل وحدة التحكم مجموعة من الأوامر والبيانات الإضافية من خلال موضوع خاص ، ثم تنفذ الأوامر بالتسلسل. على سبيل المثال ، يقوم بتنزيل البرامج الثابتة من التخزين السحابي AWS S3 باستخدام رابط والتحقق من توقيعه.



طبقة معالجة البيانات



يستخدم النظام الفرعي IoT-Analytics لمعالجة البيانات من خدمة IoT-Core إلى AWS. يسمح لك حظر القناة ، باستخدام قواعد تشبه SQL ، بتحديد مصدر بيانات ، على سبيل المثال ، حقول الرسائل الفردية من الأجهزة. يمكن تخزين البيانات الأولية التي تصل عبر القناة في وحدة التخزين الداخلية للخدمة أو في S3. يسمح لك مكون خط الأنابيب بمعالجة البيانات مسبقًا أو تصفيتها أو استكمالها. على سبيل المثال ، بناءً على بعض البيانات ، يمكنك تقديم طلب إلى قاعدة بيانات (DB) أو خدمة خارجية وإضافة معلومات من الاستجابة. يتم حفظ البيانات المعالجة مسبقًا في قاعدة بيانات مخزن البيانات . قاعدة البيانات هذه من نوع قاعدة بيانات السلاسل الزمنية ( TSDB) ومصممة للعمل مع البيانات الواردة من أجهزة الاستشعار ذات المرجعية الزمنية. باستخدام هذه البيانات ، من الممكن تتبع التغيير في كل معلمة للنظام خلال فترة المراقبة بأكملها. بخلاف الأنواع الأخرى من قواعد البيانات ، يوفر TSDB أدوات مثل سياسات الاحتفاظ / حذف البيانات ، وجدولة الاستعلام ، ووظائف التجميع المرنة.



يتم لاحقًا تطبيق عينات البيانات على السجلات في مخزن البيانات ( مجموعات البيانات). يمكن تنفيذها في شكل استعلامات SQL وتنفيذها بواسطة المجدول داخل النظام الفرعي IoT-Analytics ، وفي حالة الحاجة إلى منطق أكثر تعقيدًا ، في حاوية Docker. يتم تخزين نتائج المعالجة اللاحقة في تخزين الخدمة وهي متاحة لمدة 90 يومًا من تطبيق WEB وخدمة تصور البيانات (Quicksight). بعد تاريخ انتهاء الصلاحية ، يتم نقل البيانات إلى التخزين البارد على S3 باستخدام وظيفة Lambda.



مستوى التصور (تطبيق WEB)



في المستوى الأعلى من النظام ، يتم تنفيذ بوابة WEB ، ممثلة بعدة محطات عمل آلية (AWS) ، على وجه الخصوص ، مسؤول ومحلل / مدير ومرسل.



ضع في اعتبارك محطة عمل المرسل. تبدو نافذتها الرئيسية كجدول يلخص البيانات حول مجموعات من الكائنات.





يمكن أن يكون كل كائن في واحدة من خمس حالات: عادي ، مشكلة / إنذار ، انتهاك ، وضع الخدمة وعدم وجود اتصال. تسمح لك كل خلية في الجدول بالانتقال إلى قائمة الكائنات ذات الصلة بمعلومات أكثر تفصيلاً: 





من خلال النقر على الجهاز المقابل في القائمة ، يمكنك فتح الصفحة للمراقبة والتحكم.



يستخدم تطبيق WEB بروتوكول TLS كوسيلة نقل للاتصال بـ AWS. تعمل المصادقة على خوارزمية التوقيع V4 وتستخدم خدمة Cognito المصغرة. يتم استضافة رمز التطبيق في متجر S3. تستخدم البوابة آلية التكامل المستمر. يتم اختبار الإصدارات الجديدة تلقائيًا ، وإذا نجحت ، يتم تطبيقها على النظام الأساسي. تُستخدم خدمة Beanstalk للتحكم في الإصدار والنشر التلقائي.



إحلال الواردات



يحتوي التشريع الروسي للتطبيقات الحكومية (B2G) على قيود على استخدام الخوادم خارج روسيا ، على سبيل المثال ، 187-. الخدمة السحابية الروسية الأكثر تقدمًا هي Yandex.Cloud ، والتي تعد منصة إنترنت الأشياء جزءًا منها. في بداية العمل على نظامنا ، لم تكن بعض المكونات المتوفرة في AWS متاحة بعد من Yandex. على وجه الخصوص ، لإنشاء حل كامل ، كنت بحاجة إلى الواجهة الخلفية الخاصة بك للتفاعل مع تطبيق WEB ووسيط MQTT. من ناحية أخرى ، قدمت Yandex بالفعل تحليلات غنية وأدوات قواعد البيانات وأدوات نشر التطبيق والتخزين السحابي (تخزين الكائنات). تتوفر بالفعل خدمة Datalens لتصور البيانات (المشابهة لـ AWS Quicksight) ، بالإضافة إلى قاعدة بيانات ClickHouse ، والتي تعد مثالية لتخزين بيانات السلاسل الزمنية.



تقدم Yandex مساهمة كبيرة في تطوير المصدر المفتوح في العالم ، وتحاول أيضًا جعل منتجاتها متوافقة مع الحلول الحالية. لذلك ، على سبيل المثال ، يمكنك العمل مع Object Storage Yandex باستخدام الأداة المساعدة aws-cli باستخدام أوامر AWS S3.



تحديد وحدات تحكم الكائن



سوق وحدات التحكم في الكائنات كبير جدًا. عدد الخيارات والشركات المصنعة للاختيار من بينها يذهب إلى العشرات ، والنماذج إلى المئات. كقاعدة عامة ، عند إنشاء أنظمة التحكم ، يتم استخدام وحدات التحكم التي تكون قادرة بالفعل على العمل معها ، أو التي يوصى بها مورد نظام المستوى الأعلى. هذه الحالة هي الوحيدة الممكنة عند استخدام أنظمة عالية المستوى تم تطويرها لمعدات معينة ( منصات برامج خاصة بالأجهزة ) والعمل مع وحدات التحكم باستخدام بروتوكولات التبادل المغلق.



عند استخدام أنظمة ذات مستوى عالٍ تعمل على بروتوكولات مفتوحة (مثل منصات إنترنت الأشياء السحابية) ، يمكنك توفير المال عن طريق اختيار المعدات المثلى لمتطلبات المشروع. ويرد مثال على هذه المتطلبات في الفقرة "وظائف النظام منخفضة المستوى ومتطلبات جهاز التحكم" أعلاه.



بالنسبة لحلول B2G وفقًا لـ PP-878 ، من الأفضل التركيز على وحدات التحكم الروسية. بالنسبة لبعض المناطق ، أصبح من المهم بشكل متزايد استخدام المعدات القائمة على قاعدة العناصر الروسية.



لا يعرف الجميع خيار تصميم وحدة التحكم المخصصة. يمكن أن تؤتي ثمارها من خلال استخدام قاعدة عنصر غير مكلفة وتنفيذ العدد المطلوب من الكتل الوظيفية لمشروع معين. بالإضافة إلى ذلك ، سيتألف مجمع المعدات في المنشأة من الحد الأدنى لعدد الأجهزة (أحيانًا جهاز واحد فقط) ، مما يعني أنه سيكون هناك أعمال تجميع وتركيب وتشغيل أقل.



التطوير المخصص لوحدة التحكم يمكن أن يؤتي ثماره بسبب انخفاض تكلفة المعدات ، وأعمال التركيب والتشغيل الأقل.



للمهمة الموصوفة ، استخدمنا وحدة تحكم GiC(وحدة تحكم الإنترنت العامة) ملكية. وهي مجهزة بالعدد المطلوب من واجهات الشبكة ، ومنافذ الإدخال والإخراج ، وإمدادات الطاقة المدمجة ، وتدعم بروتوكولات MQTT ، و WEB ، و SNMP ، و ModBUS ويمكنها استجواب العديد من الأجهزة الرقمية: أجهزة القياس ، وأنظمة الإمداد بالطاقة ، ومكيفات الهواء (القائمة تتوسع باستمرار).



خاتمة



أعلاه ، وصفنا كيف يتم إنشاء نظام الإدارة الخاص بنا على AWS. تجعل التقنيات السحابية هذا النوع من التطوير أسهل ، لكن لا يزال من غير الممكن القول إن هذه مسألة بضع نقرات. إذا كانت مهمتك مشابهة لمهمتنا ، فيرجى الاتصال بنا.



في منصات إنترنت الأشياء ، يجدر انتظار ظهور القوالب المعدة مسبقًا لأنظمة المنزل الذكي ، ASKUE ، NMS ، ACS ، إلخ. سيؤدي ذلك إلى تبسيط إنشاء حلول كاملة ، وخفض عتبة الدخول في هذا العمل وجذب جمهور إضافي لتقنيات السحابة.



تستخدم منصات إنترنت الأشياء بروتوكولات التبادل المفتوح مع وحدات التحكم. يمنح هذا المستخدمين حرية اختيار معدات الموقع الخاصة بهم. هناك إمكانية التطوير المخصص لوحدات التحكم ( تخصصنا ). يمكن أن يؤدي استخدام وحدات التحكم المخصصة إلى تقليل ميزانية المشروع.



بالنسبة للمشاريع الحكومية والمشاريع المتعلقة بالبنية التحتية للمعلومات الحيوية ، من الأفضل التركيز على الأنظمة الروسية ومعدات المرافق ، حيث أن سوق هذه الأنظمة قد تم تشكيله بالفعل ويتطور.



All Articles