يحمل LLRP سمعة بأنه صعب، والسمعة نصف مستحقة: فالترميز ثنائي، وكتالوج الرسائل طويل، والتوثيق يبدو كأن لجنة معايير كتبته — لأنه كذلك فعلًا. لكن المجموعة الفرعية التي يحتاجها نشر عامل صغيرة، وبمجرد فهمها يصبح البروتوكول أقل أجزاء المشروع إثارة للاهتمام.
هذا المقال خريطة لتلك المجموعة: ما يجب إعداده، وبأي ترتيب، وأي الحقول تغيّر سلوك القارئ فعلًا.
ما هو LLRP وأين يقع
LLRP بروتوكول بين المضيف والقارئ، وليس بروتوكول تطبيق، والحفاظ على هذا التمييز يوفّر الكثير من الالتباس في التصميم.
- تعرّفه EPCglobal وتوحّده كمعيار LLRP 1.0.1، ويضيف الإصدار 1.1 تحكمًا أدق ودعمًا أفضل للتوسعات.
- يعمل افتراضيًا عبر TCP على المنفذ 5084 ويشفّر الرسائل كبنى ثنائية من نوع وطول وقيمة.
- مهمته إعداد الراديو وتسليم تقارير الوسوم، لا تقرير معنى القراءة.
- تدعمه تقريبًا كل القارئات الثابتة المؤسسية، ولهذا يمكن نقل كود LLRP بين العلامات التجارية.
- فوق LLRP ما زلت تحتاج بوابتك الخاصة: إزالة التكرار، والربط بالأعمال، والكتابة إلى ERP كلها خارج البروتوكول.
نموذج الرسائل: الطلبات والاستجابات والتقارير
ثلاث عائلات من الرسائل تغطي كل شيء، ومعرفة أيها أيّ تمنع معظم الالتباس.
- تحمل الطلبات معرّف رسالة وتتوقع استجابة واحدة بالمعرّف نفسه.
- تحمل الاستجابات رمز حالة؛ والنجاح بحمولة غير متوقعة أكثر شيوعًا من الفشل الصريح.
- تصل التقارير بشكل غير متزامن بمجرد تشغيل ROSpec، وهي ليست استجابة لأي شيء.
- قد تصل أحداث القارئ وإشعارات الخطأ أيضًا بشكل غير متزامن، لذا يجب أن يظل العميل يقرأ دائمًا.
- العميل الذي يقرأ فقط بعد إرسال طلب سيملأ مخزن المقبس في النهاية ويتوقف.
إعداد القارئ: الرسائل الخمس التي تُرسل دائمًا
الإعداد آلة حالة، والترتيب أهم من الحقول الفردية.
- اقرأ القدرات أولًا؛ فهي تخبرك بالخيارات التي يدعمها القارئ وتمنع إرسال إعدادات غير مدعومة.
- ثم اضبط إعداد القارئ: الاستمرارية، ومخزن التقارير، وخصائص الهوائي الافتراضية.
- أضف ROSpec ثم فعّلها ثم ابدأها؛ فـ ROSpec المفعّلة غير المبدوءة لا تفعل شيئًا وتبدو كفشل.
- أضف AccessSpec بشكل منفصل، وفقط حين تكون الكتابة أو القفل ضرورية فعلًا.
- احذف ROSpec وأعد إضافتها بدلًا من تعديلها في مكانها؛ فالتعديل في المكان هو حيث تظهر فروق المصنّعين.
ROSpec: وصف عملية جرد
ROSpec حاوية لمواصفة تقرير ومواصفة أو أكثر لمعاملات الجرد.
- تحدد مواصفة التقرير حقول الوسم التي تعود ومعدل إصدار التقارير.
- تجمع مواصفة معاملات الجرد قائمة الهوائيات وسلوك بروتوكول الهواء في وحدة واحدة.
- كل ROSpec قيد التنفيذ تتنافس على الراديو نفسه، لذا وجود اثنتين على قارئ واحد يعني عادة أن إحداهما خاطئة.
- تحدد محفزات المراقبة متى يُبلَّغ عن الوسم: فورًا، أو بعد عدد قراءات، أو عند عدم رؤيته بعد الآن.
- احتفظ بـ ROSpec واحدة لكل سلوك أعمال، وسمّها في حقل الوصف، واعتبر الاسم جزءًا من عقد الإعداد.
إعدادات بروتوكول الهواء: الحقول التي تغيّر السلوك
أمر جرد C1G2 هو المكان الذي يُحسم فيه سلوك القارئ فعليًا.
- تأتي قدرة الإرسال والقناة أو جدول القفز أولًا؛ فالقدرة مقيّدة باللوائح وليست مقبضًا للضبط.
- تبادل حساسية المستقبل نافذة استماع أوسع مقابل الضجيج، والقيم الافتراضية نادرًا ما تكون مثلى في ممر كثيف.
- يحدد اختيار جلسة التفريد ما إذا كانت الوسوم تُبلَّغ سريعًا أو تُبقى صامتة؛ والجلسة الثانية تناسب البضائع المتحركة.
- يساعد تقدير عدد الوسوم القارئ على اختيار قيم Q؛ والتقدير الخاطئ يكلّف وقتًا لا صحة.
- تقلّل مرشحات الوسوم المجموعة قبل التفريد، وهي أرخص تحسين أداء متاح.
AccessSpec: قراءة وكتابة ذاكرة الوسم
تُستخدم عمليات الوصول بتقتير، ولكل استخدام ملف فشل خاص.
- تستهدف AccessSpec مرشحًا، فلا يجب تشغيلها بدونه إلا إذا كنت تريد الكتابة على كل وسم في النطاق.
- قراءة بنك ذاكرة هي التشخيص الآمن؛ أما كتابة EPC أو ذاكرة المستخدم فهي العملية التي تُتلف البيانات.
- يجب التحقق من عمليات الكتابة بقراءة لاحقة في الجلسة نفسها، لا افتراضها من حالة نجاح.
- يجب التعامل مع كلمات مرور الوصول كأسرار؛ فقفل بلا كلمة مرور مسجلة خطأ لا رجعة فيه.
- تُرجع عملية وصول فاشلة رمز حالة، والرمز غالبًا أنفع من إعادة المحاولة.
معالجة الأخطاء: رموز الحالة التي تستحق التفريع
تعامل معظم عملاء LLRP كل عدم نجاح كفشل عام، ما يجعل التشخيص الميداني مستحيلًا.
- ميّز بين أخطاء المعامل وأخطاء الحالة: الأول يعني أن الرسالة خاطئة، والثاني أن القارئ في حالة خاطئة.
- عدم تطابق القدرة ينبغي معالجته بالرجوع إلى خيار مدعوم، لا بإيقاف النشر.
- المهلات المتكررة تعني عادة جلسة TCP ساقطة لا قارئًا بطيئًا، فافحص المقبس قبل إعادة المحاولة.
- سجّل معرّف الرسالة مع رمز الحالة؛ وبدونه لا يمكن تصحيح سلسلة متعددة الرسائل.
- عامل النجاح غير المتوقع كخطأ أيضًا — فاستجابة ناجحة بحمولة فارغة تعني غالبًا أن القارئ تجاهل الطلب.
الحفاظ على قابلية نقل كود LLRP بين المصنّعين
القابلية للنقل قرار تصميمي يُتخذ في البداية، وتكلفة إضافته لاحقًا عالية.
- استخدم الرسائل والمعاملات القياسية فقط حيث يغطي المعيار حاجتك.
- اكتشف الميزات عبر رسالة القدرات بدلًا من افتراض دعم مصنّع لخيار ما.
- اعزل توسعات المصنّع خلف محول رفيع، حتى لا تستوردها بقية البوابة أبدًا.
- اختبر الإعداد نفسه على علامة ثانية قبل تثبيت التصميم؛ فالفروق تظهر مبكرًا وبتكلفة منخفضة.
- ضع إصدارات لملفات الإعداد، لأن ROSpec العاملة أصل يجب أن ينجو من استبدال القارئ.






