يجب أن تكون طبقة MAC الخاصة بالجهاز قابلة للتكوين من وحدة التحكم.
يستبدل https://github.com/TheThingsNetwork/lorawan-stack/issues/1378
CLI هو الوسيلة الوحيدة لتكوين طبقة MAC للجهاز
دعم لتكوين جميع الحقول MACSettings
.
جميع الاجهزة
rx2_data_rate_index
rx2_frequency
factory_preset_frequencies
خاص بالفئة A (يُعرف أيضًا باسم جميع الأجهزة غير متعددة البث)
rx1_delay
rx1_data_rate_offset
resets_f_cnt
فئة ب محددة
ping_slot_periodicity
خاص بالفئة A (يُعرف أيضًا باسم جميع الأجهزة غير متعددة البث)
max_duty_cycle
supports_32_bit_f_cnt
use_adr
status_time_periodicity
status_count_periodicity
فئة ب محددة
ping_slot_data_rate_index
ping_slot_frequency
beacon_frequency
خاص بالفئة A (يُعرف أيضًا باسم جميع الأجهزة غير متعددة البث)
adr_margin
desired_rx1_delay
desired_rx1_data_rate_offset
desired_rx2_data_rate_index
desired_rx2_frequency
desired_max_duty_cycle
desired_adr_ack_limit_exponent
desired_adr_ack_delay_exponent
فئة ب محددة
class_b_timeout
desired_ping_slot_data_rate_index
desired_ping_slot_frequency
desired_beacon_frequency
فئة C محددة
class_c_timeout
ملاحظة: قد تكون بعض هذه الإعدادات قابلة للتكوين بالفعل (على سبيل المثال ، عناصر FCnt) ، يرجى تحديث مربعات الاختيار وفقًا لذلك والتحقق من أن هذه الإعدادات هي أماكن في الأماكن الصحيحة (أي أنها غير متوفرة لأجهزة البث المتعدد)
أعتقد أن الإعدادات الخاصة بالفئتين B و C يجب أن تكون متاحة لجميع الأجهزة ، حتى بالنسبة للأجهزة التي SupportsClass{B,C}
سعرها false
. بهذه الطريقة يمكن للمستخدمين (مؤقتًا) تعطيل / تمكين عملية الفئة B / C كلما لزم الأمر والاحتفاظ بالإعدادات المحددة.
يجب أن تكون الإعدادات الخاصة بالفئة A متاحة فقط للأجهزة غير ذات البث المتعدد.
أضف جميع الحقول من MACSettings
https://github.com/TheThingsNetwork/lorawan-stack/blob/74c9da9a9e07a31d7103eabcd3440f9c80c24ea1/api/end_device.proto#L190 -L284 كحقول لتكوين طبقة الشبكة. يجب أن تكون هذه الحقول قابلة للتكوين في جميع الأوقات ، أي عند الإنشاء والتحديث.
استخدم التعليقات من البروتو للوصف.
bafonins سيتعامل معها
لقد انتهيت في الغالب من الحقول ذات الأولوية العالية لتكوين إعدادات MAC:
لقطات
ABP:
الصف ب:
أوتا:
ومع ذلك ، من أجل إضافتها جميعًا والسماح للمستخدمين بالتسجيل ، على سبيل المثال ، The Things Uno عبر وحدة التحكم ، فإن الحقل mac_state.factory_preset_frequencies
مفقود. لست متأكدًا من كيفية تمثيل ذلك بالضبط في واجهة المستخدم ، لدي حاليًا هذه الأفكار:
IMO ، مثل هذا المجال يجعل اختيار الترددات أمرًا سهلاً للغاية. بالإضافة إلى ذلك ، يمكننا تقديم ترددات المستخدم بناءً على frequency_plan_id
للجهاز النهائي. ومع ذلك ، كما ذكر rvolosatovs أن المدخلات يمكن أن يكون لها قيم عشوائية ولا تعتمد بالضرورة على خطة التردد للجهاز النهائي.
بالإضافة إلى ذلك ، بالنسبة لهذا النهج ، سيكون من الرائع أن يكون لديك RPC لجلب الإعدادات المسبقة للترددات لكل نطاق.
هذا النهج أكثر مرونة ، ومع ذلك ، يستغرق المستخدم مزيدًا من الوقت لضبط المجال ، ويتطلب كتابة الترددات.
في الأساس ، مزيج من 1 و 2.
تضمين التغريدة
أعتقد أن وجود القائمة (2) هو أوضح ما يكون ، حيث يوضح ذلك الترتيب. والنظام مهم.
يمكن أن تكون الترددات أي شيء بالفعل ، ولكن سيكون من المفيد جدًا إحضارها عبر خطة تردد موجودة.
إضافة compat/api
لأننا قد نحتاج إلى NS rpc للحصول على خطة التردد.
أعتقد أن وجود القائمة (2) هو أوضح ما يكون ، حيث يوضح ذلك الترتيب. والنظام مهم.
يحافظ كلا المكونين المحددين (1) و (2) على الترتيب أيضًا.
يمكن أن تكون الترددات في الواقع أي شيء ،
مع (3) يمكن إضافة قيم تردد عشوائية أيضًا
أعتقد أن الحل (2) هو الأنظف أيضًا ، بينما (3) يبدو أجمل بالنسبة لكمية صغيرة من الترددات ، فإن وجود مضاعفات (على سبيل المثال 4 أو أكثر) سيبدو مشوشًا ويصعب تتبعه.
سيكون رائعًا إذا كان لدينا اقتراحات تردد لـ (2) في كل مربع نص (من خطة التردد المقترحة RPC) ، لذا نوع ما تراه في (3) ، ولكن لكل مربع نص
تم الانتهاء تقريبًا من التنفيذ ، ولكنك تريد الانتظار حتى يتم دمج https://github.com/TheThingsNetwork/lorawan-stack/issues/2605 قبل إجراء العلاقات العامة لإضافة اختبارات لمعالج الجهاز (بما في ذلك معالجة إعدادات mac)
ما هو الوضع هنا؟
johanstokking https://github.com/TheThingsNetwork/lorawan-stack/pull/3065 جاهز للمراجعة. لقد أضفت جميع الحقول ذات الأولوية العالية وبعض الحقول ذات الأولوية المتوسطة.
تغيير معلم هذه القضية ليس بعد ذلك. تمت إضافة جميع الحقول ذات الأولوية العالية مع بعض الحقول ذات الأولوية المتوسطة في https://github.com/TheThingsNetwork/lorawan-stack/pull/3065. سنعود إلى هذا لاحقًا إذا تمت إضافة أي حقول أخرى إلى وحدة التحكم.