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

相关推荐
TDengine (老段)1 天前
TDengine taosX 与 Explorer — 数据集成与可视化管理
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
SLD_Allen2 天前
HxApisix 云原生 API 网关的架构设计与 AI 集成实践(THS)
人工智能·网关·云原生·apisix
TDengine (老段)2 天前
TDengine taosAdapter — 多协议网关详解
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
星空真迷人3 天前
嵌入式鸿蒙并非精简版,核心究竟是什么?
stm32·单片机·嵌入式硬件·物联网·华为·harmonyos·iot
光源【时光寸寸又逢君】6 天前
第三方平台预览我方级联监控点串流问题排查
c++·iot
慧都小妮子6 天前
ThingsBoard PE 智慧灌溉:实现精准灌溉与水资源优化利用
物联网·mqtt·智慧农业·iot·规则引擎·thingsboard·精准灌溉
Raas1008 天前
MAIGateway,魔芋企业级AI网关的FinAPI成本竞争力设计
java·后端·网关·api网关·魔芋ai·finapi·mai gateway
mengpp_1234568 天前
泵站自动化控制系统:数据安全管控,筑牢水务运行防护墙
物联网·自动化·iot
豆瓣鸡8 天前
Spring Cloud Gateway 核心原理:从请求转发到微服务流量治理
网关·spring cloud·微服务
Raas1009 天前
MAIGateway,魔芋企业级AI网关的FinAPI成本归因设计
大数据·人工智能·网关·api网关·finapi