上一周我们开通了「软件包大赏」栏目,第一期推荐的——LIBMODBUS软件包(ps:点击即可跳转查看第一期)获得了很多开发者的好评,还有很多人留言表示libmodbus的代码非常易懂,软件包也非常好用他们很喜欢。在此,我们为广大开发者感谢一下libmodbus软件包贡献者——南京工程学院学生马龙伟。也希望有余力者也可以积极的参与到软件包贡献中来。
本周,我们为大家精选的SX12XX Lora芯片软件包出自RT-Thread社区的老伙伴——樊晓杰之手,不久之后他还会推出下一版的软件包哦~ 下面,就进入正文吧:
RT-Thread新增の软件包 / 2
0130
软件包贡献者:樊晓杰
樊晓杰,RT-Thread 忠实粉丝,也是我们留言区的老面孔。搞嵌入式相关产品已有5年,目前从事IoT嵌入式设备信息安全相关开发工作。
在2014年时候,第一次听说了RT-Thread,当时想利用业余时间DIY一个联网的收音机,在网络上搜索相关信息,就加到了魔笛的那个网络收音机的群里,尝试着熟悉代码,在stm32103上跑,但由于水平有限,当时觉得入门的确有困难,然后就没有下文了。
再一次听说RT-Thread是2017年,在北航的嵌入式专家何小庆老师举办的嵌入式联谊会上。那年的联谊会邀请到了庆科mico ,华为LiteOS,还有RT-Thread的大咖,共同探讨IoT OS 的相关话题,我也是在那时候见到熊大真人,最后还向他咨询了嵌入式AI相关の问题。也因为那次的机缘,开始持续关注RT-Thread 进展,参见线下活动、线上学习营、做分享等,到现在成为忠实粉丝,成为开发者,积极贡献代码,想想也是缘分啊,挺有意思的。
在我眼里,RT-Thread 开源技术社区,是一个真正可以提高开发者的水平的社区,无论是源码 ,还是开发文档,都是绝好参考资料,都可以在反复的阅读实践中,有所收获,有所提高。尤其是,这里聚集了国内乐于分享的牛人,可以一起沟通交流。看到这么多厉害的榜样,便也立志要和他们一样,在技术领域深耕并成为在嵌入式系统研发领域的高手。(★william hill官网 地址:https://www.rt-thread.org/qa/forum.php)与此同时,也愈发感觉学好、用好RT-Thread为它投入时间,值得!最后,再次感谢RT-Thread 团队为营造这么好的开源技术社区所有的付出!你们就是我的榜样!接下来,就从应用场景入手聊一聊这个软件包吧
SX12XX Lora
图片来源网络
1、软件包简介:
SX12XX 软件包是基于 semtech 官网Firmware Drivers V2.1.0代码库的移植实现,目前只支持 SX1278 LoRa设备。该软件包在原代码库功能的基础上,对接 RT-Thread SPI 设备驱动框架,实现参数的配置和数据的读取。
项目地址:http://packages.rt-thread.org/itemDetail.html?package=sx12xx(请复制至外部浏览器打开)
使用背景:
使用低功耗广域网 Lora 技术的场景越来越多,是物联网时代不可或缺的无线传输技术,功耗低,传输距离远,组网方便,是它的显著特点。使用这个软件包,可以通过RT-Thread SPI设备驱动框架将Semtech SX12XX 系列的 Lora 芯片快速驱动起来,后续可方便的验证两个Lora 模块的远通信距离及与Lora 网关之间的通信,也是这个软件包下一个版本的目标。
1.1 目录结构:
SX12XX 软件包目录结构如下所示:
1.2许可证:
SX12XX 软件包遵循 Apache-2.0 许可,详见 LICENSE 文件。
1.3依赖:
RT-Thread 3.1.1+
SPI 驱动:sx12xx 设备使用 SPI 进行数据通讯,需要系统 SPI 驱动框架支持;
PIN 驱动:用于处理设备复位和中断引脚;
2、获取软件包
使用 SX12XX 软件包需要在 RT-Thread 的包管理中选中它,具体路径如下:
1RT-Threadonlinepackages2peripherallibrariesanddrivers--->3sx12xx:SemtechLoRaRFchipdriverlibrary--->
进入 sx12xx 软件包的配置菜单按自己的需求进行具体的配置
1sx12xx:SemtechLoRaRFchipdriverlibrary---> 2SX12XXdevicetype(SX1278LSD4RF-2F717N30)---> 3SX12XXdeviceconfigure---> 4(spi10)SPIdevicename 5(10)ResetPINnumber 6(103)DO0PINnumber 7(104)DO1PINnumber 8(105)DO2PINnumber 9(106)DO3PINnumber10(107)DO4PINnumber11(108)DO5PINnumber12[]Enablesx12xxsample13Version(latest)--->
SX12XX device type:配置支持的设备类型(目前只支持 SX1278 利尔达 LSD4RF-2F717N30 LoRa 模块 )
SX12XX device configure:配置使用设备的参数
SPI device name:配置使用 SPI 的设备名称(注意需设置为非 SPI 总线设备)
Reset PIN number:配置设备连接的复位引脚号(根据实际使用引脚号修改)
DO0~5 PIN number:配置设备连接的中断引脚号(同上)
Enable sx12xx sample: 配置使用示例代码
Version:软件包版本选择
3、使用 软件包:
3.1 SX12XX 软件包初始化函数如下所示:
1intsx12xx_init(void);
该函数不支持组件初始化,函数主要完成功能有,
设置 LoRa 调制模式 ;
设备配置和引脚初始化(配置 SPI 设备,配置复位和中断引脚);
LoRa 参数配置和初始化(RFFrequency , Power, SignalBw, SpreadingFactor,ErrorCoding 等);
3.2 MSH 测试命令
如果开启 sx12xx 软件包示例程序,就会导出 sx12xx_test 命令到控制台。设备上电初始化完成,在控制台调用测试命令,将会打印如下所示:
1msh/>sx12xx_test2sx12xxinitsucceed##获取设备句柄,初始化Lora成功3versioncodeofthechipis12##chipcode信息4SX1278Loraparametersare:##如下为主要Lora设置参数信息5RFFrequencyis870000000##频率6RFPoweris14##发射功率7SignalBwis9##信号带宽8SpreadingFactoris7##扩频因子9sx12xxspicheckok!##SPI测试完成
4、常见问题
SPI 设备初始化时找不到设备问题
1spisamplerunfailed!cant'tfindspi12device!
出现上述问题,可能原因是 ENV 中配置 SX12XX 使用的 SPI 设备类型不正确,可以在添加 SX12XX 软件包之前在 FinSH 中使用list_device查看当前可用 SPI 设备名称,如果 BSP 工程中没有 SPI 设备或者只有 SPI 总线设备,需要手动在驱动中添加 SPI 设备,并正确配置 SX12XX 软件包中使用的 SPI 设备名称。
5、注意事项
获取软件包时,需要注意正确配置使用的 SPI 设备名称、复位引脚号和中断引脚号;
软件包目前处于beta测试阶段, 推荐在 menuconfig 选项中选择latest版本
-
嵌入式系统
+关注
关注
41文章
3590浏览量
129460 -
软件包
+关注
关注
0文章
104浏览量
11592 -
RT-Thread
+关注
关注
31文章
1286浏览量
40110
原文标题:软件包大赏第2期| SX12XX Lora芯片软件包
文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论