Iotgateway技术手册-6. 数据流程

6. 数据流程

IoT Gateway 中的数据流程主要包括两个方面:数据采集流程和 RPC 命令流程。了解这些流程有助于理解网关的工作原理和数据处理机制。

6.1 数据采集流程

数据采集流程是网关的核心功能之一,负责从设备采集数据并上传到云端平台。

6.1.1 数据采集流程概述

  1. 设备线程启动:系统启动时,DeviceService 为每个启用的设备创建一个 DeviceThread

  2. 设备连接:DeviceThread 尝试连接设备

  3. 数据采集:按照设定的采集周期,调用驱动的采集方法获取设备数据

  4. 数据处理:对采集到的数据进行处理,包括表达式计算、数据转换等

  5. 数据上传:将处理后的数据通过 MQTT 上传到云端平台

  6. 状态更新:更新设备状态和变量值

6.1.2 数据采集详细流程

复制代码
┌─────────────────────────────────────────────────────────────────┐
│                         DeviceThread                           │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        检查设备连接状态                         │
└─────────────────────────────────────────────────────────────────┘
            │
            ├─ 未连接 ──► ┌─────────────────────────────────────┐
            │             │            尝试连接设备              │
            │             └─────────────────────────────────────┘
            │                         │
            │                         └─ 连接失败 ──► 记录错误日志
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        调用驱动采集方法                         │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        处理采集到的数据                         │
│  - 表达式计算                                                   │
│  - 数据转换                                                     │
│  - 数据验证                                                     │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        检查数据变化                             │
└─────────────────────────────────────────────────────────────────┘
            │
            ├─ 数据未变化 ──► 跳过上传
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        上传数据到 MQTT 服务器                   │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        更新设备状态和变量值                     │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        等待下一个采集周期                       │
└─────────────────────────────────────────────────────────────────┘
            │
            ▼
┌─────────────────────────────────────────────────────────────────┐
│                        重复采集流程                             │
└─────────────────────────────────────────────────────────────────┘

6.1.3 数据采集代码实现

复制代码
// 设备线程主循环
Task.Run(() =>
{
    while (true)
    {
        if (tokenSource.IsCancellationRequested)
        {
            _logger.LogInformation($"停止线程:{_device.DeviceName}

文档版本 :1.0 更新日期 :2025-11-29 编写人员:辉为科技

相关推荐
程序猿DD2 天前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
molaifeng3 天前
深入 MQTT 协议底层:构建可靠物联网通信的关键机制
mqtt·iot
tryxr4 天前
Spring Cloud Gateway
java·开发语言·数据库·网关·spring cloud·gateway
K成长日志4 天前
BLE链路层空口包--LE Uncoded PHY
物联网·嵌入式·蓝牙·iot·ble·无线·通信
仰科网关4 天前
VFBOX网关采集OPC_DA转Modbus_MES工控平台项目案例
网关·modbus·opc da·协议转换·规约转换器
TDengine (老段)7 天前
TDengine 函数完整参考 — 聚合、时序、字符串、时间、数学
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
慧都小妮子8 天前
ThingsBoard PE 接入物联网关 MQTT 数据配置流程:从规则链到遥测入库
物联网·mqtt·数据采集·iot·规则引擎·工业通信·thingsboard
AneiangSoft9 天前
Aneiang.Yarp v2.3.0.25:让 AI 成为你的 API 网关运维副驾驶
网关·.net·代理·dashboard·yarp
大鱼>9 天前
多宠物家庭智能管理平台:云端架构与多设备协同实战
python·算法·iot·宠物
大鱼>9 天前
宠物异常行为预警系统:边缘计算与实时检测
人工智能·深度学习·算法·iot·宠物