前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LoRaNode开发——初识SDK

LoRaNode开发——初识SDK

作者头像
ManInRoad
发布2020-09-27 14:12:56
1.4K0
发布2020-09-27 14:12:56
举报
文章被收录于专栏:物联网思考物联网思考

从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的代码结构。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 物联网思考 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档