SEMTech는 LORA BASICS ™ 모뎀 내에서 새로운 기능 및 기능 강화 된 LORAWAN® 스택을 가용 한 후 LORAMAC-NODE를 유지 보수 모드로 전환하기로 결정했습니다 (중요한 버그 수정은 여전히 지원됩니다).
Lora Basics ™ Modem은 새로운 Lorawan 기능 (IE 릴레이, CSMA)을 구현하는 플랫폼이며 Lora Alliance (예 : Lorawan 1.2)가 도입 한 향후 개선 사항을 지원할 것입니다. 이전에 도입 된 Loramac-Node 스택 스택 전환은 유지 보수 모드로 전환하는 반면 Semtech는 고객에게 새로운 디자인에 Lora Basics ™ 모뎀을 사용할 것을 권장합니다.
이 프로젝트의 목적은 최종 기기 Lorawan 스택 구현의 예를 보여주는 것입니다.
이 프로젝트에는 2 개의 활성 지점이 있습니다.
| 나뭇가지 | L2 사양 | RP 사양 | 태그/이정표 | 수업 | 의견 |
|---|---|---|---|---|---|
| 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | v4.7.0 | 알파벳 | Lorawan L2 1.0.4- 출시 | |
| 주인 | 1.0.4 / 1.1.0 + fcntdwn errata | 2-1.0.3 | v4.7.0 | 알파벳 | 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 | 알파벳 | 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 테스트 시나리오 01 END-DEVICE 예제 응용 프로그램. (제공된 응용 프로그램 공통 패키지 기반)
loramac/정기-uplink-lpp : classa/b/c end-device 예제 응용 프로그램. Cayenne LPP 프로토콜을 사용하여 주기적으로 프레임을 고양시킵니다. (제공된 응용 프로그램 공통 패키지 기반)
Ping-Pong : Point to Point RF 링크 예제 응용 프로그램.
RX-SENSI : RF 생성기를 사용하여 무선 감도 레벨을 측정하는 데 유용한 예제.
TX-CW : RF 연속파 전송을 생성하는 방법을 보여주는 예제.
참고 : 각 Lorawan 응용 프로그램 예 (Loramac/*)에는 Lora-Alliance의 구현이 포함됩니다. 로라완 인증 프로토콜.
참고 : 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-nodeLoramac-Node 프로젝트에는 초기화 해야하는 Git 서브 모듈이 포함되어 있습니다
$ 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 전용 API를 통해 비 휘발성 메모리에 저장 될 수 있습니다.
최종 장치 ID ( DevEUI , JoinEUI 및 AES128 keys )를 업데이트하려면 ./src/peripherals/soft-se/ directory 아래에있는 se-identity.h 파일을 업데이트해야합니다.
참고 : 이 프로젝트의 이전 버전에서는 Commissioning.h 파일 내부에서 제공되었습니다.
LR1110-SE 추상화 구현은 LR1110 라디오 크립토 엔진과 함께 필요한 모든 교환을 처리합니다.
모든 LR1110 무선 칩은 LORA Cloud Device Join Service와 함께 사용하기 위해 공장에서 사전 프로비저닝됩니다.
다른 조인 서버를 사용하는 경우 LR1110 사용자 설명서의 "13. LR1110 프로비저닝"장에 제공된 지침에 따라 DevEUI , Pin , JoinEUI 및 AES128 keys 업데이트 할 수 있습니다.
컴파일 옵션 SECURE_ELEMENT_PRE_PROVISIONED 가 LR1110-SE ON 설정되면 공장 프로비저닝 데이터 ( DevEUI , JoinEUI 및 AES128 keys )를 사용합니다.
컴파일 옵션 SECURE_ELEMENT_PRE_PROVISIONED LR1110 사용자 설명서의 "13. LR1110 프로비저닝"에 설명 된 방법 중 하나를 따라 LR1110-SE OFF 것으로 설정된 경우 LR1110-SE를 제공해야합니다. DevEUI , Pin 및 JoinEUI ./src/peripherals/lr1110-se/ directory에있는 se-identity.h 파일을 편집하여 변경할 수 있습니다.
ATECC608A-TNGLORA-SE 추상화 구현은 ATECC608A-TNGLORA 및 ATECC608B-TNGLORA 보안 요소와 함께 필요한 모든 교환을 처리합니다.
이 보안 요소는 항상 사전 프로비저닝되며 내용을 변경할 수 없습니다.
LR1110MB1DIS MBED 방패가있는 Nucleol476 플랫폼에 대한 주기적 uplink-LPP 예제 및 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 " ..
$ makeLR1110MB1DIS MBED 방패를 사용한 Nucleol476 플랫폼에 대한 LORA 변조를 사용한 Ping-Pong 예제
$ 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 " ..
$ makeLR1110MB1DIS MBED 방패가있는 Nucleol476 플랫폼에 대한 주기적 uplink-LPP 예제 및 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/ 에서 사용할 수 있습니다.LR1110MB1DIS MBED 방패를 사용한 Nucleol476 플랫폼에 대한 LORA 변조를 사용한 Ping-Pong 예제
// 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