LoRaWAN协议栈学习分享
分享一些LoRaWAN开源协议栈的资料,供大家交流学习
Daniel_ code
IOT LoraWan STM32
展开
-
如何通过lorawan联盟认证测试2
本节专门讲解LinkADRRep指令我们先讲解一下MAC指令是如何携带的首先是上行PYH有 Preamble PHDR PHDR_CRC PHYPayload CRCPHRD和PHDR_CRC及CRC都由芯片硬件添加PHYPayload 又分三种入网请求,入网接收,数据。(MACPayload)(MIC是一个4字节的校验值)在PHYPayload中,数据MAC载荷又化分为,FHDR FPort FRMPlayload其中最重要的为FHDRFHDR中又分为DevAddr FCtrl Fcnt原创 2020-06-30 11:42:56 · 343 阅读 · 0 评论 -
Lorawan MAC俗讲
最近看了一点MAC层的资料,记录一下MAC的功能强大1.LinkCheckReq 这好像是目前唯一一个终端主动发上行的命令,检测链路的连接情况。2.RXTimingSetupReq 可以设置接收窗口1的延时时间,窗口2 是在窗口1接收的1秒后打开,所以窗口2的也会随着修改。3.RXParamSetupReq 可以修改窗口2 的频点 和 速率,还有窗口1的速率。4.NewChannelReq...原创 2020-04-30 16:05:41 · 211 阅读 · 0 评论 -
SX1262移植中的问题
在项目中发现SX1262在ping-pong 或者 是lorawan中都会出现 timeout异常最终定位到 LoraSymNumTiomeout ,目前也没有找到相关资料,在代码中反复测试,此值设置为 0 即没有异常出现,目前官方提供的代码此值都不为0...原创 2020-04-16 22:30:41 · 1748 阅读 · 0 评论 -
LoRaMAC-node LoRaWAN 定时器的移植 (一)
这个代码大部分都是基于STM32的定时器移植,如果大家基于STM32移植协议栈,那么这部分代码机会可以直接使用,STM32 每个系列的RTC都相同,ST是以闹钟实现的,但是一般其他平台和ST的RTC底层是不一样的,他们普遍没有闹钟,只有一个常规的32位或者24位的定时器,其实采用普通的硬件定时器也能做,但是无法实现低功耗情况下的协议使用。这里如果是其他平台,那么就要手动移植一个定时器链表的底层实现,在协议中中有SAM平台,可以参考他的实现。首先我们分析一下顶层的timer代码 ,我在代码中加了完整的注解。原创 2023-03-09 21:56:19 · 629 阅读 · 0 评论 -
如何通过lorawan联盟认证测试
最近在做lorawan联盟认证测试,记录下整个测试过程。首先需要下载End Device Certification Requirements for EU863-870 MHz ISM Band Devices所有的节点代码测试要求都在里面 ,我目前拿到的版本是V1.6 当然你最好提前准备LTCC工具,后面会讲到。首先我们先看这个文档2.1第一点主要提及所有的下发测试命令都在RX2,除非文档特殊提及2.2.1认证测试激活设备上电每隔10s应该发送一包上行数据,内容不重要,测试控制层 将回复原创 2020-06-30 09:57:24 · 667 阅读 · 2 评论 -
如何通过lorawan联盟认证测试LTCC
LTCC是lorawan预认证测试工具,里面的测试case设计是完全按照我第一节讲的文档设计的,LTCC需要许可证才可以使用,而且要配合lorawan官网的1308网关,这套测试环境是搭建在本地的,所以不需要任何网络。1308有个GUI的配置工具,相对来说比较好用吧,但是有个BUG,在测试EU868时不能把DR0设置为868.1频段,FSK也是。LTCC目前也发现一个BUG,测试中忽然发现多条MAC响应时,LTCC在测试LOG中只认为接收到其中一条MAC的响应,所以一直失败,后面我重新新建测试工程修复。原创 2020-07-04 20:17:45 · 380 阅读 · 2 评论 -
LoRaMAC-node LoRaWAN 定时器的移植 (二)
因为ST的移植比价简单就不提了,他是基于日历和闹钟实现,我们现在主要分析下saml21的定时器实现,它是一个很普通的rtc定时器很有代表性,其他平台可以参考。我在代码里写了详细的备注大家可以去分析。原创 2023-03-09 23:47:16 · 414 阅读 · 0 评论 -
移植LORAWAN NODE
移植lorawan节点 于stm32L系列cubemx效率不言而喻,直接生成spi,uart,clock配置移植lorawan-node的文件夹,主要有system文件夹,基本不需要改动,然后移植mac文件夹,不需要改动,最后移植boad文件夹,需要rtc-board.c,1276-board.c,其中rtc主要要打开rtc的LSE时钟源,1276-board.c需要实现SpiInoutui...原创 2019-08-09 12:21:08 · 1978 阅读 · 2 评论 -
LORA MOSQUITTO的简单使用
LORA MOSQUITTO最近在学习lorasever的搭建,随便学习一下mqtt,脑子记不住就写下来在终端运行mosquitto_sub --help 或 mosquitto_pub --help-A : bind the outgoing socket to this host/ip address. Use to control which interfacethe client ...原创 2019-08-03 00:01:08 · 333 阅读 · 0 评论 -
LORWAN-MAC-NODE SX1276GetPaSelect
sx1276存在SX1276GetPaSelect 选择发射射频管脚uint8_t SX1276GetPaSelect( uint32_t channel ){return RF_PACONFIG_PASELECT_PABOOST;}通过修改此函数可以更改发射管脚,PABOOST发射管脚最大发射功率为20dbm,并且为全频段输出管脚PA_HF为高频输出管脚PA_LF为低频输出管脚这...原创 2019-08-09 14:45:43 · 218 阅读 · 2 评论