หลังจากความพร้อมใช้งานของสแต็คLorawan®ใหม่และคุณลักษณะที่ปรับปรุงใหม่ภายในโมเด็ม LORA Basics ™, Semtech ได้ตัดสินใจเปลี่ยน Loramac-Node ไปเป็นโหมดการบำรุงรักษา (การแก้ไขข้อผิดพลาดที่สำคัญจะยังคงได้รับการสนับสนุน)
LORA Basics ™ Modem เป็นแพลตฟอร์มที่ใช้คุณสมบัติใหม่ของ Lorawan (เช่นรีเลย์, CSMA) และจะสนับสนุนการปรับปรุงในอนาคตที่แนะนำโดยพันธมิตร LORA (เช่น Lorawan 1.2) ในขณะที่การเปลี่ยนสแต็ก Loramac-node ที่เปิดตัวก่อนหน้านี้เป็นโหมดการบำรุงรักษา Semtech แนะนำให้ลูกค้าใช้โมเด็ม LORA Basics ™สำหรับการออกแบบใหม่
จุดมุ่งหมายของโครงการนี้คือการแสดงตัวอย่างของการใช้งาน Lorawan Stack
โครงการนี้มี 2 สาขาที่ใช้งานอยู่
| สาขา | 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 | Lorawan L2 1.0.4 / 1.1.0 |
| v5.0.0- สาขา | 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | m 5.0.0 | A/B/C | Lorawan L2 1.0.4 / 1.1.0 - เพิ่มการสนับสนุนสำหรับการปรับ LR -FHSS |
โครงการนี้ใช้คลาส Classa, ClassB และ ClassC อย่างสมบูรณ์และยังมี SX1272/73, SX1276/77/78/79, SX1261/2 และ LR1110 วิทยุ
สำหรับแอปพลิเคชันตัวอย่างแพลตฟอร์มที่รองรับในปัจจุบันนั้นมีให้
LORAMAC/FUOTA-TEST-01 : FUOTA TEST SCINARIO 01 แอปพลิเคชันตัวอย่างสุดท้าย (ขึ้นอยู่กับแพ็คเกจทั่วไปแอปพลิเคชันที่ให้ไว้)
Loramac/Periodic-UPLINK-LPP : แอปพลิเคชันตัวอย่างอุปกรณ์สุดท้ายของ Classa/B/C อัปลิงค์เฟรมเป็นระยะโดยใช้โปรโตคอล Cayenne LPP (ขึ้นอยู่กับแพ็คเกจทั่วไปแอปพลิเคชันที่ให้ไว้)
Ping-Pong : แอปพลิเคชันตัวอย่างลิงก์ RF ชี้ไปที่จุด
RX-SENSI : แอปพลิเคชันตัวอย่างมีประโยชน์ในการวัดระดับความไวของวิทยุโดยใช้เครื่องกำเนิด RF
TX-CW : แอปพลิเคชันตัวอย่างเพื่อแสดงวิธีการสร้างการส่งคลื่นอย่างต่อเนื่อง RF
หมายเหตุ : ตัวอย่างแอปพลิเคชัน Lorawan แต่ละตัวอย่าง (Loramac/*) รวมถึงการใช้งานของ Lora-alliance; โปรโตคอลการรับรอง Lorawan
หมายเหตุ : เอกสาร Lorawan Stack API สามารถดูได้ที่: http://stackforce.github.io/loramac-doc/
โครงการนี้ให้การสนับสนุนแพลตฟอร์มด้านล่าง
โครงการนี้สามารถส่งไปยังแพลตฟอร์มอื่น ๆ โดยใช้ MCU ที่แตกต่างจากโครงการที่รองรับในปัจจุบัน
เอกสารคู่มือการพอร์ตให้คำแนะนำเกี่ยวกับวิธีการพอร์ตโครงการไปยังแพลตฟอร์มอื่น ๆ
Namote72
NucleOlxxx - ชุดค้นพบ
SKIM880B, SKIM980A, SKIM881AXL
SAMR34
โปรดทำตามคำแนะนำที่จัดทำโดยเอกสารสภาพแวดล้อมการพัฒนา
โคลนที่เก็บจาก GitHub
$ git clone https://github.com/lora-net/loramac-node.git loramac-nodeโครงการ Loramac-node มี submodules git ที่ต้องเริ่มต้น
$ cd loramac-node
$ git submodule update --init ปัจจุบันโครงการนี้รองรับการติดตั้ง soft-se , lr1110-se และ atecc608a-tnglora-se 3 แบบที่แตกต่างกัน
ในการปรับแต่งไฟล์ไบนารี MCU กับ LoRawan EUIS หรือ/และ AES128 Keys เราต้องทำตามคำแนะนำที่ได้รับจาก Soft-SE, LR1110-SE และ ATECC608A-TNGLORA-SE
Soft-SE เป็นการจำลองซอฟต์แวร์บริสุทธิ์ขององค์ประกอบที่ปลอดภัย หมายความว่าทุกอย่างอยู่ในความทรงจำของโฮสต์ MCU คีย์ DevEUI , JoinEUI และ AES128 keys อาจถูกเก็บไว้ในหน่วยความจำที่ไม่ระเหยผ่าน APIs เฉพาะ
ในการอัปเดต INDENTEVICE IDESTITY ( DevEUI , JoinEUI และ AES128 keys ) เราต้องอัปเดตไฟล์ se-identity.h ที่อยู่ภายใต้. ./src/peripherals/soft-se/ -soft-se/ directory
หมายเหตุ: ในรุ่นก่อนหน้าของโครงการนี้สิ่งนี้ทำภายในไฟล์ Commissioning.h ไฟล์ที่อยู่ภายใต้ไดเรกทอรีตัวอย่างแต่ละรายการ
การใช้งาน Abstraction LR1110-SE จัดการการแลกเปลี่ยนที่จำเป็นทั้งหมดด้วยเครื่องยนต์ Crypto-engine วิทยุ 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/ peripherals/lr1110-se/ ไดเรกทอรี
การใช้งาน ATECC608A-TNGLORA-SE Abstraction จัดการการแลกเปลี่ยนที่จำเป็นทั้งหมดด้วย ATECC608A-TNGLORA และ ATECC608B-TNGLORA Secure-Elements
องค์ประกอบที่ปลอดภัยนี้ได้รับการจัดเตรียมไว้ล่วงหน้าเสมอและไม่สามารถเปลี่ยนแปลงเนื้อหาได้
ตัวอย่าง เป็นระยะ ๆ ตัวอย่างสำหรับแพลตฟอร์ม Nucleol476 ด้วยโล่ Mbed LR1110MB1DIS และการใช้ 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ตัวอย่าง เป็นระยะ ๆ ตัวอย่างสำหรับแพลตฟอร์ม Nucleol476 ด้วยโล่ Mbed LR1110MB1DIS และการใช้ 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/ /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/ /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