LoRaNode开发——初识SDK

2020-09-27 14:12:56 浏览数 (1)

从github获取节点源码https://github.com/Lora-net/LoRaMac-node/tree/develop,可以看到最新的源码是v4.4.2。

  • 基于LoRaWAN规范1.0.3,地区参数v1.0.3revA
  • 支持Class A、Class B、Class C
  • 支持多个频段,CN470、US915、AU915、AS923、EU868、RU864、KR920

Branch选择为develop:

下载ZIP,点击Download ZIP即可,既就是下载压缩包:

正确解压LoRaMac-node-develop.zip文件:

.vscode:里面是用VScode打开文件的时候的一些配置;

cmake:cmake主要是用于构建Makefile文件用的;

Doc:主要是原理图和开发环境的说明

src:源码,也是我们最需要关注的文件

.gitignore:与git工具相关的文件

CMakeLists.txt:cmake工具的依赖文件

LICENSE.txt:许可证之类的说明

readme.md:对这个文件夹的一些详细说明

在windows下开发我们主要关注两个文件夹Doc和src:

Doc文件夹

development-environment.md主要是说明了开发环境的构建:默认是linux下的vscode,编译工具是GCC,Makefile文件构建工具是Cmake。

NAMote72-platform.md 、NucleoLxxx-platform.md 、 SAML21-platform.md、 SKiM88xx-platform.md是官方不同的demo板子的资料链接。

SX1276-Wing-Board-(03-91016-RA).pdf是单独1276的原理图。

src文件夹:代码全在这个文件夹里面。

apps文件夹:里面主要是四种应用。

LoRaMac:符合LoRaWAN规范的例程

ping-pong:点对点的例程(一发一收)

rx-sensi:接收灵敏度测试的例程

tx-cw:持续发送的例程

boards文件夹:板级驱动、库函数、mcu启动文件等,可以看出支持好几种mcu(stm32l152、stm32l073、stm32l476、saml21(以前atmel的低功耗系列))。

mac文件夹:LoRaWAN协议栈相关的东西都在这里面,子文件夹region里面是各个地区的参数。

peripherals文件夹:主要是一些外设的驱动,sofe-se文件夹是与加密相关的文件,LoRaWAN采用的是AES-128加密。

radio文件夹:主要是射频驱动,其中sx1276和sx1278的驱动是相同的。

system文件夹:剥离mcu的外设驱动,就是将不同的mcu的底层驱动封装成一样的函数接口,应用层接口都是一样的,如果换成其他的mcu只需更改驱动即可。

最后再主要看一下LoRaMac文件夹:

classA:LoRaWAN classA节点

classB:LoRaWAN classB节点

classC:LoRaWAN classC节点

commom:共用的一些文件

fuota-test-01:基于LoRaWAN的固件无线升级

periodic-uplink-lpp:lpp协议的实现

以上就是LoRa Node 最新的SDK的代码结构。

0 人点赞