RTT笔记-package(官方软件包)

该笔记类别主要是在自己学习时做的一些记录,方便自己很久不用忘掉时进行快速回忆

物联网相关的软件包

物联网(IoT) 是 RT-Thread 当前非常重视一个环节,与其相关的软件包也非常庞大。你所开发的任何物联网应用,几乎都可以在这里找到对应的软件包,目前包括如下:

  • Paho MQTT:基于 Eclipse 开源的 Paho MQTT,对于做了很多功能及性能优化,比如:增加了断线自动重连功能,采用 pipe 模型,支持非阻塞 API,支持 TLS 加密传输等等;
  • WebClient:简单易用的 HTTP 客户端,支持 HTTP GET/POST 等常见请求功能,支持 HTTPS ,断点续传等功能;
  • mongoose:嵌入式 Web 服务器网络库,类似嵌入式世界里的 Nginx 。授权许可不够友好,商业需要收费;
  • WebTerminal:网友 @armink 开发的,可以在浏览器访问 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 移植的,适合嵌入式的 ext2/3/4 文件系统库;
  • partition:一个简单的适合块设备的分区管理库;
  • SQLite:一个高可靠的、适合嵌入式领域的SQL数据库引擎。SQLite 也是 Android 内部集成的数据库,有一定的应用领域;
  • RT-Thread Insight:简写是 RTI ,一个用于 RT-Thread 的探测工具,用来帮助分析系统的内部行为;
  • LittlevGL2RTT:网友 @liu2guang 移植的 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:这是一个软件包的模板,如果想要制作软件包,需要可以借鉴它。

你可能感兴趣的:(RTT笔记-package(官方软件包))