الدرس الثالث إنترنت الأشياء والأجهزة المحمولة المؤتمتة
انظر إلى الشكل: هذه مركبة صناعية آلية تسير في مستودع لتفحص الحاويات التي تحمل رقاقة إنترنت الأشياء. الأتمتة ترفع الإنتاجية وتزيد الأرباح في الثورة الصناعية الرابعة. حين تترك الحاويات بلا تبريد طوال الليل تتلف، لذلك تمر المركبة بمسار محدد مسبقاً وتفحص الحاويات وتستشعر حاجتها للتبريد. ترسل المركبة موجات لاسلكية لتبلغ بمحتويات الحاوية، وتوجد محطات شحن في أنحاء منطقة التخزين لتعويض نقص طاقة بطارية المركبة أثناء الحركة.
يقوم الدرس على محاكاة نظام ذكي ومؤتمت لمراقبة وفحص مناطق تخزين المصانع باستخدام برنامج CupCarbon. تعتمد الفكرة على تسيير مركبة تفتيش آلية على مسار محدد مسبقاً لتمر بجانب حاويات مواد قابلة للتلف أو طويلة الأمد تحمل رقاقات إنترنت الأشياء. ترسل الحاويات محتواها لاسلكياً إلى مركبة التفتيش التي تتحقق من الحالة وتصدر أمراً برمجيًّا إما بالتقاط المادة أو تركها، مع إدارة طاقة المركبة وبطاريتها عبر محطات شحن موزعة على المسار. كمثال سريع، إذا مرت مركبة التفتيش بحاوية مواد قابلة للتلف وترلت رسالة تحتوي على تصنيف المواد ومعرف الحاوية، فإن المركبة تفصل النص وتطبع أمراً بالتقاط المادة إذا كان التصنيف يطابق الشروط.
الفكرة الأساسية
تعتمد الفكرة الأساسية للدرس على استخدام تقنيات الثورة الصناعية الرابعة لإنشاء نظام محاكاة متكامل داخل المصانع عبر برنامج CupCarbon. يهدف النظام إلى أتمتة عملية تفتيش ومراقبة حاويات التخزين التي تحتوي على مواد قابلة للتلف أو طويلة الأمد باستخدام مركبة تفتيش آلية تتحرك على مسار محدد وتتواصل لاسلكياً مع عقد الحاويات ومحطات الشحن.
الشرح
يبدأ العمل في برنامج CupCarbon بإنشاء مشروع جديد لتخزين البيانات، ثم رسم مسار مخصص تسير عليه مركبة التفتيش الآلية عبر إضافة العلامات وتعديل إحداثياتها ومعاملاتها باستخدام ملف مسار بصيغة gps. بعد ذلك، تضاف عقد إنترنت الأشياء التي تمثل الحاويات بالقرب من المسار بحيث يكون نطاق استشعارها متداخلاً مع مسار الحركة لتتمكن من رصد المركبة وتبادل الرسائل معها. توزع محطات الشحن على طول المسار لتعويض الفاقد من طاقة بطارية المركبة أثناء الحركة باستخدام دوال استشعار النطاق وإعادة تعيين الطاقة. تعتمد البرمجة على لغة بايثون داخل محرر النصوص البرمجية في البرنامج؛ حيث تُبرمج الحاويات لإرسال رسائل دورية تتضمن نوع المحتوى ومعرف الحاوية باستخدام دالة send()، بينما تبرمج مركبة التفتيش لاستقبال هذه الرسائل وقراءتها عبر دالة read(). تُفصَّل الرسالة المستقبلة باستخدام دالة split() لتخزين النصوص في مصفوفة يُميز فيها العنصر الأول نوع المحتوى والعنصر الثاني معرف الحاوية. بناءً على ذلك، تقرر المركبة الرد بأوامر محددة مثل التقاط المادة أو عدم التقاطها، مع مراعاة استهلاك الطاقة دورياً بـدالة battery.consume() وإعادة الشحن تلقائياً عند استشعار محطة الشحن.
مثال محلول خطوة بخطوة
- لإنشاء مشروع جديد، اضغط على زر New Project من شريط الأدوات، واكتب Storage Product Marketing في حقل اسم الملف، ثم اضغط على Save.
- لإنشاء مسار محدد، اضغط على زر Marker من شريط الأدوات، ثم انقر 5 مرات على الخريطة لإنشاء مسار الحركة، واضغط على زر Esc ثم احفظ المسار باسم route1.gps.
- لإضافة مركبة التفتيش، اضغط على عقدة إنترنت الأشياء ثم انقر على الخريطة، واضغط على All من شريط الحالة، ثم توجه إلى معاملات الجهاز و اربط ملف المسار route1.gps بالعقدة.
- لإضافة عقد الحاويات، انقر على عقدة إنترنت الأشياء وأضف 7 عقد بالقرب من المسار، وبرمجها بلغة بايثون لتتضمن إرسال نص يحتوي على نوع المحتوى والمعرف الخاص بكل حاوية.
- لكتابة المقطع البرمجي لمركبة التفتيش، افتح محرر بايثون، واكتب تعليمات تهيئة البطارية واستهلاك الطاقة، واكتب حلقة التكرار لاستقبال رسائل الحاويات وفحصها وتحليلها وإرسال الرد المناسب، ثم احفظ الملف باسم inspector.py وأدرجه في عقدة مركبة التفتيش، ثم اضغط على زر تشغيل محاكاة إنترنت الأشياء لبدء التجربة.
أخطاء شائعة
- نسيان تحويل نوع معرف الحاوية إلى متغير نصي قبل ربطه بالنص المرسل في دالة الإرسال.
- عدم ضبط نطاق استشعار الحاويات أو المركبة بشكل كافٍ يغطي مسار الحركة بدقة، مما يؤدي إلى فشل تبادل الرسائل.
- إرسال البيانات كقطعة نصية واحدة دون فصلها بمسافة، مما يعيق عمل دالة split() في تفصيل البيانات المستقبلة.
- إغفال إضافة المقاطع البرمجية الخاصة باستهلاك الطاقة وإعادة الشحن، مما يجعل محاكاة نفاد البطارية غير دقيقة.
سؤالان للتدريب مع الإجابة
السؤال الأول: ما الوظيفة التي تؤديها دالة split() عندما تستقبل مركبة التفتيش رسالة من إحدى الحاويات؟ الإجابة: تقوم دالة split() بفصل نص الرسالة المستقبلة إلى جزأين وفقاً للمسافة؛ حيث يحتفظ العنصر الأول بمحتويات الحاوية بينما يحتفظ العنصر الثاني بمعرف الحاوية لاستخدامه في اتخاذ القرار المناسب.
السؤال الثاني: ما الإجراء البرمجي الذي تفعله مركبة التفتيش عند اكتشاف وجودها في نطاق محطة شحن أثناء الحركة؟ الإجابة: تستخدم الدالة الخاصة باكتشاف النطاق، وعند تحقق الشرط، تقوم بإعادة ضبط مستوى الطاقة للحد الأقصى باستخدام دوال تهيئة البطارية لتعويض الطاقة المستهلكة.