Skip to content

RK3566 智能运维边缘网关项目方向

后续 Linux 项目方向可以从“普通物联网网关”升级为:

RK3566 智能运维边缘网关
= 多设备日志接入
+ 本地异常分类
+ Agent 诊断
+ 受控 Runbook 动作
+ 云端大模型协同

这不是单纯做一个 RS485 -> MQTT 网关,而是把网关变成现场设备的“运维助手”:

采集日志
识别异常
触发诊断
生成报告
执行低风险恢复动作
高风险动作人工确认

目标不是一开始吹“全自动修复 80% 故障”,而是更工程化地定义为:

80% 常见故障可识别
50% 常见故障可给出明确诊断建议
20% 低风险故障可受控自动恢复
高风险动作必须人工确认

为什么这个方向比普通网关更值得做

Section titled “为什么这个方向比普通网关更值得做”

普通网关通常只做:

协议转换
数据采集
MQTT / HTTP 上传
本地缓存

这些当然有价值,但简历表达容易变成“又一个物联网网关”。

智能运维边缘网关多了一层产品价值:

现场设备出问题时,网关不只是转发数据,而是帮助定位问题。
一线人员看不懂日志时,Agent 可以给出诊断报告。
常见恢复动作可以沉淀成可审计的 Runbook。
低风险动作可以自动执行,高风险动作保留人工确认。

这更接近企业真正愿意付费的点:

减少现场排查成本
缩短故障恢复时间
降低高级工程师介入频率
减少误操作
沉淀专家经验

这个想法不是凭空自嗨。市场上已经有几类成熟方向,只是它们通常没有合并成一个面向嵌入式设备的轻量边缘项目。

EMQX Neuron 定位为工业 IoT 连接网关,强调连接工厂资产、采集 100+ 工业协议、边缘处理,并通过 MQTT 桥接 OT 和 IT。它的产品关键词包括:

industrial protocols
edge computing
MQTT bridge
offline buffering
edge AI / ML
predictive maintenance

这说明“多协议接入 + 边缘处理 + 云端转发”是真实需求。

但它更多是工业数据管道和协议网关,不是面向嵌入式设备日志的 Agent 诊断系统。

ThingsBoard Edge 的定位是把平台能力部署到边缘,在数据源附近处理数据,降低云端成本,并在连接异常时维持本地运行。

它提示我们:边缘项目不要只做“上传云端”,而要考虑:

本地处理
本地告警
边缘缓存
断网继续运行
云端同步
设备管理
OTA
RPC / 设备命令

这和我们的方向一致,但 ThingsBoard 更偏通用 IoT 平台,我们可以把重点压到“嵌入式设备日志诊断与受控动作”。

Siemens Industrial Edge 强调在工厂现场部署边缘应用,实现 IT/OT 集成、数据分析、智能维护和 AI 生产优化。

这说明工业场景已经接受:

边缘计算
现场应用部署
智能维护
AI 模型下沉
IT / OT 融合

我们的项目不需要复制 Siemens 这种完整生态,而是取其中对求职最有价值的部分:

Linux 边缘应用
设备接入
日志诊断
本地动作
云边协同

Splunk 对 AIOps 的描述是:用机器学习和分析处理大量日志、指标和事件,做异常检测、事件关联、预测和辅助修复,降低告警噪声和 MTTR。

这和我们的“日志接入 + 本地分类 + Agent 诊断”高度相关。

区别是:

传统 AIOps 多面向 IT / 云 / 服务端系统。
我们的项目面向 MCU、RTOS、Wi-Fi 模组、RS485 设备、嵌入式终端。

这就是差异化。

Event-Driven Ansible、Rundeck 这类工具已经证明:事件触发后执行标准化动作、保留审计记录、降低人工操作成本,是成熟运维模式。

我们可以借鉴它们的思想,但不要照搬 IT 服务器场景。

嵌入式设备的 Runbook 应该是:

读取寄存器
重启采集链路
重新连接 MQTT
重置通信模块
清错误码
拉取最近日志
触发安全停机
发起 OTA 回滚

重点是:动作必须受控、可审计、可回滚。

项目名可以暂定为:

EdgeOps Gateway

中文描述:

基于 RK3566 的嵌入式设备智能运维边缘网关

一句话:

基于 Orange Pi 3B 实现一套面向嵌入式设备的智能运维边缘网关,支持 UART/RS485/MQTT/WebSocket 多源日志接入,本地 MiniLM 类小模型进行异常分类,结合 pi-agent 与 DeepSeek 类大模型完成故障诊断、报告生成和受控恢复动作。

这里的 DeepSeek 先作为远程大模型能力,不在 Orange Pi 3B 本地跑大模型。Orange Pi 负责:

采集
缓存
分类
检索
调度 Agent
执行受控动作
保存审计

云端或远程 API 负责:

复杂根因分析
自然语言报告
多轮诊断推理
知识总结

当前 ESP32 云端架构里已经有一些很有价值的东西:

WebSocket Session
音频 / 控制协议
pi-agent
云端模型调用
设备状态
日志和错误码

Linux 网关项目可以复用这个思路,但把输入从“语音会话”扩展成“设备日志和状态”:

ESP32 云端项目:
设备音频 -> WebSocket -> 云端 Session -> Agent -> TTS/控制
EdgeOps Gateway:
设备日志 -> 网关 Collector -> 本地分类 -> Agent -> 诊断报告/受控动作

本质上都是:

设备接入
状态归一化
事件触发
Agent 调度
工具调用
结果反馈

这能让你的旧项目和新 Linux 项目形成连续性,而不是重新开一条无关路线。

