بعد توفر مكدس LoRawan® المحسن الجديد والميزات داخل مودم Lora Basics ™ ، قررت Semtech نقل Loramac-Doy-Doy-Deforme (ستظل إصلاحات الأخطاء الحرجة مدعومة).
MODEM LORA BASICS ™ هو النظام الأساسي الذي يقوم بتنفيذ ميزات Lorawan الجديدة (IE RELAY ، CSMA) وسيدعم التحسينات المستقبلية التي أدخلها تحالف LORA (مثل Lorawan 1.2). في حين أن انتقالات مكدس Loramac-Doiced التي تم تقديمها سابقًا إلى وضع الصيانة توصي Semtech للعملاء باستخدام مودم Lora Basics ™ لتصميمات جديدة.
الهدف من هذا المشروع هو إظهار مثال لتنفيذ مكدس لوراوان في الجهاز.
يحتوي هذا المشروع على فرعين نشطين في مكانه.
| فرع | L2 Spec | مواصفات RP | علامة/معلم | فصل | تعليقات |
|---|---|---|---|---|---|
| 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | v4.7.0 | A/B/C. | Lorawan L2 1.0.4 - تم إصداره | |
| يتقن | 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | v4.7.0 | A/B/C. | لوروان L2 1.0.4 / 1.1.0 |
| v5.0.0 الفرع | 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | م 5.0.0 | A/B/C. | Lorawan L2 1.0.4 / 1.1.0 - يضيف دعم لتعديل LR -FHSS |
هذا المشروع ينفذ بشكل كامل فئات الجهاز الفئة والفئة و classc ، كما يوفر سائقي الراديو SX1272/73 و SX1276/77/78/79 و SX1261/2 و LR1110.
يتم توفير تطبيقات مثال منصة مدعومة حاليًا.
Loramac/Fuota-Test-01 : سيناريو اختبار Fuota 01 تطبيق مثال الجهاز النهائي. (استنادًا إلى الحزم المشتركة عن التطبيق)
Loramac/Deural-Uplink-LPP : تطبيق مثال على الجهاز الفئة/B/C. ارتباطات صاعدة دورية باستخدام بروتوكول Cayenne LPP. (استنادًا إلى الحزم المشتركة عن التطبيق)
Ping-Pong : تطبيق مثال رابط RF Point to Point.
RX-Sensi : مثال على تطبيق مفيد لقياس مستوى حساسية الراديو باستخدام مولد RF.
TX-CW : مثال على تطبيق لإظهار كيفية إنشاء نقل الموجة المستمر RF.
ملاحظة : يتضمن كل مثال على تطبيق Lorawan (Loramac/*) تنفيذًا من Lora-Aliance ؛ بروتوكول شهادة لوروان.
ملاحظة : يمكن الاطلاع على وثائق واجهة برمجة تطبيقات Lorawan Stack على: http://stackforce.github.io/loramac-doc/
يوفر هذا المشروع حاليًا الدعم للمنصات أدناه.
يمكن نقل هذا المشروع إلى منصات أخرى باستخدام MCU مختلفة عن تلك المدعومة حاليًا.
يوفر مستند دليل Porting خطوطًا إرشادية حول كيفية نقل المشروع إلى منصات أخرى.
namote72
Nucleolxxx - مجموعة الاكتشاف
SKIM880B ، SKIM980A ، SKIM881AXL
Samr34
يرجى اتباع التعليمات التي توفرها وثيقة بيئة التطوير.
استنساخ المستودع من جيثب
$ git clone https://github.com/lora-net/loramac-node.git loramac-nodeيحتوي مشروع عقدة Loramac
$ cd loramac-node
$ git submodule update --init يدعم هذا المشروع حاليًا 3 عناصر مختلفة من soft-se و lr1110-se و atecc608a-tnglora-se .
من أجل تخصيص ملف MCU الثنائي مع مفاتيح Lorawan EUIS أو/AES128 ، يجب على المرء اتباع التعليمات التي توفرها فصول Soft-Se و LR1110-SE و ATECC608A-Tnglora-Se
Soft-Se هو محاكاة برامج خالصة لعنصر آمن. وهذا يعني أن كل شيء يقع على ذكريات مضيف MCU. يمكن تخزين مفاتيح DevEUI و JoinEUI و AES128 keys على ذاكرة غير متطايرة من خلال واجهات برمجة التطبيقات المخصصة.
من أجل تحديث هوية الجهاز النهائي ( DevEUI و JoinEUI و AES128 keys ) يجب ./src/peripherals/soft-se/ المرء تحديث ملف se-identity.h .
ملاحظة: في الإصدارات السابقة من هذا المشروع ، تم ذلك داخل Commissioning.h Files الموجودة تحت كل دليل مثال مقدمة.
يعالج تطبيق التجريد LR1110-SEG جميع التبادلات المطلوبة بمحرك تشفير الراديو LR1110.
يتم تقسيم جميع رقائق الراديو LR1110 مسبقًا خارج المصنع من أجل استخدامها مع خدمة Lora Cloud Device.
في حالة استخدام خوادم الانضمام الأخرى ، يمكن تحديث مفاتيح DevEUI و Pin و JoinEUI و AES128 keys باتباع الإرشادات الواردة في الفصل "13. LR1110 توفير" دليل المستخدم LR1110.
عندما يتم تعيين خيار الترجمة SECURE_ELEMENT_PRE_PROVISIONED ON LR1110-SE ، سيستخدم البيانات التي يتم توفيرها في المصنع ( DevEUI و JoinEUI و AES128 keys ).
عندما يتم تعيين خيار الترجم SECURE_ELEMENT_PRE_PROVISIONED على OFF LR1110-SE ، يجب توفيره باتباع إحدى الطرق الموصوفة في الفصل "13. LR1110 توفير" دليل المستخدم LR1110. يمكن تغيير DevEUI و Pin و JoinEUI عن طريق تحرير ملف se-identity.h الموجود في ./src/peripherals/lr1110-se/ الدليل.
يتولى تطبيق ATECC608A-Tnglora- Segtrateation جميع عمليات التبادل المطلوبة مع عناصر ATECC608A-Tnglora و ATECC608B-Tnglora.
يتم تقديم هذا العنصر الآمن مسبقًا ولا يمكن تغيير محتوياته.
مثال دوري-Uplink-LPP لمنصة nucleol476 مع LR1110MB1DIS MBED SHIELD واستخدام LR1110 مسبقا العناصر الآمنة
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release
-DTOOLCHAIN_PREFIX= " <replace by toolchain path> "
-DCMAKE_TOOLCHAIN_FILE= " ../cmake/toolchain-arm-none-eabi.cmake "
-DAPPLICATION= " LoRaMac "
-DSUB_PROJECT= " periodic-uplink-lpp "
-DCLASSB_ENABLED= " ON "
-DACTIVE_REGION= " LORAMAC_REGION_EU868 "
-DREGION_EU868= " ON "
-DREGION_US915= " OFF "
-DREGION_CN779= " OFF "
-DREGION_EU433= " OFF "
-DREGION_AU915= " OFF "
-DREGION_AS923= " OFF "
-DREGION_CN470= " OFF "
-DREGION_KR920= " OFF "
-DREGION_IN865= " OFF "
-DREGION_RU864= " OFF "
-DBOARD= " NucleoL476 "
-DMBED_RADIO_SHIELD= " LR1110MB1XXS "
-DSECURE_ELEMENT= " LR1110_SE "
-DSECURE_ELEMENT_PRE_PROVISIONED= " ON "
-DUSE_RADIO_DEBUG= " ON " ..
$ makeمثال بينغ بونج باستخدام تعديل LORA لنوكليول 476 مع LR1110MB1DIS MBED SHIELD
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release
-DTOOLCHAIN_PREFIX= " <replace by toolchain path> "
-DCMAKE_TOOLCHAIN_FILE= " ../cmake/toolchain-arm-none-eabi.cmake "
-DAPPLICATION= " ping-pong "
-DMODULATION: " LORA "
-DREGION_EU868= " ON "
-DREGION_US915= " OFF "
-DREGION_CN779= " OFF "
-DREGION_EU433= " OFF "
-DREGION_AU915= " OFF "
-DREGION_AS923= " OFF "
-DREGION_CN470= " OFF "
-DREGION_KR920= " OFF "
-DREGION_IN865= " OFF "
-DREGION_RU864= " OFF "
-DBOARD= " NucleoL476 "
-DMBED_RADIO_SHIELD= " LR1110MB1XXS "
-DUSE_RADIO_DEBUG= " ON " ..
$ makeمثال دوري-Uplink-LPP لمنصة nucleol476 مع LR1110MB1DIS MBED SHIELD واستخدام LR1110 مسبقا العناصر الآمنة
// Place your settings in this file to overwrite default and user settings.
{
"cmake.configureSettings" : {
// In case your GNU ARM-Toolchain is not installed under the default
// path:
// Windows : No default path. Specify the path where the
// toolchain is installed. i.e:
// "C:/PROGRA~2/GNUTOO~1/92019-~1".
// Linux : /usr
// OSX : /usr/local
// It is required to uncomment and to fill the following line.
"TOOLCHAIN_PREFIX" : " /path/to/toolchain " ,
// In case your OpenOCD is not installed under the default path:
// Windows : C:/openocd/bin/openocd.exe
// Linux : /usr/bin/openocd
// OSX : /usr/local/bin/openocd
// Please uncomment the following line and fill it accordingly.
//"OPENOCD_BIN":"C:/openocd/bin/openocd.exe",
// Specifies the path to the CMAKE toolchain file.
"CMAKE_TOOLCHAIN_FILE" : " cmake/toolchain-arm-none-eabi.cmake " ,
// Determines the application. You can choose between:
// LoRaMac (Default), ping-pong, rx-sensi, tx-cw.
"APPLICATION" : " LoRaMac " ,
// Select LoRaMac sub project. You can choose between:
// periodic-uplink-lpp, fuota-test-01.
"SUB_PROJECT" : " periodic-uplink-lpp " ,
// Switch for Class B support of LoRaMac:
"CLASSB_ENABLED" : " ON " ,
// Select the active region for which the stack will be initialized.
// You can choose between:
// LORAMAC_REGION_EU868, LORAMAC_REGION_US915, ..
"ACTIVE_REGION" : " LORAMAC_REGION_EU868 " ,
// Select the type of modulation, applicable to the ping-pong or
// rx-sensi applications. You can choose between:
// LORA or FSK
"MODULATION" : " LORA " ,
// Target board, the following boards are supported:
// NAMote72, NucleoL073 (Default), NucleoL152, NucleoL476, SAMR34, SKiM880B, SKiM980A, SKiM881AXL, B-L072Z-LRWAN1.
"BOARD" : " NucleoL476 " ,
// MBED Radio shield selection. (Applies only to Nucleo platforms)
// The following shields are supported:
// SX1272MB2DAS, SX1276MB1LAS, SX1276MB1MAS, SX1261MBXBAS(Default), SX1262MBXCAS, SX1262MBXDAS, LR1110MB1XXS.
"MBED_RADIO_SHIELD" : " LR1110MB1XXS " ,
// Secure element type selection the following are supported
// SOFT_SE(Default), LR1110_SE, ATECC608A_TNGLORA_SE
"SECURE_ELEMENT" : " LR1110_SE " ,
// Secure element is pre-provisioned
"SECURE_ELEMENT_PRE_PROVISIONED" : " ON " ,
// Region support activation, Select the ones you want to support.
// By default only REGION_EU868 support is enabled.
"REGION_EU868" : " ON " ,
"REGION_US915" : " OFF " ,
"REGION_CN779" : " OFF " ,
"REGION_EU433" : " OFF " ,
"REGION_AU915" : " OFF " ,
"REGION_AS923" : " OFF " ,
"REGION_CN470" : " OFF " ,
"REGION_KR920" : " OFF " ,
"REGION_IN865" : " OFF " ,
"REGION_RU864" : " OFF " ,
"USE_RADIO_DEBUG" : " ON "
}
}

./build/src/apps/LoRaMac/مثال بينغ بونج باستخدام تعديل LORA لنوكليول 476 مع LR1110MB1DIS MBED SHIELD
// Place your settings in this file to overwrite default and user settings.
{
"cmake.configureSettings" : {
// In case your GNU ARM-Toolchain is not installed under the default
// path:
// Windows : No default path. Specify the path where the
// toolchain is installed. i.e:
// "C:/PROGRA~2/GNUTOO~1/92019-~1".
// Linux : /usr
// OSX : /usr/local
// It is required to uncomment and to fill the following line.
"TOOLCHAIN_PREFIX" : " /path/to/toolchain " ,
// In case your OpenOCD is not installed under the default path:
// Windows : C:/openocd/bin/openocd.exe
// Linux : /usr/bin/openocd
// OSX : /usr/local/bin/openocd
// Please uncomment the following line and fill it accordingly.
//"OPENOCD_BIN":"C:/openocd/bin/openocd.exe",
// Specifies the path to the CMAKE toolchain file.
"CMAKE_TOOLCHAIN_FILE" : " cmake/toolchain-arm-none-eabi.cmake " ,
// Determines the application. You can choose between:
// LoRaMac (Default), ping-pong, rx-sensi, tx-cw.
"APPLICATION" : " ping-pong " ,
// Select LoRaMac sub project. You can choose between:
// periodic-uplink-lpp, fuota-test-01.
"SUB_PROJECT" : " periodic-uplink-lpp " ,
// Switch for Class B support of LoRaMac:
"CLASSB_ENABLED" : " ON " ,
// Select the active region for which the stack will be initialized.
// You can choose between:
// LORAMAC_REGION_EU868, LORAMAC_REGION_US915, ..
"ACTIVE_REGION" : " LORAMAC_REGION_EU868 " ,
// Select the type of modulation, applicable to the ping-pong or
// rx-sensi applications. You can choose between:
// LORA or FSK
"MODULATION" : " LORA " ,
// Target board, the following boards are supported:
// NAMote72, NucleoL073 (Default), NucleoL152, NucleoL476, SAMR34, SKiM880B, SKiM980A, SKiM881AXL, B-L072Z-LRWAN1.
"BOARD" : " NucleoL476 " ,
// MBED Radio shield selection. (Applies only to Nucleo platforms)
// The following shields are supported:
// SX1272MB2DAS, SX1276MB1LAS, SX1276MB1MAS, SX1261MBXBAS(Default), SX1262MBXCAS, SX1262MBXDAS, LR1110MB1XXS.
"MBED_RADIO_SHIELD" : " SX1261MBXBAS " ,
// Secure element type selection the following are supported
// SOFT_SE(Default), LR1110_SE, ATECC608A_TNGLORA_SE
"SECURE_ELEMENT" : " SOFT_SE " ,
// Secure element is pre-provisioned
"SECURE_ELEMENT_PRE_PROVISIONED" : " ON " ,
// Region support activation, Select the ones you want to support.
// By default only REGION_EU868 support is enabled.
"REGION_EU868" : " ON " ,
"REGION_US915" : " OFF " ,
"REGION_CN779" : " OFF " ,
"REGION_EU433" : " OFF " ,
"REGION_AU915" : " OFF " ,
"REGION_AS923" : " OFF " ,
"REGION_CN470" : " OFF " ,
"REGION_KR920" : " OFF " ,
"REGION_IN865" : " OFF " ,
"REGION_RU864" : " OFF " ,
"USE_RADIO_DEBUG" : " ON "
}
}

./build/src/apps/ping-pong/ تتيح أمثلة periodic-uplink-lpp و fuota-test-01 إعادة تعيين تخزين NVM من خلال الواجهة التسلسلية.
من أجل إعادة تعيين محتويات NVM ، يجب على المرء أن يضغط على مفاتيح لوحة المفاتيح ESC + N على محطة متسلسلة.
ستعرض المحطة التسلسلية ما يلي بعد ضرب مفاتيح لوحة المفاتيح ESC + N بعد إعادة ضبط الجهاز النهائي ، سيتم استخدام NVM النظيف.
ESC + N
NVM factory reset succeed
PLEASE RESET THE END-DEVICE