LoRa节点开发:1、初识SDK

从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协议的实现

 

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

本文来源微信公众号:物联网思考

发布了35 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/freemote/article/details/102903955