文章目录
- 探索Xiotman:物联网软件架构的创新之路
- 什么是物联网
- 什么是Xiotman
- Xiotman的特点
- Xiotman的架构
- Xiotman的使用
- 安装env工具
- 获取源代码
- 使用
- 其他教程
- Xiotman的开源地址
- 总结
探索Xiotman:物联网软件架构的创新之路
什么是物联网
🚀🚀众所周知,物联网是当今科技领域的一个热门话题,它指的是通过互联网将各种物理设备、传感器、终端等连接起来,实现信息的交换和通信。物联网的应用场景非常广泛,涉及智能家居、智能城市、智能医疗、智能工业等领域。然而,物联网终端应用的开发也面临着很多挑战,例如:
- 🚀🚀应用的多样性:物联网终端需要支持不同的功能和场景,例如温湿度监测、人脸识别、语音控制等,这就要求开发者能够灵活地开发和切换不同的应用。
- 🚀🚀组件的多样性:物联网终端需要使用不同的硬件和软件组件,例如传感器、显示器、摄像头、网络模块等,这就要求开发者能够方便地集成和解耦不同的组件。
- 🚀🚀RTOS的多样性:物联网终端可能需要运行在不同的实时操作系统(RTOS)上,例如FreeRTOS、RT-Thread,ucos等,这就要求开发者能够兼容和适配不同的RTOS。
- 🚀🚀MCU的多样性:物联网终端需要使用不同的微控制器(MCU)芯片,例如STM32、RA系列、ESP32等,这就要求开发者能够支持和移植不同的MCU。
什么是Xiotman
🚀🚀为了解决这些挑战,一套全新的物联网多应用框架Xiotman应运而生。Xiotman是一套致力于解决物联网终端应用多样化挑战的软件架构解决方案,它由 CSDN博客专家 架构师李肯在2023年RT-Thread全球技术峰会上首次公开发布,并在GitHub和Gitee上开源。
Xiotman的特点
🚀🚀Xiotman的主要特点如下:
- 🚀🚀支持多应用开发:Xiotman提供了一个统一的应用接口和入口,开发者只需要编写自己的应用逻辑代码,并在配置文件中选择要编译和运行的应用即可。Xiotman还提供了一些常见的应用示例,例如智能房间、调试串口等,供开发者参考和学习。
- 🚀🚀支持多组件解耦:Xiotman提供了一个组件管理机制,开发者可以将自己使用的硬件和软件组件封装成独立的模块,并在配置文件中选择要加载和使用的组件即可。
- 🚀🚀支持多RTOS:Xiotman提供了一个RTOS适配层,开发者可以在配置文件中选择要运行在哪个RTOS上,并根据不同RTOS提供的API进行编程。目前Xiotman已经支持了RT-Thread V5.0.X版本,并计划支持更多版本和其他RTOS。
- 🚀🚀支持多MCU:Xiotman提供了一个MCU适配层,开发者可以在配置文件中选择要使用哪个MCU芯片,并根据不同MCU提供的驱动和外设进行编程。目前Xiotman已经支持了qemu-veXpress-a9(仿真)、RA2E1、RA2L1、RA4M2、RA6M4等芯片,并计划支持更多芯片。
Xiotman的架构
🚀🚀Xiotman的架构如下图所示:
Xiotman的使用
🚀🚀Xiotman的使用方法也非常简单,接下来我们就来详细介绍一下:
安装env工具
🚀🚀这个地方我们需要注意,我们最好使用官方最新的版本,目前最新是1.3.5版本,笔者在测试的时候使用的是1.1.0版本的,有许多❌错误❌,所以还是希望大家用最新版的。
🚀🚀下载连接如下所示:env下载链接
获取源代码
🚀🚀这边我们还是建议获取Github上面的最新版,但是考虑到Github在国内访问不太友好,所以我们也在Gitee上开源了我们的代码,可以使用Git去获取,也可以直接点击下载ZIP再解压使用。
使用
🚀🚀首先将env注册到右键,当然,直接手动进入目录也可以,注册到右键与使用env的教程如下:Env 用户手册 ,然后进入到 Xiotman/build 目录,右键,进入env(进入env之后通过命令行进去也是可以的):
🚀🚀执行 scons --list_app
查看当前选择编译的应用、MCU、RTOS版本等信息;
🚀🚀执行 scons --menuconfig=build
选择对应的应用、MCU及RTOS和RTOS版本,默认的情况下,选择的是 app_uart_debug应用、qemu-vexpress-a9、rt-thread-v5.0.x版本;
🚀🚀执行 scons
开始编译当前应用,输出如下所示就说明编译成功了,在 out/app_uart_debug(qemu-vexpress-a9)/
目录可以看到对应的固件文件输出;
🚀🚀执行编译输出的固件;进入到 xiotman/out/app_uart_debug(qemu-vexpress-a9)/
目录,执行 ./qemu-nographic.bat
即可运行;
🚀🚀当然了,如果你想要清除当前选择的应用的中间编译输出,执行 scons --clean
就好了。
🚀🚀同时xiotman还保留了原生的 RTOS
的配置,执行 scons --menuconfig=rtos
即可进入配置:
🚀🚀我手上刚好有一块RA2E1的开发板,于是验证了一下,发现可以正常运行,结果如下所示。教程就和上述一样,只不过换了一个芯片,除了RA2E1之外,其他的我都测试过,没有什么大问题。
其他教程
🚀🚀Xiotman还提供了一些演示视频,展示了它在不同的硬件平台和应用场景下的运行效果,可以在B站搜索【Xiotman 基础功能演示】观看。
Xiotman的开源地址
🚀🚀Xiotman是一个完全开源的项目,遵循 Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码,没有潜在商业风险。Xiotman的代码仓库地址如下:
- GitHub: https://github.com/recan-li/xiotman
- Gitee: https://gitee.com/recan-li/xiotman
总结
🚀🚀总之,Xiotman是一个全新的物联网多应用框架,它为物联网终端应用的开发提供了一个灵活、方便、兼容、可扩展的软件架构解决方案。同时也希望大家能给Xiotman提出宝贵的建议与看法,感谢大家。