Lorawan-stack: أنواع أجهزة المستندات OTAA و ABP و Multicast

تم إنشاؤها على ٨ يوليو ٢٠١٩  ·  14تعليقات  ·  مصدر: TheThingsNetwork/lorawan-stack

ملخص


سؤال

هل هناك إمكانية لإرسال رسائل متعددة البث باستخدام خطاف الويب؟
نقوم بتطوير أداة تحميل التشغيل LoRaWAN (تعمل حاليًا في الفئة A) وهي غير فعالة للغاية.
يستغرق نقل البرامج الثابتة بالكامل (لعقدة واحدة) حوالي ساعة عند 80dBm لـ DR4 (64 كيلوبايت تقريبًا).

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

الجهاز النهائي هو Telit LoRaWAN 1.0.2

documentation in progress

التعليق الأكثر فائدة

قد يمثل جهاز multicast المسجل في lorawan-stack عددًا عشوائيًا من الأجهزة المادية.
لنفترض أن لديك 5 أجهزة تريد تشغيلها في وضع البث المتعدد - ثم ستوفر جميع أجهزتك المادية الخمسة لاستخدامها:

  • DevAddr متطابق (مثل 00E4304D )
  • مفاتيح جلسة متطابقة (مثل A0CAD5A30036DBE03096EB67CA975BAA و A0CAD5A30036DBE03096EB67CA975BAA لـ AppSKey و NwkSKey على التوالي).

ثم تقوم بتسجيل جهاز واحد في lorawan-stack مع DevAddr ومفاتيح الجلسة التي اخترتها ومجموعة العلم multicast .
لنفترض أنك اتصلت بالجهاز الذي أنشأته للتو dev1 واسم التطبيق app1 .
لنفترض أنك تتابع بعد ذلك دفع ارتباط لأسفل مقابل dev1 في التطبيق app1 (يرجى الاطلاع على الوثائق حول الطرق المختلفة للقيام بذلك) ، ثم lorawan-stack سوف تقوم بجدولة ارتباط هابط واحد للجهاز مع DevAddr 00E4304D .
ستتلقى جميع الأجهزة المطابقة لـ DevAddr 00E4304D ، أي جميع الأجهزة الخمسة (المثالية) التي قدمتها أعلاه.

لاحظ أن بعض الأجهزة المادية قادرة على المشاركة فعليًا في جلسات متعددة في وقت واحد.
لنفترض أن لديك 5 أجهزة من هذا القبيل وتريدها أن تعمل كـ OTAA ، بينما تكون أيضًا جزءًا من مجموعة البث المتعدد:

  1. يمكنك تسجيل كل جهاز كجهاز OTAA منفصل مع كل معرف جهاز خاص به. (لذلك ، قم بتسجيل 5 أجهزة - 1 لكل جهاز مادي)
  2. ستسجل جهازًا واحدًا كجهاز متعدد البث بمعرف جهاز مميز. (لذلك ، قم بتسجيل جهاز واحد - 1 لكل مجموعة متعددة البث)

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

ال 14 كومينتر

تمت إزالة الأقسام غير الملائمة لإصدار من النوع "سؤال"

كود # 890

س: هل هناك إمكانية لإرسال رسائل متعددة البث باستخدام خطاف الويب؟

ج: نعم ، يدعم المكدس تسجيل جلسات البث المتعدد من الفئة C كأي جهاز طرفي آخر بعلامة --multicast . هذا موصوف في الخطوات الأولى: https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md#creating -a-device

س: هل هناك إمكانية لإرسال بيانات الوصلة الهابطة للبرامج الثابتة كرسائل متعددة البث إلى العديد من العقد (للتطبيق) باستخدام خطافات الويب؟

ج: نعم ، يتم تسجيل جلسة البث المتعدد كأي جهاز آخر ، لذا يمكنك جدولة الارتباط الهابطة لها بالطريقة نفسها تمامًا كما تفعل مع أي جهاز عادي.

س: هل هناك بعض المستندات / المعلومات لهذا؟

ج: ليس أكثر مما هو موجود حاليًا في "الخطوات الأولى".

rvolosatovsadriansmares IIRC أنتم يا رفاق فعلتم الاختبار مع الفئة C ومع البث المتعدد ، أليس كذلك؟ هل يجب أن نكتب صفحة توثيق لطيفة حول ذلك؟

إذا كانت الإجابة بنعم ، فلننتظر رقم 401 قبل القيام بذلك.

