0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

RTThread物联网操作系统 来源:lp 2019-04-03 15:35 次阅读

上一周我们开通了「软件包大赏」栏目,第一期推荐的——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 软件包目录结构如下所示:

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版本

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

    关注

    40

    文章

    3391

    浏览量

    128172
  • 软件包
    +关注

    关注

    0

    文章

    88

    浏览量

    11317
  • RT-Thread
    +关注

    关注

    31

    文章

    1145

    浏览量

    38851

原文标题:软件包大赏第2期| SX12XX Lora芯片软件包

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread Studio添加软件包报错怎么解决?

    RT-Thread Studio添加软件包报错ImportError: No module named psutil
    发表于 03-01 08:41

    基于CubeMX的RT-thread Nano可以添加microros这样的软件包吗?

    最近使用rt-thread配置一个ROS2,但是是用CubeMX联合Clion做的,CubeMX使用的是RT-thread nano, 请问这个环境可以添加像microros这样的软件包
    发表于 03-01 06:00

    RT-Thread Studio中的RT-Thread Setting中已经有软件包管理和组件服务管理了,那还需要env工具吗?

    RT-Thread Studio中的RT-Thread Setting中已经有软件包管理和组件服务管理了,那还需要env工具吗,如果也使用env工具那不是和RT-Thread Sett
    发表于 02-23 07:36

    RT-Thread中mymqtt软件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip协议栈的使用的工程基础上添加mymqtt软件包。 使能mqtt example和mqtt test,保存,等待下载更新软件包
    的头像 发表于 10-13 10:44 476次阅读
    <b class='flag-5'>RT-Thread</b>中mymqtt<b class='flag-5'>软件包</b>的使用方法

    RT-Thread中Agile Modbus软件包的使用方法

    开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,Agile Modbus软件包版本为v1.1.2。工程使用上一篇 RT-Thread中RS485驱
    的头像 发表于 10-11 15:37 598次阅读
    <b class='flag-5'>RT-Thread</b>中Agile Modbus<b class='flag-5'>软件包</b>的使用方法

    RT-Thread使用cjson软件包发送64位长整型数据

    开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,rt-thread版本为4.1.1,cjson软件包使用的版本是latest。
    的头像 发表于 10-11 15:09 366次阅读
    <b class='flag-5'>RT-Thread</b>使用cjson<b class='flag-5'>软件包</b>发送64位长整型数据

    UIoT RT-Thread软件包介绍

    UIoT RT-Thread 软件包实现了 IoT 设备与 UCloud UIoT Core 物联网通信云平台连接,包含设备注册、MQTT、设备影子、物模型、OTA、文件上传等功能,开发者进行灵活裁剪。
    发表于 09-26 07:22

    基于RT-Thread的RoboMaster电控框架(二)

    由于 RT-Thread 稳定高效的内核,丰富的文档教程,积极活跃的社区氛围,以及设备驱动框架、Kconfig、Scons、日志系统、海量的软件包
    的头像 发表于 09-20 15:16 465次阅读

    基于 RT-Thread 的 RoboMaster 电控框架(一)

    由于 RT-Thread 稳定高效的内核,丰富的文档教程,积极活跃的社区氛围,以及设备驱动框架、Kconfig、Scons、日志系统、海量的软件包……很难不选择 RT-Thread
    的头像 发表于 09-19 19:55 407次阅读

    基于RT-Thread的RoboMaster电控框架设计

    由于 RT-Thread 稳定高效的内核,丰富的文档教程,积极活跃的社区氛围,以及设备驱动框架、Kconfig、Scons、日志系统、海量的软件包……很难不选择 RT-Thread
    发表于 09-06 15:21 387次阅读

    MicroPython的优势及应用领域 RT-Thread MicroPython与MicroPython的区别

    当下MicroPython变得越来越流行,RT-Thread 也提供了对应的软件包的支持。那么,相比官方原生的 MicroPython 我们有哪些改进呢?本文将深入介绍,RT-Thread MicroPython
    发表于 08-28 10:47 885次阅读

    RT-Thread Settings中开启libhydrogen软件包开关,更新后为什么提示找不到该文件?

    我早做测试时发现,在RT-Thread Settings中开启libhydrogen软件包开关,更新后发现开发环境左侧packages目录下并没找到该软件包,请问是怎么回事?
    发表于 08-20 17:20

    RT-Thread在线软件包改为本地软件包的方法

    RT-Thread软件包,使用时需要手动通过 ENV 工具 更新到 本地的 packages 目录,并且 packages 目录默认不参与 Git 工程管理,软件包多了,偶尔需要更改软件包
    的头像 发表于 08-11 15:02 741次阅读
    <b class='flag-5'>RT-Thread</b>在线<b class='flag-5'>软件包</b>改为本地<b class='flag-5'>软件包</b>的方法

    社区工程师专题系列第六期】宁精勿杂,在嵌入式领域做到优秀——李昂

    MicroPython,LuaOS等,资源占用减少85%以上。 入选2021年度 Gitee最有价值开源项目,加入RT-Thread嵌入式实时操作系统编程语言类软件包。 本项目在CH32V103
    发表于 08-02 14:45

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2524次阅读
    基于<b class='flag-5'>RT-Thread</b> Studio学习