一、项目规划

基于Air8000A开发板,构建一个工业环境参数监测系统,实现:

  • 通过RS485接口采集温湿度传感器数据
  • 通过RS485接口采集TVOC(总挥发性有机物)传感器数据
  • 在本地TFT屏幕上实时显示环境参数(AirUI界面)
  • 将数据上传至AirCloud云端平台(iRTU通信)

使用 Air8000A 整机开发板 + 屏幕,用 iRTU+luatos-docs-code-100 开发一个 iRTU+RS485 温湿度传感器 +RS485 TVOC 的项目

1.1、AirUI 核心特点

AirUI 是基于LVGL 9.4的LuatOS图形层封装,为LVGL封装了更易上手的Lua接口,支持Windows端PC模拟器(SDL2)和air8000、air8101等真机模组开发。其包含丰富核心组件及布局、输入等功能,可快速搭建页面原型与交互逻辑,降低嵌入式UI开发门槛。

1.2、UI方案核心优势

UI方案以AirUI为核心,主打低功耗高效渲染,适配电池供电设备。采用分层设计,分离UI逻辑与硬件驱动;支持离线运行,提供可视化拖拽工具,兼容Air8000A 、Air8101等模组,实现硬件与UI无缝对接等模组无缝对接。

1.3、Air8000A的规格

是高性能的LTE Cat.1工业引擎,支持4G全网通,内置4MB RAM+4MB Flash(大容量版本可选),原生支持LuatOS与AirUI框架,可无缝运行iRTU并支持Lua二次开发。接口配置丰富,集成多路UART(含RS485)、USB、SPI、I2C及GPIO,待机功耗低于1mA,专为低功耗工业监测场景设计。

二、准备软硬件环境

2.1 软件环境

2.1.1 准备好 Air8000A 的 iRTU 软件代码

软件代码地址为:iRTU 源码,这个地址为 irtu_ui 的初始代码。

固件下载参考:Air8000A 固件

2.1.2 准备好 Luatools 工具

Luatools 作为所提供的调试工具,Luatools 支持最新固件获取、固件打包、trace 打印、单机烧录等功能

此工具适用于 4G 模组, 4G + GNSS 模组和工业引擎系列。

LuaTools 下载调试教程参考:LuaTools 下载调试教程 - 模组资料中心

2.1.3 准备好 iRTU 配置页面和 AirCloud

iRTU 的配置服务器地址为:iRTU 配置页面

AirCloud 的地址为:iot.luatos.com

2.1.4 AI 工具安装和智能体配置

本次使用的智能体是:luatos-docs-code-100

文档链接:https://docs.openluat.com/ai/

2.2 硬件环境

2.1 Air8000A 整机开发板

硬件环境:Air8000A 整机开发板硬件环境介绍

2.2 温湿度传感器和 TVOC 传感器

本次用的是 485 的温湿度传感器和 TVOC 传感器,Turnkey 开发板里面的套餐是 i2c 的,因为 iRTU 目前只支持串口传输,所以我们使用 485 的温湿度传感器和 TVOC 传感器

三、使用 AI 开发

3.1 先配置 iRTU 的基本参数:

1.串口配置

串口配置功能如下,Air8000A 的开发板使用的 485 串口号为串口 1,转向脚为 GPIO17,485 的延迟时间设置为 20000us,9600 波特率填 20000。这个是经验值,其余波特率可以参考这个波特率,根据比例自行计算,如 4800 波特率是 20000*9600/4800 = 40000;

2.网络通道

配置为 AirCloud,其中,AuthKey 值可以去通过 AirCloud 平台对应模块的项目去获取

测试的设备在 test1 项目下,所以使用的是第一个 Key 值

3.预置信息

在预置信息里面配置的是发送的 485 数据,本次发送的数据,第一条是发送给 TVOC 传感器的数据,第二条是发送给温湿度传感器的数据,中间间隔 1 秒

4.任务

任务里面打开 GPIO16,该操作是给 485 控制芯片上电

5.数据流

数据流我们等待后续用 AI 生成,先暂时不配置

3.2 放入代码和图片,生成 UI

放入 iRTU 的代码,lib 库,还有 image 图片,iRTU 代码获取:代码;lib 库获取:iRTU-lib;image 图片:图片,图片也可以自行去阿里巴巴图标网站去寻找自己喜欢的:https://www.iconfont.cn/。如何导入本地文件夹,可以参考:https://docs.trae.cn/ide/get-started-with-trae#5dd7a0fb

1、第一个任务

1.我现在的 image 里面放了 3 个图片,分别是温度,湿度,还有 tvoc,你现在利用这三张图片,结合 airui 功能,给我用容器先创建一个大的框架,然后做三个小的容器,分别是温度,湿度,还有 tvoc,做完之后放到我的 iRTU 项目里

2、AI 的创建结果

AI 第一次没有生成代码,然后我们询问 AI:代码呢?然后 AI 开始生成 airui_main.lua 的代码,这时候我们发现 AI 的屏幕大小是错误的,我们纠正下 AI

3、AI 开始修正

1.烧录代码:

这时候发现有报错,但是屏幕上已经显示出来了内容

