您现在的位置是:首页 >技术杂谈 >探索Xiotman:物联网软件架构的创新之路网站首页技术杂谈
探索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提出宝贵的建议与看法,感谢大家。