一、项目规划
使用 Air8000A 整机开发板 + 屏幕,用 iRTU+luatos-docs-code-100 开发一个 iRTU+RS485 温湿度传感器 +RS485 TVOC 的项目
1.1AirUI简介
AirUI是基于 LVGL 9.4 版本进行图形层封装的 LuatOS 核心库,把常用组件、事件管理、输入和基础视觉主题封装为更易上手的 Lua 接口,便于在支持 LuatOS 的设备和 PC 上统一开发。、
1.1.1推荐搭配exwin UI 窗口管理扩展库 一起使用
1.1.2当前最新版本为 V1.1.2 支持组件 16 个,组件分类如下:
- 显示类组件:标签、图片、进度条、表格、曲线图、二维码
- 交互类组件:标签、图片、开关、按钮、下拉框、消息框
- 输入类组件:下拉框、输入框 (支持中文输入)、键盘
- 布局类组件:容器、选项卡、窗口
1.1.3主要特性
组件丰富:内置丰富标签类型、图片显示、按钮、开关、进度条、下拉框、输入框、键盘、表格、容器、选项卡、窗口等核心组件;
更低成本:可选 hzfont 矢量字体支持 12-255 号字体,节省字库成本;
开发高效:用更少代码快速搭建可量产的触控界面,参考示例代码能快速掌握原理;
验证便捷:提供 LuatOS windows桌面系统 快速验证效果,无需烧录就能看到代码运行效果;
支持 LuatOS windows桌面系统 (SDL2) 和真机两种模式:
当前LuatOS windows桌面系统支持Lottie动画和键盘输入;
PC端仅支持window 10/11系统;
真机支持Air8101和Air8000系列、Air780EHM/EGH/EHV等;
支持使用设计器设计页面和 XML 导入,能够快速搭建页面原型与交互逻辑。
当前AirUI 设计器开发中,目前可以使用 LVGL 9.4 官方设计器进行页面设计
支持中文输入
1.2 Air8000A规格介绍
Air8000A 是 Air8000 系列适配国内市场的 4G Cat1 模组,搭载 LuatOS 开发环境,具备低功耗特性,同时集成丰富的硬件接口与功能,可满足国内物联网场景的各类应用需求。
1.2.1 基础参数
- Air8000A:五合一 SoC 引擎
- 核心功能:4G+Wi-Fi+ 蓝牙 +GNSS 定位 + 内置 G-sensor
- 存储空间:Air8000 全系列产品的 Flash 和 RAM 均为 8MB**
- 多网融合:支持 4G、Wi-Fi、以太网无缝切换
- 定位能力:支持多系统联合定位,定位精度 <2m;内置 G-sensor,有效抑制静态漂移
- 近场通讯:内置低功耗 WiFi 6(支持 AP 和 STA)和 BLE 5.4,确保设备在各种网络环境下都能稳定连接
- 外设控制:4 个串口;2 路 I2C;1 路通用 SPI;4 路 PWM;4 路 ADC;1 路 CAN;1 路 QSPI
- UI 能力:支持 SPI LCD;支持方便开发的显示界面,包括触摸和显示
- 视觉能力:支持 30W 像素摄像头
- 存储扩展:支持外挂 Nor Flash/Nand Flash,RC522 射频模块、OTP 存储操作
1.2.2 应用场景
a. 智能仪表 / 数显终端
- 搭配小尺寸 SPI/QSPI 显示屏,通过 AirUI 显示电压、电流、温度、流量等数据。
- 使用表格、曲线图组件实时刷新数据,支持本地查看与历史曲线展示。
- 通过 4G Cat.1 网络将数据上传云平台,实现远程抄表与监控。
b. 共享设备 / 自助终端
- 显示设备状态、使用流程、二维码付款 / 绑定界面。
- 触控按键实现启动、暂停、查询、设置等操作。
- 利用 Cat.1 保持联网,实现后台远程管理与状态上报。
c. 工业控制 HMI 面板
- 作为小型人机交互界面,显示设备运行状态、报警信息、参数设置。
- 使用按钮、开关、下拉框、输入框实现本地参数配置,支持中文输入。
- 单模组完成 4G 通信 + 显示 + 控制,无需额外 MCU,降低整机成本。
我们提供一站式物联网解决方案,集成高速通信+外设驱动+UI交互+视觉处理能力,助力客户快速量产落地。 同时实现极致低功耗,相比传统“串口屏+DTU”或安卓方案,我们方案功耗直降50%,成本不足其三分之一。
二、准备软硬件环境
2.1 软件环境
2.1.1 准备好 Air8000A 的 iRTU 软件代码
软件代码地址为:iRTU 源码,这个地址为 irtu_ui 的初始代码。
固件下载参考:Air8000A 固件 。
2.1.2 准备好 Luatools 工具
Luatools 调试工具, 支持最新固件获取、固件打包、trace 打印、单机烧录等功能
此工具适用于 4G 模组, 4G + GNSS 模组和工业引擎系列。
LuaTools 下载调试教程参考:LuaTools 下载调试教程 - 模组资料中心
2.1.3 准备好 iRTU 配置页面和 AirCloud
iRTU 的配置服务器地址为:iRTU 配置页面
2.1.4 AI 工具安装和智能体配置
我们引入了 Trae AI 智能开发工具,我们本次使用智能体luatos-docs-code-100进行开发。
2.2 硬件环境
1. Air8000A 整机开发板
硬件环境:Air8000A 整机开发板硬件环境介绍
2. 温湿度传感器和 TVOC 传感器
本次用的是 485 的温湿度传感器和 TVOC 传感器,Turnkey 开发板里面的套餐是 i2c 的,因为 iRTU 目前只支持串口传输,所以我们使用 485 的温湿度传感器和 TVOC 传感器
三、使用 AI 开发
3.1 先配置 iRTU 的基本参数:
3.1.1串口配置
串口配置功能如下,Air8000A 的开发板使用的 485 串口号为串口 1,转向脚为 GPIO17,485 的延迟时间设置为 20000us,9600 波特率填 20000。这个是经验值,其余波特率可以参考这个波特率,根据比例自行计算,如 4800 波特率是 20000*9600/4800 = 40000;

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

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

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

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

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

2. AI 的创建结果


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

a.烧录代码:
这时候发现有报错,但是屏幕上已经显示出来了内容


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

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

修改完成,展示图片:

5. 还是没有显示图片,继续让 AI 微调
a.这个时候,图片还是没有显示,通过日志看到了无法显示主界面,容器或 airui 对象不存在

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

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


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

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

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

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

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


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


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

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


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

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

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 框架、iRTU 与 AirCloud 平台,采用 AI 辅助开发,形成了从嵌入式终端到云端的完整开发模式,可将需求转化为端云一体的实现方案,提升环境监测系统的交付效率与运行稳定性。
LuatOS 提供一体化物联网开发能力,集成高速通信、外设驱动、UI 交互与视觉处理功能,可支持客户快速完成产品开发;该方案功耗低于传统串口屏加 DTU 方案及安卓方案约一半,硬件成本约为上述方案的三分之一左右。