探索Xiotman:物联网软件架构的创新之路

news2024/11/18 9:29:50

文章目录

  • 探索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的架构如下图所示:

image-20230602232120443


Xiotman的使用

🚀🚀Xiotman的使用方法也非常简单,接下来我们就来详细介绍一下:


安装env工具

🚀🚀这个地方我们需要注意,我们最好使用官方最新的版本,目前最新是1.3.5版本,笔者在测试的时候使用的是1.1.0版本的,有许多❌错误❌,所以还是希望大家用最新版的。

🚀🚀下载连接如下所示:env下载链接

在这里插入图片描述


获取源代码

🚀🚀这边我们还是建议获取Github上面的最新版,但是考虑到Github在国内访问不太友好,所以我们也在Gitee上开源了我们的代码,可以使用Git去获取,也可以直接点击下载ZIP再解压使用。


使用


🚀🚀首先将env注册到右键,当然,直接手动进入目录也可以,注册到右键与使用env的教程如下:Env 用户手册 ,然后进入到 Xiotman/build 目录,右键,进入env(进入env之后通过命令行进去也是可以的):

menuconfig 常用快捷键

在这里插入图片描述


🚀🚀执行 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 即可运行;

image-20230603085818951


🚀🚀当然了,如果你想要清除当前选择的应用的中间编译输出,执行 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提出宝贵的建议与看法,感谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/634030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高燃盛会全程回顾|鸿雁加速推进数字转型之路

6月10日,以“双翅齐振雁南飞”为主题的鸿雁电器数字化营销启动大会暨中山古镇鸿雁全屋智能体验中心开业庆典,在中山古镇华艺广场圆满落幕。 古镇镇长阮志力、华艺集团董事长区锦标、华艺广场总经理丁瑜、古镇灯饰传媒董事长曹利晖以及杭州鸿雁电器有限公…

spring boot + xxl-job 分布式任务调度

一、介绍 1、任务调度 1.1、什么是任务调度 我们可以先思考一下下面业务场景的解决方案: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。某财务系统需要在每天上午10点前结算前一天的账单数据,统计汇总。某电…

那年我头脑发热,选择了自动化,后来我掉入计算机的世界无法自拔

首先,小雅兰是22届高考考生,而且当时填报志愿也没有填报到计算机相关的专业去,小雅兰是自动化专业的学生,是由于一次偶然的机会,了解到了这个行业,对于写代码所带来的成就感,总之,我…

Java013——常见进制以及转换

一、常见进制 十进制 数字组成:0-9这十个数字组成,不能以0开头 进位规则:满10进1 int num1 10;//对应的十进制为10二进制 数字组成:0-1这两个数字组成,以0b或0B开头 进位规则:满2进1 int num2 0b1010;…

华为存储IA篇仿真器搭建

设备清单 编号 设备名 数量 备注 01 Windows系统主机 1台 为VMware提供安装位置 02 VMware软件 1份 提供存储仿真器的部署环境 03 仿真器文件 1份 用于部署estor虚拟机 【注意】:暂无注意事项 一、下载安装文件并配置虚拟机设备清单 1.1…

TypeScript 自定义装饰器

(预测未来最好的方法就是把它创造出来——尼葛洛庞帝) 装饰器 装饰器一种更现代的代码模式,通过使用的形式注入在属性,寄存器,方法,方法参数和类中,比如在Angular,Nestjs和midway等…

大数据Doris(三十九):Spark Load 注意事项

文章目录 Spark Load 注意事项 Spark Load 注意事项 1、现在Spark load 还不支持 Doris 表字段是String类型的导入,如果你的表字段有String类型的请改成varchar类型,不然会导入失败,提示 type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel 2、使用Spa…

无敌!我用【C语言】手搓出了一个体系完整的【员工管理系统】还能玩游戏听音乐?(超详细,附完整源码)

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:C语言程序设计实验项目 如果本文对你有所帮助的话,还希望可以点赞👍收藏📂支持一下…

