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 编写人员:辉为科技

相关推荐
b55t4ck17 小时前
FortiWeb CVE-2025-64446漏洞深入复现分析
网络·安全·iot
物联通信量讯说4 天前
从 IoT 到 AIoT:万物互联迈向万物智联的必然演进
物联网·iot·国际物联网卡
逍遥德5 天前
MQTT教程详解-03. 高级知识点
java·物联网·中间件·信息与通信·iot·iotdb
[J] 一坚5 天前
嵌入式高手C
c语言·开发语言·stm32·单片机·mcu·51单片机·iot
Vis-Lin14 天前
BLE 协议栈:ATT 协议详解
网络·物联网·网络协议·iot·ble
电子科技圈15 天前
SmartDV展示完整的边缘与连接IP解决方案,以高速和低功耗特性赋能移动、物联网和媒体处理设备创新
人工智能·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
v1326656236817 天前
BK7258 wifi6音视频soc芯片应用分析
嵌入式硬件·物联网·音视频·iot·wifi6
电子科技圈17 天前
芯科科技2026 Tech Talks技术讲座启航聚焦无线与边缘 AI,共绘智能物联新蓝图
人工智能·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
v1326656236817 天前
博通集成:BK7239N 双频wifi6 超低功耗 iot芯片
嵌入式硬件·物联网·iot·双频wifi
捷米特网关模块通讯19 天前
EtherNet/IP 转 CC-Link IE 工业 PLC 网关稳定对接罗克韦尔与三菱系统
网关·数据采集·三菱plc·工业自动化