2.但是我们想把这个做成横屏的,而且图片也没显示出来,这个时候我们发现图片的路径其实是错误的,这个路径问题需要提前给 AI 说一下,不然 AI 没办法判断这个图片路径是脚本区路径

4、开始针对问题询问问题让 AI 修改

1.修改完成,展示图片:

5、还是没有显示图片,继续让 AI 微调

1.这个时候,图片还是没有显示,通过日志看到了无法显示主界面,容器或 airui 对象不存在

2.看了下代码,经过分析能显示出来屏幕的话,那么 airui.show 应该就是不存在的,然后让 AI 去分析一下去修改一下,这一步在使用上其实修改不修改都没什么问题。不影响使用,但是为了代码规范,还是让 AI 去修改一下吧

6、显示出来图片了,但是大小显示不完全,而且代码有报错,继续让 AI 去修改调试

1.让 AI 去修改报错,然后去修改图片

2.修复完成点击保留,然后继续烧录

7、代码修复完成,没有报错,且图片显示正常

1.经过 AI 修复,现在代码已经可以正常运行,没有报错,图片和屏幕也显示正常,但是我想标题的环境检测系统字体稍微大一些,且居中显示,下面的系统正常运行中也大一些

2.AI 修改完成,烧录固件

8、发现字体没有改变,继续让 AI 修改

1.这个时候,下面的字体已经变大了,但是环境检测系统没有改变,也没有居中,让 AI 继续去修改

2.这个时候已经修改成了正确的常量,但是发现其他的也没有修改,继续让 AI 把所有的都修改了

3.修改完成,点击保留,然后烧录

4.烧录之后正常显示,所有内容都居中显示了,但是环境检测的字体没有改变,继续让 AI 修复

5.AI 修改完成,发现字体的 Key 值是用的 size,实际上应该是 font_size,AI 开始修改这个问题,然后把所有的字体都做了修改,点击保留,然后开始烧录

6.烧录完成,图片看起来没有什么太大问题

9、UI 调试完成

至此,我们的 UI 已经调试完成,现在开始调试数据流

3.3 数据流的处理

1.把传感器手册的交互数据发给 AI

TVOC 的通讯协议实例以及解释:
在这里插入图片描述

2.温湿度传感器的通讯协议以及数据处理方式

把图片和文案喂给 AI,然后开始让 AI 帮忙生成数据流

3.这个时候 AI 自动生成了,但是格式并不对

4.让 AI 按照格式继续修改

5.这个时候,输出了一个新的符合 iRTU 数据流的代码

6.然后我们把 AI 生成的数据流复制到 iRTU 的发送数据流里面

7.然后我们就开始烧录代码

8.这个时候可以正常读取出来,但是 TVOC 的值显示的比较异常

但是通过检查返回数据十六进制 02030219D0F648,16 进制 19D0 是十进制 6608 没问题的,但是经过 AI 查询,这个值明显不太对

9.经过和 TVOC 的店家沟通,正常的 TVOC 设备是需要预热 24H 才可以

10.这个时候我们的服务器端也可以看到数据有正常上传

所以数据流上传数据目前是没有什么问题了

11.开始让 AI 把数据显示到屏幕上面

所以当前输出这么大的 ppb 值是正常情况,我们的数据流处理数据功能是正常的了,现在我们开始让 AI 把数据流处理过后的数据,显示到屏幕上面

12.但是经过烧录发现,并没有更新

而且我感觉在数据流里面调用接口去修改,不如直接用 sys.publish 和 sys.subscribe 去处理更简单了,让 AI 用这种方式去修改一下看看吧

13.修改成功,保留 airui_main 里面的代码

复制新修改的数据流到网页端,烧录模块,这个时候,我们发现日志有报错,把报错的内容发给 AI,让他去解决

14.修改完成,保留代码,然后烧录

这个时候我们的数据已经可以正常的同步上去了,但是 TVOC 值显示异常,这个值确实也是异常,看下代码处理部分,可以对这个值做下修改

15.修改完成之后保留烧录代码,但是遇到了新的问题

显示了温湿度的情况下,TVOC 值会变成 0,显示了 TVOC 值的情况下,温湿度又会变成 0,让 AI 修改一下这个 BUG

16.点击保留,然后烧录固件,这个时候服务器数据正常,温湿度读取正常,屏幕显示正常

那么本次的 AI+iRTU+AirUI+485 设备开发就相当成功了。

17.经过长时间放置,TVOC 值已经正常显示了

四、总结

本文基于Air8000A工业引擎,通过AirUI嵌入式UI框架和iRTU工业通信中间件,在AI智能体(luatos-docs-code-100)的辅助下,成功实现了一套完整的RS485工业环境参数监测系统。
核心成果
硬件层面:利用Air8000A的多路RS485接口,同时接入温湿度和TVOC传感器,通过GPIO控制实现485总线供电管理
软件层面:采用AirUI构建本地可视化界面,实现温度、湿度、TVOC三参数的实时卡片式展示;通过iRTU完成Modbus协议解析和AirCloud数据上云
开发模式层面:验证了"AI+嵌入式"的新范式——开发者通过自然语言描述需求,AI生成AirUI代码框架,人工仅需进行参数微调和逻辑验证,开发效率提升数倍

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