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

لماذا منصة الأمازون إنترنت الأشياء؟ ولماذا تحتاج إلى فهم كيفية عمل منصات إنترنت الأشياء؟
M2M - إنترنت الأشياء - إنترنت الأشياء
هناك المزيد والمزيد من أجهزة إنترنت الأشياء في العالم ، تتحدث كل من الوكالات التحليلية والإحصاءات العالمية عن هذا.
يمكننا أن نرى بوضوح أن المزيد والمزيد من الأنظمة متصلة بالإنترنت ويتم التحكم فيها تلقائيًا أو بواسطة أشخاص: منازل ذكية ، سيارات ، أجهزة يمكن ارتداؤها. والآن يتحدثون ليس فقط عن إنترنت الأشياء ، ولكن أيضًا عن إنترنت الأشياء (Internet of Everything) ، لأن لا تستخدم الأجهزة التي تتصل بالمنصات فقط في الأنظمة الصناعية ، ولكن أيضًا من قِبل الأشخاص.
لذلك ، نحن بحاجة إلى فهم مبادئ العمل بأنفسنا ، على الأقل حتى نفهم كيف يمكنك استخدام أجهزتك بفعالية أو ما هي حدود وفروق الأمان.
لماذا الأمازون؟
تنشئ أمازون خدمات تراعي الاتجاهات العالمية ونتيجة لذلك يتم الحصول على أنظمة "عالمية" ، حيث يتم استخدام المبادئ الأساسية من قبل جميع الشركات المصنعة. يحتوي النظام الأساسي السحابي على ميزة أكبر - هذه هي القدرة على نشر النظام بنفسك في غضون ساعتين ، دون إشراك خدمة تكنولوجيا المعلومات والأمن للشركات)
لماذا الهاتف الذكي وليس بعض IoT Starter Kit؟
عند الفحص الدقيق ، يحاكي الهاتف الذكي جهاز إنترنت الأشياء جيدًا:
- لديها نظام Linux لتشغيل التطبيقات ؛
- يوجد اتصال محمول بالإنترنت ؛
- باستخدام البرنامج ، يمكنك محاكاة قراءات أجهزة الاستشعار.
أي لن يختلف العمل مع جهاز إنترنت الأشياء الحقيقي عن العمل مع الهاتف الذكي ، باستثناء استخدام SDK معين للحصول على قراءات أجهزة الاستشعار. جميع الاتصالات الأخرى ستكون مماثلة.
اسمحوا لي أن أتخطى القسم بالمعايير والتحليلات وبحوث التسويق - في نهاية المقال ، سأقدم بعض الروابط ذات الصلة. أنا متحمس لفعل شيء مثير للاهتمام)
AWS IoT Platform
ترسم أمازون مخططًا واضحًا إلى حد ما لمنصتها:

هنا ، بشكل عام ، كل شيء واضح:
- (1) هناك أجهزة تتفاعل مع منصة IoT باستخدام SDK.
- (2) ترسل الأجهزة رسائل يتم التحقق منها بواسطة خدمة المصادقة والترخيص.
- (3) تصل الرسائل إلى Device Gateway باستخدام بروتوكولات مختلفة ، ثم انتقل إلى معالج القواعد (4.1) ويتم نسخها (4.2) إلى Device Shadows.
- (4.2) ظلال الجهاز هي أزواج رقمية تخزن الحالة الحالية للأجهزة المتوفرة دائمًا للتطبيقات. من ناحية أخرى ، في حالة عدم وجود اتصال بالجهاز ، ينفذ Device Shadow أوامر التحكم من التطبيقات ، وعند إعادة الاتصال ، يقوم بمزامنة الحالة الحالية مع الجهاز.
- (4.1) وفقًا للبيانات المستلمة ، يقوم معالج القواعد بإجراءات محددة مسبقًا (5.1) ، على سبيل المثال ، يحفظ البيانات في قاعدة البيانات ، يرسل رسائل نصية قصيرة أو إخطار البريد الإلكتروني ، يستدعي HTTP API ، يرسل البيانات إلى نظام التحليلات ، إلخ.
- (5.2) تستخدم التطبيقات هذه البيانات للتحكم في الأجهزة وإدارتها باستخدام واجهة برمجة تطبيقات AWS (6)
- يتم تخزين المعلومات على جميع الأجهزة على منصة AWS IoT (7).
نبدأ في فهم ، المخطط معقد قليلاً:

