一、项目规划

使用 Air8000A 整机开发板 + 屏幕,用 iRTU+luatos-docs-code-100 开发一个 iRTU+RS485 温湿度传感器 +RS485 TVOC 的项目
基于 Air8000A 开发板构建工业环境参数监测系统,通过 RS485 接口分别采集温湿度传感器与 TVOC 总挥发性有机物传感器的数据,依托 AirUI 界面在本地 TFT 屏幕上完成环境参数的实时显示,并通过 iRTU 通信将数据上传至 AirCloud 云端平台。

1. AirUI简介

AirUI 是 LuatOS 的核心图形库,基于 LVGL 9.4 版本封装,提供 Lua 语言接口,集成常用组件、事件管理、输入处理及基础视觉主题,可在支持 LuatOS 的设备与 PC 端进行统一的图形界面开发。

1. 推荐搭配exwin UI 窗口管理扩展库 一起使用

2. 当前最新版本为 V1.1.2 支持组件 16 个,组件分类如下:

  • 显示类组件:标签、图片、进度条、表格、曲线图、二维码
  • 交互类组件:标签、图片、开关、按钮、下拉框、消息框
  • 输入类组件:下拉框、输入框 (支持中文输入)、键盘
  • 布局类组件:容器、选项卡、窗口

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 官方设计器进行页面设计

  • 支持中文输入

2. Air8000A规格介绍

Air8000A 是 Air8000 系列适配国内市场的 4G Cat1 模组,搭载 LuatOS 开发环境,具备低功耗特性,同时集成丰富的硬件接口与功能,可满足国内物联网场景的各类应用需求。

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 存储操作

2. 应用场景

1. 智能仪表 / 数显终端
  • 搭配小尺寸 SPI/QSPI 显示屏,通过 AirUI 显示电压、电流、温度、流量等数据。
  • 使用表格、曲线图组件实时刷新数据,支持本地查看与历史曲线展示。
  • 通过 4G Cat.1 网络将数据上传云平台,实现远程抄表与监控。
2. 共享设备 / 自助终端
  • 显示设备状态、使用流程、二维码付款 / 绑定界面。
  • 触控按键实现启动、暂停、查询、设置等操作。
  • 利用 Cat.1 保持联网,实现后台远程管理与状态上报。
3. 工业控制 HMI 面板
  • 作为小型人机交互界面,显示设备运行状态、报警信息、参数设置。
  • 使用按钮、开关、下拉框、输入框实现本地参数配置,支持中文输入。
  • 单模组完成 4G 通信 + 显示 + 控制,无需额外 MCU,降低整机成本。

我们提供一站式物联网解决方案,集成高速通信+外设驱动+UI交互+视觉处理能力,助力客户快速量产落地。 同时实现极致低功耗,相比传统“串口屏+DTU”或安卓方案,我们方案功耗直降50%,成本不足其三分之一。

二、准备软硬件环境

1. 软件环境

1. 准备好 Air8000A 的 iRTU 软件代码

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

固件下载参考:Air8000A 固件

2. 准备好 Luatools 工具

  • Luatools 调试工具, 支持最新固件获取、固件打包、trace 打印、单机烧录等功能
  • 此工具适用于 4G 模组, 4G + GNSS 模组和工业引擎系列。
  • LuaTools 下载调试教程参考:LuaTools 下载调试教程 - 模组资料中心

3. 准备好 iRTU 配置页面和 AirCloud

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

4. AI 工具安装和智能体配置

本方案引入 Trae AI 智能开发工具,本次使用智能体luatos-docs-code-100进行开发。

2. 硬件环境

1. Air8000A 整机开发板

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

2. 温湿度传感器和 TVOC 传感器

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

三、使用 AI 开发

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 控制芯片上电请添加图片描述

2. 放入代码和图片,生成 UI

放入 iRTU 的代码,lib 库,还有 image 图片,iRTU 代码获取:代码;lib 库获取:iRTU-lib;image 图片:图片,图片也可以自行去阿里巴巴图标网站去寻找自己喜欢的,如何导入本地文件夹,可以参考: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 开始修正请添加图片描述

  1. 烧录代码:
    这时候发现有报错,但是屏幕上已经显示出来了内容
    请添加图片描述
    在这里插入图片描述

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

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

在这里插入图片描述

修改完成,展示图片:
在这里插入图片描述

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 帮忙生成数据流在这里插入图片描述

  1. 这个时候 AI 自动生成了,但是格式并不对在这里插入图片描述

  2. 让 AI 按照格式继续修改在这里插入图片描述

  3. 这个时候,输出了一个新的符合 iRTU 数据流的代码在这里插入图片描述

  4. 然后我们把 AI 生成的数据流复制到 iRTU 的发送数据流里面在这里插入图片描述

  5. 然后我们就开始烧录代码在这里插入图片描述

  6. 这个时候可以正常读取出来,但是 TVOC 的值显示的比较异常
    但是通过检查返回数据十六进制 02030219D0F648,16 进制 19D0 是十进制 6608 没问题的,但是经过 AI 查询,这个值明显不太对在这里插入图片描述

  7. 经过和 TVOC 的店家沟通,正常的 TVOC 设备是需要预热 24H 才可以在这里插入图片描述

  8. 这个时候我们的服务器端也可以看到数据有正常上传
    所以数据流上传数据目前是没有什么问题了在这里插入图片描述

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

  10. 但是经过烧录发现,并没有更新
    而且我感觉在数据流里面调用接口去修改,不如直接用 sys.publish 和 sys.subscribe 去处理更简单了,让 AI 用这种方式去修改一下看看吧在这里插入图片描述
    在这里插入图片描述

  11. 修改成功,保留 airui_main 里面的代码
    复制新修改的数据流到网页端,烧录模块,这个时候,我们发现日志有报错,把报错的内容发给 AI,让他去解决在这里插入图片描述
    在这里插入图片描述

  12. 修改完成,保留代码,然后烧录
    这个时候我们的数据已经可以正常的同步上去了,但是 TVOC 值显示异常,这个值确实也是异常,看下代码处理部分,可以对这个值做下修改在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  13. 修改完成之后保留烧录代码,但是遇到了新的问题
    显示了温湿度的情况下,TVOC 值会变成 0,显示了 TVOC 值的情况下,温湿度又会变成 0,让 AI 修改一下这个 BUG在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  14. 点击保留,然后烧录固件,这个时候服务器数据正常,温湿度读取正常,屏幕显示正常
    那么本次的 AI+iRTU+AirUI+485 设备开发就相当成功了。请添加图片描述
    请添加图片描述

  15. 经过长时间放置,TVOC 值已经正常显示了
    请添加图片描述

四、总结

本项目基于 Air8000A 开发板、AirUI 框架、iRTU 与 AirCloud 平台,采用 AI 辅助开发,形成从嵌入式终端到云端的完整开发模式,将需求转化为端云一体的实现方案。这个iRTU+AirUI+Air8000A+AI的项目,支持通信、外设驱动、UI 交互与视觉处理功能,对复杂的物联网设备比较友好。

Logo

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

更多推荐