设备层
STM32 / ESP32 / RS485 传感器 / Wi-Fi 模组 / BLE 设备
接入层
UART / RS485 / Modbus / MQTT / WebSocket / BLE / TCP
网关基础层
Collector
Parser
Normalizer
SQLite
MQTT Client
Web API
Web UI
智能诊断层
规则引擎
MiniLM / fastText / TF-IDF 分类模型
日志向量检索
pi-agent
DeepSeek 类远程大模型
诊断 Skill
动作层
读取寄存器
写白名单寄存器
重启通信链路
重置设备
清错误码
触发 OTA / 回滚
安全层
权限
动作白名单
人工确认
审计日志
回滚策略

Orange Pi 3B 2G 内存不适合本地跑大 LLM。

更实际的本地智能路线:

第一层:规则 / 正则
第二层:TF-IDF + Logistic Regression
第三层:fastText / MiniLM 小模型
第四层:远程 DeepSeek 做复杂诊断

本地模型只做:

日志分类
异常触发
故障标签
相似案例召回
置信度评分

不要让本地小模型承担:

复杂推理
长报告生成
跨设备根因分析
未知故障完全判断

这样更适合 RK3566 的资源条件,也更容易做出稳定 Demo。

可以先设计这些技能:

LogPatternSkill:识别日志模式
NetworkSkill:诊断 Wi-Fi、TCP、MQTT、DNS
ModbusSkill:解析 Modbus 异常码和寄存器
RTOSSkill:分析看门狗、栈溢出、heap low
FirmwareSkill:检查固件版本、配置、OTA 状态
PowerSkill:分析电源、掉电、低电压日志
RegisterSkill:读取或写入白名单寄存器
RunbookSkill:执行标准恢复流程
ReportSkill:生成故障报告

每个 Skill 必须有清晰边界:

输入是什么
输出是什么
能不能执行动作
动作风险等级是多少
是否需要人工确认
是否写审计日志

不能让 Agent 直接随便控制设备。

建议分成:

L0:只采集日志
L1:自动分类,只给建议
L2:Agent 生成诊断报告,人工确认
L3:自动执行低风险动作
L4:高风险动作必须人工确认
L5:全自动闭环,早期不做

第一版只做到:

L2 + 少量 L3

可以自动执行:

重新连接 MQTT
重启采集任务
重新打开串口
拉取设备状态
读取寄存器

必须人工确认:

写控制寄存器
设备关停
设备复位
OTA / 回滚
恢复出厂设置

这个边界非常重要。否则项目会显得不专业,甚至危险。

第一阶段:被动日志采集。

Orange Pi 通过 UART / MQTT / WebSocket 收集 STM32 和 ESP32 日志
统一日志 schema
SQLite 保存
Web 页面查看
支持按 device_id / level / module / time 查询

第二阶段:本地异常识别。

规则识别 timeout / crc error / watchdog / heap low / disconnect
MiniLM 或传统模型做日志分类
生成 fault_type / severity / confidence

第三阶段:Agent 只读诊断。

Agent 读取最近日志
调用 NetworkSkill / RTOSSkill / ModbusSkill
输出故障原因、证据、建议动作
不执行控制动作

第四阶段:受控恢复动作。

低风险动作自动执行
高风险动作人工确认
所有动作写审计日志
失败可回滚或至少可解释

第五阶段:产品化展示。

设备资产管理
故障知识库
运维报告
动作审批
诊断历史
远程配置

可以先做 10 类,方便 Demo 和简历讲解:

ESP32 Wi-Fi disconnect
MQTT keepalive timeout
WebSocket session reset
RS485 CRC error
Modbus exception
STM32 watchdog reset
heap low
task stack overflow
sensor value out of range
firmware version mismatch

每类故障都要准备:

触发方式
日志样例
分类标签
诊断报告
建议动作
是否允许自动恢复

第一,不要一开始做大平台。

先做 STM32 + ESP32 两类设备
先做 10 类故障
先做一个闭环

第二,不要一上来本地大模型。

本地做分类和召回
远程大模型做复杂诊断

第三,不要让 Agent 直接控制设备。

动作白名单
风险等级
人工确认
审计日志

第四,不要只做页面。

真正有价值的是采集、分类、诊断、动作闭环

第五,不要忽略日志 schema。

建议统一成:

{
"device_id": "esp32_001",
"ts": 1710000000,
"level": "WARN",
"module": "network",
"code": "MQTT_KEEPALIVE_TIMEOUT",
"message": "mqtt keepalive timeout",
"raw": "...",
"fw_version": "1.0.3",
"transport": "mqtt"
}

没有统一 schema,后面的分类、检索和 Agent 诊断都会很乱。

可以写成:

基于 RK3566 Linux 平台设计并实现嵌入式设备智能运维边缘网关,支持 UART/RS485/MQTT/WebSocket 多源日志采集和统一建模;基于规则与 MiniLM 类轻量文本模型实现本地异常分类,结合 Agent 工具调用完成网络、RTOS、Modbus、固件版本等故障诊断;设计受控 Runbook 动作接口,支持低风险自动恢复和高风险人工确认,并通过 SQLite、Web 管理台和审计日志实现可追溯运维闭环。

面试时主线是:

我不是单纯做网关,而是把网关做成现场设备运维入口。

后续 Orange Pi 3B 项目主线建议确定为:

智能运维边缘网关

第一目标不是做完整工业平台,而是先做一个可以演示的闭环:

设备日志接入
-> 本地分类
-> Agent 诊断
-> 报告生成
-> 低风险动作恢复
-> 审计记录

这个方向能同时覆盖:

Linux
网络通信
RS485 / Modbus
MQTT / WebSocket
日志系统
本地模型
Agent
设备控制
工业运维

比单独做“物联网网关”更有差异化,也比直接冲 Linux 内核驱动更适合你当前积累。