Linux——IP协议1

目录 协议头格式 如何封装和解包 如何交付(分用) 报头每一个字段 分片是怎么做到的 应用层解决的是数据使用的问题。 在传输层,网络层,数据链路层:解决的是网络通信的细节,将数据可靠的从A主机跨网络发…

【深入浅出 Spring Security(八)】前后端分离-使用CSRF漏洞保护详讲

CSRF 漏洞保护 一、CSRF 概述二、CSRF 攻击演示三、CSRF 防御令牌同步模式 四、前后端分离使用 CSRFCsrfFilter 源码分析源码一些方法的细究 测试 五、总结 一、CSRF 概述 CSRF(Cross-Site Request Forgery 跨站请求伪造),也可称为一键式攻击…

乐盟互动申请纳斯达克IPO上市,募资2000万美元

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,来自北京的程序化广告平台【乐盟互动】近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市,股票代码(LIAI)&…

SpringBoot社区小区物业管理停车场系统(Java+Layui+MyBatis+Python+Mysql)

wx供重浩:创享日记 对话框发送:69小区 获取完整源码源文件说明文档数据库文件 项目特色 本项目使用现行主流技术与架构模式(控制层、服务层、数据层)代码结构清晰,严格遵循模块化、组件化、接口化思想;关…

mysq在RR级别怎么解决不可重复读和幻读

1、定义 不可重复读: 事务1读取一行,事务2然后修改或删除该行数据并且提交事务,事务1再次读取结果不一样; 幻读:事务1按条件读取查询数据,事务2按照同样的条件新增一条或多条数据并且提交事务&#xff0c…

mysql8查看大事务

文章目录 1、查看大事务的原因2、构建测试数据3、模拟大事务场景4、查询mysql的事务5、查询大事务的详情 1、查看大事务的原因 大事务的特点是执行时间长,长期占有锁不释放,导致其他想操作同一行数据的线程阻塞,如果客户端设置了超时时间&am…

单正态总体和双正态总体的假设检验

1.单正态总体和双正态总体的假设检验 笔者之前的相关笔记: 1.正态总体下常见的抽样分布 2.假设检验(Hypothesis Testing) 个人理解假设检验:先对总体参数提出一个假设值,利用样本信息判断这一假设是采取拒绝该假设还是…

opencv人与摄像头距离检测

参考: https://chtseng.wordpress.com/2018/09/18/%E5%A6%82%E4%BD%95%E4%BC%B0%E7%AE%97%E5%89%8D%E6%96%B9%E4%BA%BA%E7%89%A9%E7%9A%84%E8%B7%9D%E9%9B%A2/ WeChat_20230611160620 1、cv2加载摄像头慢解决方法,单独重新cv2.VideoCapture() https://b…

使用vue进行Lodop打印的一些方法

文章目录 使用Lodop进行打印的一般步骤vue中使用lodopkr-print-designer简介打印模板设计器打印预览模板设计页面安装引入 Lodop是一个JavaScript控件,用于在Web应用程序中进行打印操作。 使用Lodop进行打印的一般步骤 下载Lodop控件:首先,你…

对比学习做了什么?

什么是对比学习? 对比学习貌似处于“无明确定义、有指导原则”的状态 什么是对比学习呢?(这个是微信链接)全文比较长,但是逻辑框架还是不错的。 如果想要更快速的了解什么是对比学习或者说对比学习是怎么做的,可以看SimCLR这个模…

全网最详细,软件测试-性能测试岗面试题总结(大全)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 描述一下你们公司…

论文阅读:Denoising Diffusion Probabilistic Models

论文阅读:Denoising Diffusion Probabilistic Models 最近一两年,在图像生成领域,扩散模型受到了越来越多的关注,特别是随着 DALL-E2 以及 Midjourney 的持续火爆,扩散模型也变得越来越流行,之前很多基于 …