RT-Thread社区上有哪些优秀的软件包?

描述

上一周我们开通了「软件包大赏」栏目,第一期推荐的——LIBMODBUS软件包(ps:点击即可跳转查看第一期)获得了很多开发者的好评,还有很多人留言表示libmodbus的代码非常易懂,软件包也非常好用他们很喜欢。在此,我们为广大开发者感谢一下libmodbus软件包贡献者——南京工程学院学生马龙伟。也希望有余力者也可以积极的参与到软件包贡献中来。

本周,我们为大家精选的 SX12XX Lora芯片软件包出自RT-Thread社区的老伙伴——樊晓杰之手,不久之后他还会推出下一版的软件包哦~ 下面,就进入正文吧:

RT-Thread新增の软件包 / 2 

0130

软件包贡献者:樊晓杰

资深嵌入式工程师,RT-Thread 死忠粉

樊晓杰,RT-Thread 忠实粉丝,也是我们留言区的老面孔。搞嵌入式相关产品已有5年,目前从事IoT嵌入式设备信息安全相关开发工作。

在2014年时候,第一次听说了RT-Thread,当时想利用业余时间DIY一个联网的收音机,在网络上搜索相关信息,就加到了魔笛的那个网络收音机的群里,尝试着熟悉代码,在stm32103上跑,但由于水平有限,当时觉得入门的确有困难,然后就没有下文了。

再一次听说RT-Thread是2017年,在北航的嵌入式专家何小庆老师举办的嵌入式联谊会上。那年的联谊会邀请到了庆科mico ,华为LiteOS,还有RT-Thread的大咖,共同探讨IoT OS 的相关话题,我也是在那时候见到熊大真人,最后还向他咨询了嵌入式AI相关の问题。也因为那次的机缘,开始持续关注RT-Thread 进展,参见线下活动、线上学习营、做分享等,到现在成为忠实粉丝,成为开发者,积极贡献代码,想想也是缘分啊,挺有意思的。

在我眼里,RT-Thread 开源技术社区,是一个真正可以提高开发者的水平的社区,无论是源码 ,还是开发文档,都是绝好参考资料,都可以在反复的阅读实践中,有所收获,有所提高。尤其是,这里聚集了国内乐于分享的牛人,可以一起沟通交流。看到这么多厉害的榜样,便也立志要和他们一样,在技术领域深耕并成为在嵌入式系统研发领域的高手。(★论坛地址: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 软件包目录结构如下所示:

RT-Thread

1.2许可证:

SX12XX 软件包遵循 Apache-2.0 许可,详见 LICENSE 文件。

1.3依赖:

RT-Thread 3.1.1+

SPI 驱动:sx12xx 设备使用 SPI 进行数据通讯,需要系统 SPI 驱动框架支持;

PIN 驱动:用于处理设备复位和中断引脚;

2、获取软件包

使用 SX12XX 软件包需要在 RT-Thread 的包管理中选中它,具体路径如下:

1RT-Thread online packages2    peripheral libraries and drivers  --->3        sx12xx: Semtech LoRa RF chip driver library --->

进入 sx12xx 软件包的配置菜单按自己的需求进行具体的配置

1sx12xx: Semtech LoRa RF chip driver library ---> 2        SX12XX device type(SX1278 LSD4RF-2F717N30)  ---> 3        SX12XX device configure  ---> 4            (spi10) SPI device name 5            (10)  Reset PIN number 6            (103) DO0 PIN number 7            (104) DO1 PIN number 8            (105) DO2 PIN number 9            (106) DO3 PIN number10            (107) DO4 PIN number11            (108) DO5 PIN number            12  [ ]   Enable sx12xx sample13        Version (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 软件包初始化函数如下所示:

1int sx12xx_init(void);

该函数不支持组件初始化,函数主要完成功能有,

设置 LoRa 调制模式 ;

设备配置和引脚初始化(配置 SPI 设备,配置复位和中断引脚);

LoRa 参数配置和初始化(RFFrequency , Power, SignalBw, SpreadingFactor,ErrorCoding 等);

3.2 MSH 测试命令

如果开启 sx12xx 软件包示例程序,就会导出 sx12xx_test 命令到控制台。设备上电初始化完成,在控制台调用测试命令,将会打印如下所示:

1msh />sx12xx_test2sx12xx init succeed             ## 获取设备句柄 ,初始化Lora 成功3version code of the chip is 12  ## chip code 信息4SX1278 Lora parameters are :    ## 如下为主要 Lora 设置参数 信息 5RFFrequency is 870000000        ## 频率6RFPower is 14                   ## 发射功率7SignalBw is 9                   ## 信号带宽8SpreadingFactor is 7            ## 扩频因子9sx12xx spi check ok!            ## SPI 测试完成

4、常见问题

SPI 设备初始化时找不到设备问题

1spi sample run failed! cant't find spi12 device!

出现上述问题,可能原因是 ENV 中配置 SX12XX 使用的 SPI 设备类型不正确,可以在添加 SX12XX 软件包之前在 FinSH 中使用 list_device 查看当前可用 SPI 设备名称,如果 BSP 工程中没有 SPI 设备或者只有 SPI 总线设备,需要手动在驱动中添加 SPI 设备,并正确配置 SX12XX 软件包中使用的 SPI 设备名称。

5、注意事项

获取软件包时,需要注意正确配置使用的 SPI 设备名称、复位引脚号和中断引脚号;

软件包目前处于 beta 测试阶段, 推荐在 menuconfig 选项中选择 latest 版本

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分