تظهر:
وظائف - تنفيذ الإجراءات القياسية على الأجهزة ، على سبيل المثال ، تثبيت التطبيقات ، تحديث البرامج الثابتة ، إعادة تشغيل الأجهزة ، إلخ.
الموضوعات هي جوهر بروتوكول MQTT. يتم إرسال الرسائل من أجهزة إنترنت الأشياء إلى مواضيع محددة.
أدوار IAM - مستخدمو AWS نيابةً عن من يتم تنفيذ القواعد والذين لديهم حق الوصول إلى موارد AWS اللازمة.
القواعد تتكون من:
- مرشح - مرشح الرسالة للمعالجة. تعيين كاستعلام SQL.
- الإجراء - الإجراء المطلوب تنفيذه.
- دور - واحد أو أكثر من أدوار IAM.
شهادة - يتم تحميلها على جهاز إنترنت الأشياء ، مع مصادقة المساعدة الخاصة بالأجهزة على نظام AWS. تتكون من:
- شهادة جهاز X.509
- المفتاح الخاص
- شهادة الجذر AWS
السياسة - يتم إرفاق السياسات بالشهادات التي تحدد الإجراءات التي يمكن للجهاز القيام بها. سياسات تجيز الأجهزة.
تفاصيل
خدمات AWS التي تتلقى معلومات من منصة IoT: خدمة الإشعارات التحليلات ، DB ، SNS.
نحن توصيل الجهاز
لن أقدم تعليمات كاملة حول توصيل جهاز IoT بمنصة Amazon:
الشروع في العمل مع AWS IoT . ولكن لفهم نطاق المهمة ، سأذكر الخطوات التي يجب اتخاذها حتى يعمل المخطط:
- قم بإنشاء جهاز my-iot-dev على النظام الأساسي
- نحصل على شهادة الجهاز X.509 ، المفتاح الخاص ، المفتاح العمومي
- الحصول على شهادة الجذر لمنصة AWS (Root CA لـ AWS IoT)
- قم بإنشاء سياسة my-iot-dev-policy. بالنسبة إلى العروض التوضيحية الخاصة بنا ، نسمح بجميع الإجراءات: iot: *

- أرفق سياسة بشهادة
- قم بإرفاق الشهادة بالجهاز
- نتيجةً لذلك ، تلقينا شهادة مع الجهاز والسياسة:

- إنشاء قاعدة. ستتصل القاعدة بخدمة إعلام AWS SNS (خدمة الإشعارات البسيطة) لإرسال بريد إلكتروني. لذلك ، يجب أولاً إنشاء موضوع في AWS SNS (موضوع my-iot-dev-sns):

- الآن نقوم بتهيئة ما سيقوم به هذا الموضوع بالضبط عند تلقي البيانات. للقيام بذلك ، قم بإنشاء اشتراك في الموضوع (اشترك في موضوع Amazon SNS) ، وأدخل عنوان البريد الإلكتروني الوجهة ، وانتظر خطاب التحقق ، وأكد البريد الإلكتروني.

أنشئ الآن القاعدة نفسها (my_iot_dev_rule) ، والتي ستدعو الموضوع الذي تم إنشاؤه:
- Filter: SELECT * FROM 'my / dev-topic' - يتم تشغيل الفلتر عند تلقي أي رسالة في الموضوع باسم 'my / dev-topic' ؛
- الإجراء: إرسال رسالة إلى موضوع SNS الذي تم إنشاؤه مسبقًا "arn: aws: sns: eu-central-1: 1219xxx34064: my-iot-dev-sns-topic"؛
- دور IAM: إنشاء دور my-dev-بدور الوصول إلى موضوعات SNS.

