一、项目规划基于Air8000A整机开发板及配套TFT屏幕使用iRTU工业通信中间件与luatos-docs-code-100开发工业环境参数监测项目具体内容如下通过Air8000A的RS485接口采集温湿度传感器输出的数据通过Air8000A的RS485接口采集TVOC总挥发性有机物传感器输出的数据利用AirUI嵌入式UI框架在本地TFT屏幕上实时显示采集到的温湿度、TVOC环境参数通过iRTU工业通信中间件将采集到的环境参数上传至AirCloud云端平台。使用 Air8000A 整机开发板 屏幕用 iRTUluatos-docs-code-100 开发一个 iRTURS485 温湿度传感器 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 RAM4MB 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 模组和工业引擎系列。2.1.3 准备好 iRTU 配置页面和 AirCloudiRTU 的配置服务器地址为iRTU 配置页面AirCloud 的地址为iot.luatos.com2.1.4 AI 工具安装和智能体配置本次使用的智能体是luatos-docs-code-1002.2 硬件环境2.2.1 Air8000A 整机开发板硬件环境Air8000A 整机开发板硬件环境介绍2.2.2 温湿度传感器和 TVOC 传感器本次用的是 485 的温湿度传感器和 TVOC 传感器Turnkey 开发板里面的套餐是 i2c 的因为 iRTU 目前只支持串口传输所以我们使用 485 的温湿度传感器和 TVOC 传感器三、使用 AI 开发3.1 先配置 iRTU 的基本参数3.1.1 串口配置串口配置功能如下Air8000A 的开发板使用的 485 串口号为串口 1转向脚为 GPIO17485 的延迟时间设置为 20000us,9600 波特率填 20000。这个是经验值其余波特率可以参考这个波特率根据比例自行计算如 4800 波特率是 20000*9600/4800 400003.1.2 网络通道配置为 AirCloud其中AuthKey 值可以去通过 AirCloud 平台对应模块的项目去获取测试的设备在 test1 项目下所以使用的是第一个 Key 值3.1.3 预置信息在预置信息里面配置的是发送的 485 数据本次发送的数据第一条是发送给 TVOC 传感器的数据第二条是发送给温湿度传感器的数据中间间隔 1 秒3.1.4 任务任务里面打开 GPIO16该操作是给 485 控制芯片上电3.1.5 数据流数据流我们等待后续用 AI 生成先暂时不配置3.2 放入代码和图片生成 UI放入 iRTU 的代码lib 库还有 image 图片iRTU 代码获取代码lib 库获取iRTU-libimage 图片图片图片也可以自行去阿里巴巴图标网站去寻找自己喜欢的https://www.iconfont.cn/。如何导入本地文件夹可以参考https://docs.trae.cn/ide/get-started-with-trae#5dd7a0fb3.2.1 第一个任务1、我现在的 image 里面放了 3 个图片分别是温度湿度还有 tvoc你现在利用这三张图片结合 airui 功能给我用容器先创建一个大的框架然后做三个小的容器分别是温度湿度还有 tvoc做完之后放到我的 iRTU 项目里2、AI 的创建结果AI 第一次没有生成代码然后我们询问 AI:代码呢然后 AI 开始生成 airui_main.lua 的代码这时候我们发现 AI 的屏幕大小是错误的我们纠正下 AI3、AI 开始修正烧录代码这时候发现有报错但是屏幕上已经显示出来了内容添加图片注释不超过 140 字可选但是我们想把这个做成横屏的而且图片也没显示出来这个时候我们发现图片的路径其实是错误的这个路径问题需要提前给 AI 说一下不然 AI 没办法判断这个图片路径是脚本区路径4、开始针对问题询问问题让 AI 修改修改完成展示图片5、还是没有显示图片继续让 AI 微调这个时候图片还是没有显示通过日志看到了无法显示主界面容器或 airui 对象不存在看了下代码经过分析能显示出来屏幕的话那么 airui.show 应该就是不存在的然后让 AI 去分析一下去修改一下这一步在使用上其实修改不修改都没什么问题。不影响使用但是为了代码规范还是让 AI 去修改一下吧6、显示出来图片了但是大小显示不完全而且代码有报错继续让 AI 去修改调试让 AI 去修改报错然后去修改图片修复完成点击保留然后继续烧录7、代码修复完成没有报错且图片显示正常经过 AI 修复现在代码已经可以正常运行没有报错图片和屏幕也显示正常但是我想标题的环境检测系统字体稍微大一些且居中显示下面的系统正常运行中也大一些AI 修改完成烧录固件8、发现字体没有改变继续让 AI 修改这个时候下面的字体已经变大了但是环境检测系统没有改变也没有居中让 AI 继续去修改这个时候已经修改成了正确的常量但是发现其他的也没有修改继续让 AI 把所有的都修改了修改完成点击保留然后烧录烧录之后正常显示所有内容都居中显示了但是环境检测的字体没有改变继续让 AI 修复AI 修改完成发现字体的 Key 值是用的 size实际上应该是 font_size,AI 开始修改这个问题然后把所有的字体都做了修改点击保留然后开始烧录烧录完成图片看起来没有什么太大问题9、UI 调试完成至此我们的 UI 已经调试完成现在开始调试数据流3.3 数据流的处理1.把传感器手册的交互数据发给 AITVOC 的通讯协议实例以及解释2.温湿度传感器的通讯协议以及数据处理方式把图片和文案喂给 AI然后开始让 AI 帮忙生成数据流3.这个时候 AI 自动生成了但是格式并不对4.让 AI 按照格式继续修改5.这个时候输出了一个新的符合 iRTU 数据流的代码6.然后我们把 AI 生成的数据流复制到 iRTU 的发送数据流里面7.然后我们就开始烧录代码8.这个时候可以正常读取出来但是 TVOC 的值显示的比较异常但是通过检查返回数据十六进制 02030219D0F64816 进制 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 修改一下这个 BUG16.点击保留然后烧录固件这个时候服务器数据正常温湿度读取正常屏幕显示正常那么本次的 AIiRTUAirUI485 设备开发就相当成功了。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 代码框架人工完成参数调整与逻辑验证开发效率显著提升。