新手想要学习或尝试嵌入式开发,却碍于学习门槛高,迟迟无法上手? RT-Thread社区强势推出RTduino!降低学习成本,小白也能快速上手! RT-Thread是国内最大的嵌入式实时操作系统(RTOS),自2006年诞生以来,凭借其高可靠性、安全、高可伸缩性和中间组件丰富易用等特性,成为市面上装机量最大(超20亿台)、开发者数量最多(超20万)软硬件生态最好的操作系统之一,被广泛应用于航天、电力、轨道交通、车载、工业自动化、消费电子等众多行业领域。众所周知,嵌入式实时操作系统其具有一定的入门门槛,因此RT-Thread社区决定结合Arduino的特性,让初学者也能够快速入门RT-Thread,推出了RT-Thread + Arduino = RTduino。
RTduino是什么?
RTduino 是RT-Thread实时操作系统的Arduino生态兼容层,为 RT-Thread社区的子社区,旨在兼容 Arduino 社区生态来丰富 RT-Thread 社区软件包生态(如上千种分门别类的 Arduino 库,以及 Arduino 社区优秀的开源项目),并降低 RT-Thread 操作系统以及与 RT-Thread 适配的芯片的学习门槛。通过 RTduino,可以让用户使用 Arduino 的函数、编程方法,轻松地将 RT-Thread 和 BSP 使用起来。用户也可以直接使用 Arduino 社区第三方库(例如传感器驱动库、算法库等)直接用在 RT-Thread 工程中,极大地补充了 RT-Thread 社区生态。
RTduino - 近乎完美的Arduino接口兼容
RTduino提供了对Arduino接口的高度兼容性,特别是在传感器驱动库的使用方面。这一特性极大地方便了开发者,使开发者们能够无缝地将丰富的Arduino传感器库应用于RT-Thread环境中,而无需进行繁琐的代码重写或适配工作。以下是RTduino在提供近乎完美的Arduino接口兼容方面的几个关键点:
1. 兼容Arduino的SPI和I2C接口API
RTduino通过完整兼容Arduino的SPI和I2C接口API,让用户可以直接使用Arduino社区中的传感器驱动库。用户只需将Arduino库中的示例代码复制到main_arduino.cpp文件中,大多数情况下无需修改任何代码就可以驱动传感器工作。这一特性大大简化了开发过程,降低了开发门槛,使得即使是对RT-Thread不熟悉的开发者也能快速上手。
2. 对Adafruit传感器库的进一步兼容
Adafruit是一个知名的Arduino第三方社区,提供了大量高质量的传感器驱动库。RTduino不仅兼容了Arduino的基本接口,还专门针对Adafruit提供的传感器库(包括总线框架Adafruit_BusIO和传感器统一驱动框架Adafruit_Sensor)进行了进一步的兼容处理。这意味着开发者可以更加方便地使用Adafruit社区的资源,进一步扩展项目的功能和应用范围。
下图为STM32F412板驱动Adafruit BMP280传感器的示例:
3. 软件包中心的集成和自动镜像源机制
RTduino社区已经将Adafruit所有Arduino传感器库全部注册到RT-Thread软件包中心,用户可以通过RT-Thread的包管理工具Env轻松下载这些库。得益于RT-Thread软件包的自动镜像源机制,国内用户下载这些软件包时将体验到非常流畅的下载速度,克服了Arduino社区库下载慢或下载不下来的问题。此外,Env工具在安装这些Arduino驱动库时会自动处理库之间的依赖关系,进一步简化了开发者的工作。
4. RTduino 支持 TinyML
RTduino对TinyML(Tiny Machine Learning)的支持开辟了在资源受限的嵌入式设备上运行机器学习模型的新途径。TinyML是一种旨在在微控制器和其他功耗极低的嵌入式设备上运行机器学习模型的技术,它可以使设备智能化,而无需连接到云服务器即可进行数据处理和决策。这对于需要实时或近实时反应、工作在离线环境中或对能耗有严格要求的应用尤其重要。
下图为STM32 F412 Nucleo板运行TensorFlow Lite Micro for Arduino库,并通过模型预测一个sin正弦波驱动LED呼吸的示例:
5.RTduino驱动OLED 以及TFT显示屏
RTduino兼容u8g2图形库以及Adafruit GFX驱动库,可以轻松驱动SPI TFT彩色显示屏,以及OLED(I2C或SPI)单色显示屏。
示例如下:
6.其他
RTduino还兼容大量Arduino的其他类型驱动库以及数据处理、信号处理、时间等各种类库。
RTduino 与RT-Thread BSP适配
已经适配RTduino的RT-Thread BSP(持续完善):
https://github.com/RTduino/docs/blob/master/zh/beginner/bsp-develop.md#2-%E5%B7%B2%E7%BB%8F%E6%94%AF%E6%8C%81rtduino%E7%9A%84bsp
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !