📚 إنشاء المقطع البرمجي (لبرمجة مركبة التفتيش)
المفاهيم الأساسية
لا تحتوي هذه الصفحة على تعريفات جديدة للمصطلحات.
خريطة المفاهيم
```markmap
أدوات محاكاة إنترنت الأشياء
برنامج كاب كاربون (CupCarbon)
مشروع محاكاة: نظام تخزين مصنع آلي (تابع)
#### إنشاء المقاطع البرمجية
##### المكتبات والتهيئة
- استيراد مكتبة `time`.
- طباعة نص فارغ `node.print("")` لمسح النصوص السابقة.
##### برمجة حاويات المواد القابلة للتلف
- المحتويات: "CONSUMABLES".
- معرف الحاوية (ID) بعد تحويله إلى نص.
- فصل المعلومات بمسافة.
- استخدام دالة `node.send()` للإرسال.
##### استقبال الأوامر والاستجابة
- قراءة الرسالة الواردة `node.read()`.
- إذا كانت الرسالة "1": طباعة "PICK" (الالتقاط).
- إذا كانت الرسالة "2": طباعة "DO NOT PICK" (لا تلتقط).
- السكون لمدة ثانية `time.sleep(1)`.
##### برمجة حاويات المواد طويلة الأمد
- المحتويات: "NONCONSUMABLES".
- معرف الحاوية (ID) بعد تحويله إلى نص.
- فصل المعلومات بمسافة.
- استخدام دالة `node.send()` للإرسال.
##### استقبال الأوامر والاستجابة
- قراءة الرسالة الواردة `node.read()`.
- إذا كانت الرسالة "1": طباعة "PICK" (الالتقاط).
- إذا كانت الرسالة "2": طباعة "DO NOT PICK" (لا تلتقط).
- السكون لمدة ثانية `time.sleep(1)`.
##### برمجة مركبة التفتيش
###### تهيئة وإدارة البطارية
- `node.battery.setEMax(100.0)`: ضبط أقصى طاقة.
- `node.battery.init()`: شحن البطارية إلى الحد الأقصى.
- `node.battery.consume(1.0)`: محاكاة استهلاك الطاقة.
###### اكتشاف محطات الشحن
- `node.isSensorDetecting()`: التحقق من وجود محطة شحن في النطاق.
- عند الاكتشاف: استخدام `node.battery.init()` لإعادة الشحن.
###### معالجة رسائل الحاويات والرد
- قراءة جميع الرسائل في المخزن المؤقت: `for n in range(node.bufferSize())`.
- فصل نص الرسالة: `recvMsg.split()`.
- الرد على الحاوية المرسلة:
- إذا كان المحتوى "CONSUMABLES": إرسال النص "1".
- إذا كان المحتوى "NONCONSUMABLES": إرسال النص "2".
- `time.sleep(0.2)`: السكون لمدة 200 مللي ثانية لتحقيق استجابة أفضل.
###### المقطع البرمجي النهائي
- يدمج المقطع الكود الخاص بإدارة البطارية واكتشاف الشحن ومعالجة الرسائل في حلقة `while` رئيسية.
- يتم وضع كود الرد على الرسائل (`if/elif`) داخل الحلقة الرئيسية بعد قراءة كل رسالة.
###### خطوات حفظ المقطع البرمجي
- فتح محرر بايثون (Python Editor).
- كتابة التعليمات البرمجية في الحقل النصي.
- حفظ الملف باسم `inspector.py`.
- إغلاق نافذة المحرر.
```
نقاط مهمة
- هذه الصفحة تركز على الخطوات العملية لحفظ المقطع البرمجي الذي تم إنشاؤه لمركبة التفتيش.
- اسم الملف الذي يجب حفظه هو `inspector.py`.
- المقطع البرمجي النهائي يدمج إدارة البطارية واكتشاف الشحن والرد على رسائل الحاويات في حلقة واحدة مستمرة (`while node.loop():`).