docs(readme): 丰富并详细更新项目架构与AI时代设计说明
定位: IoT 平台 ↔ 现场工业设备之间的桥接层,基于 矽璓 XiUOS 工业物联网操作系统定制适配 核心能力:4G MQTT 主动上云 + 命令驱动动态点表 + Modbus 实时采集上报 AI 底座:依托 XiUOS「感 / 联 / 控 / 知 / 安」五大框架 + 多内核转换层,具备端侧 AI 推理、脚本化编程与国密安全能力
在 XiUOS 之上,我们将原 webserver 应用从「HTTP 被动式 Web 服务器」升级为「4G MQTT 主动式 XiUOS-NOVA」, 让云端能够远程配置、远程采集、实时收取数据,而无需给每台设备重新烧录/编译固件。
webserver
┌──────────────────────────────────────────────────────────────────┐ │ IoT云平台 (C#) │ │ 业务逻辑 │ 数据管理 │ 前端展示 │ └──────────────────────────────┬───────────────────────────────────┘ │ 4G MQTT 上行/下行 ┌──────────────────────────────▼───────────────────────────────────┐ │ ★ XiUOS-NOVA 物联中间件(本项目) ★ │ │ 心跳/命令/采集/上报 四线程 │ 动态点表 │ Modbus TCP/RTU │ └──────────────────────────────┬───────────────────────────────────┘ │ XiUOS 驱动/协议栈 ┌──────────────────────────────▼───────────────────────────────────┐ │ 现场设备(PLC、电表、传感器) │ └──────────────────────────────────────────────────────────────────┘
一句话定位: IoT 云平台管「业务」,矽璓 XiUOS 管「设备与系统服务」,XiUOS-NOVA 做「桥梁」——三者经 4G MQTT 四主题解耦协作。
┌──────────────────────────────────────────────────────────────────┐ │ IoT 云平台 (C# / 云端 ) │ │ 业务逻辑 / 数据管理 / 前端展示 / 配置下发 / MQTT Broker │ └──────────────────────────────────────────────────────────────────┘ ▲ MQTT 上行: /gw/state 心跳(30s) / /gw/report 数据上报 ▼ MQTT 下行: /gw/cmd 动态点表与命令 / /gw/clear 清除配置 ┌──────────────────────────────────────────────────────────────────┐ │ XiUOS-NOVA 物联中间件 │ │ 运行于 XiUOS 之上的应用层软件, 桥接云平台与现场设备 │ ├──────────────────────────────────────────────────────────────────┤ │ [上行接口] 主动 CONNECT 云 MQTT Broker, PUB 上报 │ │ - /gw/state 心跳: 序列号 + 在线状态 (30s) │ │ - /gw/report 数据: 点位 value/unit/status/name │ │ [下行接口] 阻塞 SUB 云端主题, 热更新与响应 │ │ - /gw/cmd 动态点表下发 + 命令触发即时上报 │ │ - /gw/clear 清除 Flash 配置, 恢复默认 │ ├──────────────────────────────────────────────────────────────────┤ │ [核心引擎] 四线程命令驱动模型 │ │ 心跳线程 / 命令线程 / Modbus 采集线程 / 数据上报线程 │ │ [采集与解析] │ │ Modbus TCP/RTU / 功能码 1/2/3/4 / 11 种数据类型 │ │ 小数位缩放 / FLOAT 大端序修复 / 采集队列同步 │ │ [配置与持久化] │ │ 动态点表热更新(零编译) / cJSON / Flash 持久化 │ └──────────────────────────────────────────────────────────────────┘ ▲ 调用 XiUOS 能力: 驱动 / 协议栈 / 系统服务 ▼ Modbus 采集 ┌──────────────────────────────────────────────────────────────────┐ │ 矽璓 XiUOS 工业物联网操作系统 (设备侧 / 嵌入式 OS 平台) │ ├──────────────────────────────────────────────────────────────────┤ │ 应用层 Applications: 网关应用 / 业务任务 │ │ 框架层 Framework: │ │ 连接框架 (4G adapter/以太网) / 控制框架 (Modbus TCP/RTU) │ │ 感知框架 / 知悉框架 / 安全框架 │ │ 系统服务层 SysArch: 任务线程 / 信号量互斥 / VFS / 时钟 │ │ 驱动层 BSP/HAL: 4G(EC200A) / UART/RS485 / SDIO / 以太网 │ │ 转换层 transform_layer + 内核 (XiZi / NuttX / RT-Thread) │ │ 屏蔽底层差异, 支持 ARM / RISC-V 多架构 │ └──────────────────────────────────────────────────────────────────┘ ▲ Modbus TCP (网口:502) ▼ Modbus RTU (RS485:9600,8N1) ┌──────────────────────────────────────────────────────────────────┐ │ 现场设备层 Physical │ │ PLC / 电表与仪表 / 传感器 / 光伏 / 储能 / 充电桩 │ │ 接入: Modbus TCP(网口:502) 或 Modbus RTU(RS485:9600,8N1) │ └──────────────────────────────────────────────────────────────────┘
分层职责
ganwei_adapter.c/.h
Framework/
arch/sysarch/
数据流(命令驱动)
① 云端下发点表 平台 ──PUB /gw/cmd/{devid}────► XiUOS-NOVA ② 热更新采集策略 XiUOS-NOVA ──GwAdapterLoadConfig──► 点表生效(零编译) ③ 采集现场数据 XiUOS-NOVA ──Modbus TCP/RTU───────► 现场设备 ④ 数据回传上云 XiUOS-NOVA ──PUB /gw/report/{devid}► 平台 ⑤ 心跳保活 XiUOS-NOVA ──PUB /gw/state/{devid}─► 平台 (30s)
/gw/state
/gw/cmd
/gw/report
/gw/clear
AI 落地到边缘现场,真正的难点往往不在模型本身,而在四个问题上:数据从哪来、模型往哪跑、逻辑怎么改、结果怎么信。XiUOS 以「极简内核 XiZi + 工业物联框架」为骨架,用「感 / 联 / 控 / 知 / 安」五大框架加多内核转换层,恰好对这四个问题给出了工程化的答案 —— 这也是 XiUOS-NOVA 能「不重烧固件、由云端远程重塑」的根本原因。
Framework/sensor
Framework/connection
Framework/control
Framework/knowing
knowing_app/k210_detect_entry
lib/pikapython
lib/JerryScript
Framework/security/crypto
XiUOS 采用「极简的微型实时操作系统内核 XiZi + 其上的工业物联框架」的分层结构。AI 能力归属「知悉(knowing)」框架,通过 Kconfig 宏按需装配:
knowing/Kconfig
SUPPORT_KNOWING_FRAMEWORK
framework_init.c
struct InitDesc[]
#ifdef SUPPORT_*_FRAMEWORK
一台只做采集的网关可以完全不带 AI;一台要跑视觉检测的终端可单独打开 KPU 与图像处理 —— 同一套代码,按算力与场景「拼装」。
AI 芯片生态碎片化,ARM Cortex-M、RISC-V、K210 NPU 各有各家。XiUOS 通过转换层(transform_layer) 屏蔽内核差异,应用与框架代码基本不改:
nuttx
rtthread
xizi
CONFIG_ADD_XIZI_FEATURES
CONFIG_ADD_NUTTX_FEATURES
CONFIG_ADD_RTTHREAD_FEATURES
模型与应用不绑定特定芯片,换硬件不必重写 AI 逻辑。
知悉框架不做「单一框架绑定」,而是把主流端侧推理与加速方案统一纳管:
Framework/knowing/tensorflow-lite
Framework/knowing/cmsis_5/{NN,DSP}
Framework/knowing/nnom
Framework/knowing/kpu
knowing_app/iris_ml_demo
Framework/knowing/filter
knowing_app/k210_fft_test
image_processing/TJpgDec
已落地的代表性例程(均位于 APP_Framework/Applications/knowing_app):
APP_Framework/Applications/knowing_app
cmsisnn-cifar10
cmsisnn_vegetable_classify
mnist
k210_detect_entry
iris_ml_demo
nnom_demo
算力够就跑深度网络,算力紧就用经典 ML,同一框架无需更换技术栈。
这是 XiUOS 最贴合 AI 时代的一点 —— 把「变化的」与「不变的」彻底解耦:
*.kmodel
*.json
pika_app_init / pika_app_run / pika_app_load_script("/app/main.py")
main.c
pikaPythonInit()
FrameworkInit()
云端 / 现场可以像「改配置」一样更新 AI 模型与业务规则 —— 这正是 XiUOS-NOVA「命令驱动动态点表」能够成立的同源设计哲学:策略与固件解耦。
AI 的上限取决于数据。XiUOS 在边缘侧备齐了数据全链路组件:
xizi_port
rtthread_port
边缘不仅能「算」,还能「存」与「看」,为数据回流、断点续传、离线推理留足空间。
工业 AI 最稀缺的是可信数据,而这正是 XiUOS 的立身之本:
modbus_tcp
modbus_uart
AI 的输入不是「造」出来的,而是从真实工业现场「采」出来的 —— 这让运行在 XiUOS 上的 AI 天然贴近工业场景。
能源、电力等 AI 落地场景对安全合规要求极高。XiUOS 安全框架内置国密 SM3 / SM4 / SM9 与 mbedTLS(含 ECC 等),为设备身份、数据上行、模型下发的端到端可信提供基础。
工业 AI 要落地,先要「可信」 —— 安全不是补丁,而是框架的一等公民。
XiUOS-NOVA 的成果,恰是上述设计的具象化:
一句话:NOVA 证明了 XiUOS 的架构不仅「能连设备」,更能「承载智能」。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
虚拟电厂物联 · XiUOS-NOVA
当前效果 / What We Achieved
在 XiUOS 之上,我们将原
webserver应用从「HTTP 被动式 Web 服务器」升级为「4G MQTT 主动式 XiUOS-NOVA」, 让云端能够远程配置、远程采集、实时收取数据,而无需给每台设备重新烧录/编译固件。架构速览
分层架构详解
分层职责
ganwei_adapter.c/.hFramework/、arch/sysarch/数据流(命令驱动)
核心成果
/gw/state、/gw/cmd、/gw/report、/gw/clear)双向通信,模块内置 MQTT,掉线自动重连并重新订阅面向 AI 时代的设计 / AI-Ready by Design
设计总览:AI 四大诉求 → XiUOS 的设计应答
Framework/sensor、Framework/connection、Framework/controlFramework/knowingknowing_app/k210_detect_entry、lib/pikapython、lib/JerryScriptFramework/security/crypto一、框架化装配:AI 能力「按需裁剪」,零侵入
XiUOS 采用「极简的微型实时操作系统内核 XiZi + 其上的工业物联框架」的分层结构。AI 能力归属「知悉(knowing)」框架,通过 Kconfig 宏按需装配:
knowing/Kconfig提供SUPPORT_KNOWING_FRAMEWORK总开关,其下再细分 TFLite、CMSIS-DSP+NN、NNoM、KPU、滤波、图像、OTA 等子模块;framework_init.c以表驱动(struct InitDesc[]+#ifdef SUPPORT_*_FRAMEWORK)统一初始化,未启用的框架在编译期即被裁剪,不占用 ROM / RAM。二、多内核融合:AI 算力「跨指令集可移植」
AI 芯片生态碎片化,ARM Cortex-M、RISC-V、K210 NPU 各有各家。XiUOS 通过转换层(transform_layer) 屏蔽内核差异,应用与框架代码基本不改:
nuttx、rtthread、xizi三套适配,以CONFIG_ADD_XIZI_FEATURES/CONFIG_ADD_NUTTX_FEATURES/CONFIG_ADD_RTTHREAD_FEATURES区分;三、端侧推理「全家桶」:覆盖从经典 ML 到深度网络的全算力谱
知悉框架不做「单一框架绑定」,而是把主流端侧推理与加速方案统一纳管:
Framework/knowing/tensorflow-liteFramework/knowing/cmsis_5/{NN,DSP}Framework/knowing/nnomFramework/knowing/kpu、knowing_app/k210_detect_entryknowing_app/iris_ml_demoFramework/knowing/filter、knowing_app/k210_fft_test、image_processing/TJpgDec已落地的代表性例程(均位于
APP_Framework/Applications/knowing_app):cmsisnn-cifar10、cmsisnn_vegetable_classify—— CMSIS-NN 图像分类;mnist—— TensorFlow Lite Micro 手写数字识别;k210_detect_entry—— MobileNet-YOLOv2 人脸 / 安全帽 / 闯入检测;iris_ml_demo—— 三种经典分类器的端侧推理;nnom_demo—— NNoM 手写数字识别(可选 CMSIS-NN 后端)。四、「模型 + 脚本」双动态:固件不重烧,AI 与逻辑在线迭代
这是 XiUOS 最贴合 AI 时代的一点 —— 把「变化的」与「不变的」彻底解耦:
*.kmodel与*.json(后处理配置)放在 SD 卡上、运行期读取,换模型只需换卡,无需重新编译烧录。pika_app_init / pika_app_run / pika_app_load_script("/app/main.py")完整生命周期,并支持从文件系统加载脚本;main.c中pikaPythonInit()与FrameworkInit()并列,作为一等启动项。五、边缘数据底座:AI 的「粮草」
AI 的上限取决于数据。XiUOS 在边缘侧备齐了数据全链路组件:
xizi_port/rtthread_port双适配)与嵌入式数据库 FlashDB,让边缘具备「结构化存储 + 掉电不丢」的能力;六、工业基因:AI 的高质量数据入口
工业 AI 最稀缺的是可信数据,而这正是 XiUOS 的立身之本:
modbus_tcp/modbus_uart双通路;七、安全合规:工业 AI 的「可信底座」
能源、电力等 AI 落地场景对安全合规要求极高。XiUOS 安全框架内置国密 SM3 / SM4 / SM9 与 mbedTLS(含 ECC 等),为设备身份、数据上行、模型下发的端到端可信提供基础。
八、NOVA 是这套 AI-Ready 架构的实战印证
XiUOS-NOVA 的成果,恰是上述设计的具象化:
第三方开源组件 / Third-Party Open Source