Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
packages_软件包
RT-Thread 软件包介绍
发布于 2018-05-21 09:36:59 浏览:5099
订阅该版
[tocm] # RT-Thread 软件包介绍 ## 软件包的目的 软件包在高级语言中非常常见,很多高级语言都有对应的软件包平台,比如 Python 的 PyPi,Ruby 的 Gems 等等。软件包生态对于一门语言的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的软件。 从 **工具** 的角度去看软件包,我们很容易联想到高级动物与低级动物的差别:无外乎就是 **使用和制造工具** 的熟练程度。这个道理对于我们程序员世界也同样适用,比如高级的程序员和初级程序员的差距可以归纳为:开发工具和软件包的熟练程度上,甚至在于是否会 **创造** 适用面广的软件包(圆轮子)或开发工具。 所以,想要成为高级程序员就快来使用、创造软件包吧~ ## 软件包的定义 **RT-Thread 软件包**:运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的 **通用软件组件** 。软件包由描述信息,源代码或库文件组成。 RT-Thread 同时提供了 **开放的** 软件包平台,这里存放了官方提供或开发者提供的软件包。该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。 ## 软件包的使用 RT-Thread 为开发者提供的全面的使用教程,详情如下: - [入门文档教程:位于 RT-Thread 官网,文档->开发指南->env 工具用户手册](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/#24-package) - [入门视频教程:点击查看](https://v.qq.com/x/page/k0632yi1pp7.html) - [软件包制作教程:位于 RT-Thread 官网,文档->开发指南->package 开发指南](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/package-development-guide/) ## 软件包汇总 RT-Thread 已经支持的软件包数量已经达到 **40+**。所有软件包已经按照软件功能的角度,在 menuconfig 中进行了分类。每个分类下的软件包都可以在 `menuconfig->RT-Thread online packages` 菜单里对应的子菜单下找到。 为了降低大家的上手门槛,每个软件包在其项目首页都有详细的使用说明文档及示例代码。 ### 物联网相关的软件包 物联网(IoT) 是 RT-Thread 当前非常重视一个环节,与其相关的软件包也非常庞大。你所开发的任何物联网应用,几乎都可以在这里找到对应的软件包,目前包括如下: - **Paho MQTT**:基于 Eclipse 开源的 Paho MQTT,对于做了很多功能及性能优化,比如:增加了断线自动重连功能,采用 pipe 模型,支持非阻塞 API,支持 TLS 加密传输等等; - **WebClient**:简单易用的 HTTP 客户端,支持 HTTP GET/POST 等常见请求功能,支持 HTTPS ,断点续传等功能; - **mongoose**:嵌入式 Web 服务器网络库,类似嵌入式世界里的 Nginx 。授权许可不够友好,商业需要收费; - **WebTerminal**:网友 [@armink](home.php?mod=space&uid=6104) 开发的,可以在浏览器访问 Finsh/MSH Shell 的软件包,甚至是手机端; - **cJSON**:超轻量级的 JSON 解析库; - **ljson**:网友 @qiaoqidui 开发的 json 到 struct 的解析,输出库; - **ezXML**: XML 文件解析库,目前还不支持解析 XML 数据; - **nanopb**:Protocol Buffers 格式数据解析库,Protocol Buffers 格式比 JSON、XML 格式资源占用更少; - **GAgent**:接入机智云的软件包; - **Marvell WiFi**:Marvell WiFi 驱动; - **Wiced WiFi**:Wiced 接口的 WiFi 驱动; - **CoAP**:移植 libcoap 的 CoAP 通信软件包; - **nopoll**:移植的开源 WebSocket 通信软件包; - **netutils**:实用的网络调试小工具集合,包括:ping、TFTP、iperf、NetIO、NTP、Telnet 等; - **OneNet**:与中国移动 OneNet 云对接的软件包; ### 安全相关的软件包 安全一直是 RT-Thread 非常重视一个领域,尤其是在 RT-Thread 3.0 IoT OS 发布以后。接入网络的设备对于网络安全需求更是强烈,主要软件包: - **mbedtls**:ARM 公司开源的、可移植的适合嵌入式领域的 SSL 库,一些物联网包中的一些加密通信都会依赖它; - **libsodium**:现代化的、可移植的、易于使用的加密库,libsodium 的目标是提供构建高层密码学工具所需的核心算法; - **TinyCrypt**:轻量级、可配置的加密库,支持 MD5、base64、AES、SHA1、SHA256 算法; ### 脚本语言相关的软件包 高级语言中的一些特性非常人性化,也很大程度上降低的开发门槛,但一直受限于嵌入式的资源。随着 MCU 技术的逐步发展,资源也是越来越多了。未来,也许 C 将不在是 MCU 编程的主流选择。目前 RT-Thread 支持的脚本语言如下: - **JerryScript**:超轻量级的 JavaScript 引擎; - **MicroPython**:针对嵌入式领域的 Python 语言实现软件包。这块也是 RT-Thread 最近一直在热推的技术,只要是支持的 RT-Thread 并有一定资源(ROM: 190KB, RAM: 8KB)的开发板,都可以跑 MicroPython 在官网文档中能找到 RTT 最新出炉的《MicroPython 开发手册》。MicroPython 现在也被广泛应用于产品原型验证、教育、创客 DIY、硬件测试等领域; ### 多媒体相关的软件包 - **Openmv**:基于 MicroPython 的开源的机器视觉库; - **mupdf**:网友 @rtoslab 移植的轻量级 PDF, XPS, E-book解析/渲染库。用 RTT DIY 一个 Kindle 不是梦; ### 工具类软件包 这里主要是一些辅助开发、调试的实用工具。这些专业化的工具,使用以后能够很大程度上提高大家的开发效率,节省我们程序员的宝贵开发时间。 - **CmBacktrace**:网友 @armink 开源的 ARM Cortex-M 系列 MCU 的 HardFault 错误追踪库。目前已对 RTT 做了无缝对接,不用在修改任何移植代码,下载即用; - **EasyFlash**:网友 @armink 开源的轻量级 Flash 闪存库,非常适用于物联网产品的参数存储、日志记录的场景; - **EasyLogger**:网友 @armink 开源的超轻量级日志库。日志支持异步输出模式,各级别日志格式(包括颜色)可独立设置,并支持日志关键词过滤功能。极大的方便的开发者的调试过程。 - **SystemView**:可以实时查看、追踪、分析 RT-Thread 各线程等资源使用情况,对于性能分析很有帮助。这里有很多是网友 @ArdaFu 的贡献; ### 系统相关的软件包 系统类的软件包,更多的是与操作系统精密联系在一起的软件组件: - **RTGUI**:RT-Thread GUI 绘图引擎。RT-Thread 的 Persimmon 柿饼 UI 组件,就依赖于该软件包; - **Persimmon UI**:适合嵌入式的,支持手势识别、滑动特效等类 Android 的 UI 库; - **lwext4**:来自网友 [@parai](home.php?mod=space&uid=4505) 移植的,适合嵌入式的 ext2/3/4 文件系统库; - **partition**:一个简单的适合块设备的分区管理库; - **SQLite**:一个高可靠的、适合嵌入式领域的SQL数据库引擎。SQLite 也是 Android 内部集成的数据库,有一定的应用领域; - **RT-Thread Insight**:简写是 RTI ,一个用于 RT-Thread 的探测工具,用来帮助分析系统的内部行为; - **LittlevGL2RTT**:网友 [@liu2guang](home.php?mod=space&uid=10424) 移植的 LittlevGl GUI 库,这是一个最近新出的嵌入式 GUI 库; ### 外设库和驱动类软件包 - **STM32F4_HAL**:STM32 F4 系列的 HAL 固件函数库; - **STM32F4_Drivers**:STM32 F4 系列的 标准 固件函数库; ### 其他的软件包 - **Fastlz**:一个可移植的、实时的压缩库; - **miniLZO**:一个类 LZO 压缩库的小型实时压缩库; - **QuickLZ**:一个号称是世界上压缩速度最快的压缩库; - **MultiButton**:由网友 @liu2guang 移植的简单易用的,基于事件驱动型的按键驱动库,可无限量扩展按键; - **CanFestival**:Canfestival (一个开源的 CANopen 协议栈)在 RT-Thread 系统上的移植,由网友 @gbcwbz 移植。提供了 CANopen 的一些示例,力图做到开箱即用; - **samples**:RT-Thread 的示例代码。这是一个降低新手入门学习门槛的软件包,里面从基础、内核、文件系统、网络以及驱动这几个方面,由浅入深,逐个引导大家去上手使用 RT-Thread 。不仅有详细代码及注释,还有完善的文档。把这个软件包都学会,就算已经入 RT-Thread 的门了; - **hello**:这是一个软件包的模板,如果想要制作软件包,需要可以借鉴它。 ## 软件包的未来 从去年 9 月 RT-Thread 3.0 发布至今,RT-Thread 官方团队和我们开发者在半年多的时间里积累下来 40 多个软件包足以说明的 RT-Thread 软件生态的强大。当然我们并没有满足于此,未来已经有更多的、更高质量的软件包在我们开放计划中了,例如: - **AT 命令库**:同时支持 AT 服务器及客户端,提供 CLI 命令行交互调试模式,自动检测参数格式等等实用功能。已经进入发布倒计时; - **低功耗框架**:超低功耗设计、系统自动休眠,动态调频调压,应用不需要关心低功耗状态; 软件包的积累将会是一个量变到质变过程,能够汇集到更多大家常用的软件组件。真正做到,底层使用 RT-Thread 操作系统,上层使用搭积木方式开发应用。 当然,距离这个目标还是有一定的距离。RT-Thread 作为国内最为活跃嵌入式开源社区,深刻体会到了开放的心态所能产生的价值。期待更多的人来使用、反馈甚至是创建自己的软件包。换个角度去想,也许今天你的分享所产生的积累,未来可能会是你解决明天困难的“钥匙”。 最后,借用一句歌词:如果人人都贡献(包括反馈)软件包,嵌入式将变成美好的明天。
查看更多
9
个回答
默认排序
按发布时间排序
GTUC_3335
2019-11-29
这家伙很懒,什么也没写!
还是希望有一些应用驱动方面的教程
我夏了夏天
认证专家
2018-05-21
Life isn't about finding yourself, life is about creating yourself.
赞,希望有更多好用的软件包!
whj467467222
认证专家
2018-06-03
开源,分享,交流,共同进步
github上怎么没有CanFestival包的介绍以及下载,用ENV下载后,也没办法自动加入工程,是需要自己手动添加吗
moss
2018-06-04
这家伙很懒,什么也没写!
env添加后运行 pkgs --update 就可以了,不过首先要有 CAN和hwtimer驱动
whj467467222
认证专家
2018-06-04
开源,分享,交流,共同进步
>env添加后运行 pkgs --update 就可以了,不过首先要有 CAN和hwtimer驱动 --- 谢谢,已经有了,看下怎么用
dylan
2018-08-31
这家伙很懒,什么也没写!
你好,为什么我的看不到有OneNet的软件包?
andychen
2018-08-31
这家伙很懒,什么也没写!
>你好,为什么我的看不到有OneNet的软件包? --- 更新下 pkgs --update
dylan
2018-08-31
这家伙很懒,什么也没写!
>更新下 pkgs --update --- 谢谢 执行 `pakg --update` 后出现 ``` fatal:too many arguments. ... ``` 是什么原因
never
2018-09-19
这家伙很懒,什么也没写!
>你好,为什么我的看不到有OneNet的软件包? --- 你这种情况应该是 pkgs --upgrade 更新列表 才能看到新的pkg,update则是下载pkg
撰写答案
登录
注册新账号
关注者
0
被浏览
5.1k
关于作者
andychen
这家伙很懒,什么也没写!
提问
38
回答
187
被采纳
15
关注TA
发私信
相关问题
1
更新软件包 没有自动下载软件包
2
点更新软件包后, 软件包并没有被下载
3
RTT加载软件包的机制是什么
4
mqtt软件包,不支持直接关闭?
5
sr04软件包排他性问题
6
有没有大神移植一个HX711称重芯片模块的软件包
7
【建议】软件包分类增加“算法”类
8
软件包ota_downloader的http_ota解析导致内存释放断言
9
RT-Thread Studio软件包
10
rc522 软件包 问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部