htdivsser - شكرا على الرد. رأيته عند البدء.

بناء جملة webhook (url) هو:
curl http: // localhost : 1885 / api / v3 / as / applications / ap2 / webhooks / fwup / devices / dv1 / down / push -X POST -H 'التفويض: Bearer NNSXS.CLCIYOYYEDPLJSSWRNMYS5KCDI45HOE6M3WZIDY4HSNATA {1}. "الروابط الهابطة": [{"frm_payload": "vu8 ="، "f_port": 15، "الأولوية": "NORMAL"}]} '

يوجد اسم جهاز واحد محدد لهدف الوصلة الهابطة

إذن ما هو بناء جملة Webhook الذي يفرض رسالة متعددة البث على أجهزة متعددة؟

الفكرة هي أن تقوم بتسجيل "جهاز زائف" واحد يمثل مجموعة متعددة البث تحتوي على أجهزة مادية متعددة. عند استخدام الويب هوك لجدولة الارتباط الهابطة لمجموعة الإرسال المتعدد ، فإنك تستهدفه على هذا الجهاز الزائف.

كما ترى في "بدء الاستخدام" ، فإن تسجيل مثل هذا الجهاز الزائف هو في الأساس نفس تسجيل جهاز ABP. DevAddr هو عنوان الإرسال المتعدد ، و NwkSKey هو McNwkSKey و AppSKey هو McAppSKey.

نظرًا لأننا لم ننفذ إعداد الإرسال المتعدد البعيد حتى الآن ، فلا تزال جلسة البث المتعدد على جانب الجهاز بحاجة إلى الإعداد بواسطة طبقة التطبيق.

تضمين التغريدة
هل يجب أن يكون الجهاز الزائف للإرسال المتعدد هو ABP؟
آمل ألا يتشابه الأمر مع الوصول إلى الأجهزة النهائية الحقيقية مباشرةً؟

لا يمكنني العثور على أي شيء حول إنشاء جهاز زائف وإضافة أجهزة إلى هذه "المجموعة" في الخطوات الأولى التي ذكرتها.

لقد تحققت أيضًا من:
ttn-lw-cli - مساعدة
ttn-lw-cli end-devs - help
ttn-lw-cli dev - help
ولا يمكن رؤية وصف "بديهي" للأجهزة والمجموعات الزائفة.

هل يمكنك توفير الأوامر لتحقيق ذلك؟

يجب أن تكون أجهزة ecities Multicast هي ABP ، لأنها لا ترسل ارتباطات صاعدة ، وبالتالي لا تدعم تدفق OTAA بحكم التعريف
قم بتسجيل الجهاز بنفس طريقة تسجيل جهاز ABP ، ولكن أضف العلم multicast .

rvolosatovs شكرا
Multicast devices have to be ABP, since they do not send uplinks and hence do not support OTAA flow by definition
لذلك علينا اختيار واحد فقط من ؟؟:
- مطور قياسي مع otta (فئة A أو C)
-multicast dev مع abp (الفئة C) - علامة تم إنشاؤها عند إنشاء الجهاز ولا يمكن إزالتها. لا يمكن ربط البيانات على الإطلاق.

أو ربما يكون هناك حل بديل ، على سبيل المثال: إضافة أجهزة إلى تطبيقين مختلفين؟
1) للعمل العادي (الإرسال / الهابطة) (ap1)
2) للإرسال المتعدد الهابطة فقط (ap2)
_لكن هناك مشاكل في الوصول إلى اللحامات - لقد أبلغنا عن مشكلة هنا_

Register the device same way you would an ABP device, but add the multicast flag.

ربما مثال:
لنفترض أن لدي جهازين (dev1 و dev2 بنفس McNwkSKey و McAppSKey وربما dev-addr)
تنشئ الأجهزة الطرفية ttn-lw-cli app1 dev1 \
--معرف خطة التردد EU_863_870 \
--لراوان- النسخة 1.0.2 \
--لوراوان- phy- الإصدار 1.0.2-ب \
--abp \
- جلسة. عنوان ديف 00E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
- متعدد الإرسال

تنشئ الأجهزة الطرفية ttn-lw-cli app1 dev2 \
--معرف خطة التردد EU_863_870 \
--لراوان- النسخة 1.0.2 \
--لوراوان- phy- الإصدار 1.0.2-ب \
--abp \
- جلسة. عنوان ديف 00E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
- متعدد الإرسال

هل هذا صحيح؟