- يتم إنشاء جميع الكيانات المنطقية لجهازنا. الآن يمكنك اختبار أن المخطط يعمل من الناحية النظرية. للقيام بذلك ، تمتلك AWS أداة اختبار تتيح لك إرسال واستقبال رسائل مشابهة للأجهزة الحقيقية. نطلقه ونشترك في الموضوع (my / dev-topic) ونرسل "Hello World!" رد:

- نتحقق من أن الرسالة "Hello World!" قد وصلت وخلص إلى أن الدائرة تعمل.
تكوين الهاتف الذكي
لقد حان الوقت لتهيئة جهاز إنترنت الأشياء ، والذي سيكون هاتفي الذكي. للقيام بذلك ، استخدم
تعليمات AWS SDK JavaScript . لتحويل الهاتف الذكي إلى جهاز إنترنت الأشياء ، تحتاج إلى:
- نسخ إلى الجهاز: المفتاح الخاص وشهادات X.509 و "Root CA for AWS" ؛
- تثبيت Node.js و npm package manager ؛
- تثبيت AWS SDK ؛
- تثبيت وتشغيل برنامج الاختبار.
في حالتنا ، سيكون كل شيء أسهل قليلاً ، لأن أضع الشهادات و AWS SDK وبرنامج الاختبار على GitHub ويمكنك فقط استنساخ
مستودع IoT-Sensors . إذا أراد شخص ما استخدام برنامج الاختبار الخاص بي ، فسيتعين عليه وضع شهاداته في دليل / IoT / certs والكتابة في ملف / server / src / services / IoT-AOI-Server الفعلي لـ Rest API Endpoint الفعلي للجهاز:
device = deviceModule({ … host: 'a2lqo1xxx4zydi-ats.iot.eu-central-1.amazonaws.com', … })
يتم أخذ Rest API Endpoint من إعدادات الجهاز:

إذا كنت ترغب في تجربة شيء قياسي ، فيمكنك استخدام برامج الاختبار من AWS SDK.
Android هو نفس Linux ، ولكن مع حدوده ، لذلك لتشغيل تطبيقات JS ، تحتاج إلى تثبيت محطة طرفية خاصة ،
على سبيل المثال ، Termux .
للتطوير الأولي لـ Termux ، يوجد عدد من المقالات ، على سبيل المثال:
تشغيل تطبيق NodeJS على Android . ولكن بشكل عام ، بعد تثبيت Termux ، تحتاج إلى تنفيذ بعض الأوامر السحرية فقط:
git clone https://github.com/AlexeySushkov/IoT-Sensors.git
تركيب الخادم
cd ~/IoT-Sensors/server npm install npm start
إذا سارت الأمور على ما يرام ، فسيظهر الخط في الجهاز:
بدأ الخادم على المنفذ: 8081
يعيش يبدو مثل هذا:

تثبيت العميل
cd ~/IoT-Sensors/client npm install npm run serve
إذا سارت الأمور على ما يرام ، فسيظهر الخط في الجهاز:
التطبيق يعمل في الميناء: 8080
بعد ذلك ، في متصفح الهاتف الذكي ، أدخل:
http: // localhost: 8080وسيظهر تطبيق اختبار على الشاشة:

اضغط على زر "INIT DEV". هذا يصادق ويصدق جهاز إنترنت الأشياء على منصة AWS IoT. إذا نجحت ، تصبح الحالة "Init OK".
بعد ذلك ، ندخل قيم مجسات درجة الحرارة والرطوبة والضغط ، على سبيل المثال:
درجة الحرارة: 23
الرطوبة: 65
الضغط: 787
واضغط على زر "إرسال البيانات".

بعد ذلك ، يضيف التطبيق طابعًا زمنيًا ويرسل البيانات في شكل رسائل MQTT إلى الموضوع "my / dev-topic". يتلقى النظام الأساسي لـ IoT رسالة ويقوم بتنشيط قاعدة ترسل رسالة إلى خدمة إعلام AWS SNS ، والتي ترسل رسالة بريد إلكتروني تحتوي على البيانات المستلمة بتنسيق JSON:
{"time":"Mon, 30 Sep 2019 13:54:52 GMT", "temperature":"23", "humidity":"65", "pressure":"787"}
إذا تم إرسال الرسالة بنجاح ، فستتغير الحالة إلى: "نشر موافق" ويتم إرسال بريد إلكتروني إلى البريد:

يحتوي نظام AWS IoT على نظام مراقبة يُظهر عدد الاتصالات والرسائل من أجهزة إنترنت الأشياء والإحصاءات المتعلقة بالبروتوكولات وأنواع الرسائل وما إلى ذلك:

حتى الآن كل شيء يعمل من أجل حقيقي!
استنتاج
لقد بنينا إنترنت الأشياء صغيرًا ولكنه حقيقي باستخدام منصة Amazon. جميع المنصات مبنية على نفس المبادئ ، لذلك إذا كان السؤال الذي يطرح نفسه هو اختيار نظام إنترنت الأشياء ، فسوف نكون على استعداد لطرح الأسئلة التالية. علاوة على ذلك ، ومع معرفة إجابات Amazon ، يمكننا أن نستنتج مدى نضوج النظام الأساسي:
الأجهزة- كيف تتم إضافة الأجهزة إلى النظام؟
- كيف يتم ضمان مصادقة الجهاز والترخيص؟
- هل يحدث تشفير البيانات المرسلة إلى النظام الأساسي؟
منصة- كيف يتم حماية المفاتيح والشهادات على المنصة؟
- كيف يتم تشكيل القواعد؟
- ما الإجراءات التي يمكن أن تتبعها القواعد؟
- كيف تتم مراقبة الأجهزة وإدارتها؟
- هل هناك أي ظلال (الزوجي الرقمي) من الأجهزة على النظام الأساسي؟
- ما هي التقارير والتحليلات المتاحة؟
تفاعل- ما البروتوكولات المستخدمة لتوصيل الأجهزة؟
- كيف يتم تفاعل التطبيقات مع الجهاز؟
- كيف يتم اختبار منطق التفاعل؟
كما وعدت ، سأقدم بعض الروابط ذات الصلة بالمعايير والتحليلات:
معايير إنترنت الأشياء
والمثير للدهشة أن عمالقة التقييس (
ISO / IEC و
IEEE و
ITU-T ) قد فقدوا الاهتمام في إنترنت الأشياء بعد عام 2016. إنهم ، بالطبع ، يفعلون شيئًا ما ، لكن بطريقة ما دون وميض). أصدرت NIST أيضًا دراسة
شبكات الأشياء ، ولكن بعد عام 2016 ، لم يكن هناك شيء أكثر إثارة للاهتمام.
تبدو معاهد الاتصالات السلكية واللاسلكية أفضل ، وهذا ليس مفاجئًا منذ ذلك الحين دون الاتصال ، إنترنت الأشياء ليس إنترنت الأشياء. TM-Forum ، تحت مظلته ، يجمع حالات ومشاريع
IoE والنظم الإيكولوجية الرقمية ، ETSI أسهل وانضم إلى
OneM2M .
والآن نأتي إلى منظمتين تم تشكيلهما مؤخرًا نسبيًا ، ولكنهما حددنا بالفعل الاتجاه العالمي لتطوير إنترنت الأشياء:
OneM2MOneM2M هي
جمعية لمنظمات التقييس وشركات الاتصالات والمصنعين من مختلف البلدان. لديهم العشرات من الوثائق ذات الصلة في المجال العام التي تسخن الروح مع
النماذج المعمارية والرسوم البيانية الوظيفية .
لجنة التحقيق المستقلةIIC (اتحاد الإنترنت الصناعي) - وهي منظمة لتوحيد معايير الإنترنت الصناعية للأشياء - وهي بشكل أساسي
جهات تصنيع البرامج والأجهزة . كما يطلقون
أبنية مرجعهم. بشكل عام ، هناك حيث أن ننظر إلى العالم المثالي! )
تحليلات إنترنت الأشياء
جميع وكالاتنا التحليلية المفضلة تصدر أبحاث إنترنت الأشياء ، ولكن ليست جميعها متاحة مجانًا. على سبيل المثال ، سأقدم بعض المقالات ذات الصلة التي تظهر تنبؤات متفائلة لتطوير إنترنت الأشياء:
إنها البداية فقط!