وترغب في إرسال رسائل متعددة البث لكليهما باستخدام webhook.
ما زال من غير الواضح بالنسبة لي ما هو عنوان URL للخطاف على الويب؟
http: // localhost : 1885 / api / v3 / as / applications / ap2 / webhooks / fwup / devices / 00E4304D / down / push

هل هذا صحيح؟

أو ربما:

http: // localhost : 1885 / api / v3 / as / applications / ap2 / webhooks / fwup / devices / dev1 / down / push

وستستقبله الأجهزة الأخرى بنفس إعدادات الأمان حيث
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255

؟؟

قد يمثل جهاز multicast المسجل في lorawan-stack عددًا عشوائيًا من الأجهزة المادية.
لنفترض أن لديك 5 أجهزة تريد تشغيلها في وضع البث المتعدد - ثم ستوفر جميع أجهزتك المادية الخمسة لاستخدامها:

  • DevAddr متطابق (مثل 00E4304D )
  • مفاتيح جلسة متطابقة (مثل A0CAD5A30036DBE03096EB67CA975BAA و A0CAD5A30036DBE03096EB67CA975BAA لـ AppSKey و NwkSKey على التوالي).

ثم تقوم بتسجيل جهاز واحد في lorawan-stack مع DevAddr ومفاتيح الجلسة التي اخترتها ومجموعة العلم multicast .
لنفترض أنك اتصلت بالجهاز الذي أنشأته للتو dev1 واسم التطبيق app1 .
لنفترض أنك تتابع بعد ذلك دفع ارتباط لأسفل مقابل dev1 في التطبيق app1 (يرجى الاطلاع على الوثائق حول الطرق المختلفة للقيام بذلك) ، ثم lorawan-stack سوف تقوم بجدولة ارتباط هابط واحد للجهاز مع DevAddr 00E4304D .
ستتلقى جميع الأجهزة المطابقة لـ DevAddr 00E4304D ، أي جميع الأجهزة الخمسة (المثالية) التي قدمتها أعلاه.

لاحظ أن بعض الأجهزة المادية قادرة على المشاركة فعليًا في جلسات متعددة في وقت واحد.
لنفترض أن لديك 5 أجهزة من هذا القبيل وتريدها أن تعمل كـ OTAA ، بينما تكون أيضًا جزءًا من مجموعة البث المتعدد:

  1. يمكنك تسجيل كل جهاز كجهاز OTAA منفصل مع كل معرف جهاز خاص به. (لذلك ، قم بتسجيل 5 أجهزة - 1 لكل جهاز مادي)
  2. ستسجل جهازًا واحدًا كجهاز متعدد البث بمعرف جهاز مميز. (لذلك ، قم بتسجيل جهاز واحد - 1 لكل مجموعة متعددة البث)

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

rvolosatovs شكرًا جزيلاً على الشرح الجيد "خطوة بخطوة" ، والذي يلغي معظم الافتراضات

أعتقد أنه من المفيد نسخها إلى وثائق بدء الاستخدام اليدوية أو وثائق البث المتعدد لأن هذا ليس واضحًا في الممارسة العملية

يعتبر،

روبرت

ecities على الرحب والسعة ، سعيد لأنني استطعت المساعدة!
adriansmares هل يمكنك اختيار هذا؟

adriansmares يقترحون أن نشرح قليلاً بمزيد من التفصيل ما هي أجهزة OTAA و ABP و Multicast ، لا سيما الأخيرة.

أحاول إنشاء جهاز متعدد البث (الأمر الذي تم نسخه من مثال البدء)

تنشئ الأجهزة الطرفية ttn-lw-cli ap3 lldv3 \
--معرف خطة التردد EU_863_870 \
--لراوان- النسخة 1.0.2 \
--لوراوان- phy- الإصدار 1.0.2-ب \
--abp \
- الجلسة. العنوان 11E4304D \
--session.keys.app-s-key.key A0CAD5A30036DBE03096EB67CA975BAA \
--session.keys.nwk-s-key.key B7F3E161BC9D4388E6C788A0C547F255 \
- متعدد الإرسال

وتلقيت رسالة:
علم غير معروف: - متعدد الإرسال

نسخة ttn-lw-cli
واجهة سطر أوامر شبكة الأشياء: ttn-lw-cli
الإصدار: 3.0.3.1
إصدار Go: go1.12.5
OS / Arch: لينكس / amd64

الرجاء انتظار v3.1.0 أو إنشاء master من المصدر ، انظر DEVELOPMENT.md .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات