基于边缘网关连接Modbus设备到涂鸦IoT的完整流程

更新时间Invalid date

概况

本教程介绍了如何基于涂鸦边缘网关,完成网关激活、驱动安装、设备激活等操作,并完成模拟 Modbus 设备数据上 IoT 云,云控制下发流程。

边缘网关连接Modbus设备边缘网关架构.png

物料清单

硬件 (1)软件 (1)
  • 虚拟或真实的 Modbus 设备

    数量:1

    作为工业电子设备之间最常用的连接方式,Modbus 协议目前是工业领域通信协议的业界标准。查看详情

步骤

  • 第 1 步:准备工作

    安装 Docker

    您可以参考 Docker 官方文档 在目标系统上安装 Docker,或者参考以下文档为不同系统安装 Docker:

    创建目录和获取涂鸦 Modbus 驱动

    1. 创建目录。

      sudo mkdir /var/tedge
      
    2. 查看当前用户。

      ps aux | grep docker
      
    3. 授权目录权限。

      sudo chown 用户名 /var/tedge
      
    4. 创建相关目录。

      sudo -u 用户名 mkdir /var/tedge/res
      sudo -u 用户名 mkdir /var/tedge/edgex-db-data
      sudo -u 用户名 mkdir -p /var/tedge/edgex-driver-data/upload/library
      sudo -u 用户名 mkdir /var/tedge/edgex-driver-data/run_config
      

    启动 Modbus 模拟设备

    1. 拉取并安装 modbus-simulator 镜像。

      docker run --name "modbus-simulator" --restart=always \
      -p 1502:1502 \
      -d tuya/modbus-simulator:latest
      
    2. 获取模拟设备 Docker 的 IP 地址。

      docker inspect --format '{{ .NetworkSettings.IPAddress }}' <镜像id>
      
  • 第 2 步:本地部署

    1. 部署核心服务。

      docker run  --name "tuya-edgex" --restart=always \
      -p 58880:58880 \
      -v /var/tedge/edgex-db-data:/dbdata \
      -v /var/tedge/res:/res \
      -v /var/tedge/edgex-driver-data/run_config:/run_config \
      -v /var/tedge/edgex-driver-data/upload:/upload \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -d tuya/tedge-server:v1.0
      
    2. 部署前端服务。

      docker run --name "web-client" --restart=always \
      -p 3000:3000 \
      -d tuya/tedge-web:v1.0
      
    3. 下载官方驱动文件并打包(x86/armv7)。

      注意

      • Docker save 命令会覆盖之前文件。
      • Docker save 文件类型必须为 tar 格式。
      docker pull tuya/tedge-modbus-driver:v1.0
      
      docker save tuya/tedge-modbus-driver:v1.0 > \
      /var/tedge/edgex-driver-data/upload/library/tedge-modbus-driver.tar
      
  • 第 3 步:激活边缘网关

    第一步:在 IoT 平台创建网关产品

    您可以参考 选品类创建产品 详细了解如何在涂鸦 IoT 平台创建产品。此处简单介绍如何创建一个采用低代码开发方案的网关。

    1. 登录 涂鸦 IoT 平台

      • 选择网关中控 - 边缘网关。

      • 填写相关信息。

    2. 获取授权码。

      • 进入硬件开发
      • 云端对接方式选择:自研模组SDK开发
      • 选择芯片平台提交确定后,右下角 免费领取10个激活码
      • 交付方式,选择授权码清单形式
      • 进入采购 > 采购订单 > 样品订单
      • 下载授权码清单

    第二步:创建云开发项目、资产和用户信息

    您可以参考以下文档在云开发平台完成项目、资产和用户信息的创建:

    第三步:激活边缘网关

    1. 打开 Local Host:3000 登录到本地部署的边缘网关。

    2. 网关激活。

      • token:通过配网微信小程序获取,详情请参考 管理资产 ,添加设备方式选择手动添加 - 边缘网关配网。
      • 网关产品 PID:您第一步在 IoT 平台中创建的网关产品的 PID。
      • uuid & authkey:在您第一步下载的授权码清单中查看。
  • 第 4 步:管理驱动

    新增 Modbus 驱动

    1. 选择驱动文件。

    2. 下载配置定义模板(Modbus),上传配置文件(本次实践不用修改)。

    新增驱动实例

    1. 驱动库根据名称模糊搜索。

    2. 创建成功后,在驱动实例列表中,点击停止,运行驱动。

  • 第 5 步:设备激活

    IoT 平台创建子设备产品

    1. 涂鸦 IoT 平台 创建子设备产品。

    2. 选择电工-插座方案-自定义方案。

    3. 新增开关1(1),开关1倒计时(9)两个功能点。

    边缘网关添加产品

    1. PID、产品名称、产品描述根据IoT平台刚创建的产品信息填写。

    2. 驱动库根据名称模糊搜索(Modbus)。

    边缘网关添加功能点

    1. 两个功能点,根据IoT平台创建的信息填写。

    2. Modbus 配置信息。

    3. 如图填写。

      • 开关1
      • 开关1倒计时

    边缘网关添加子设备

    1. 所属产品,根据名称模糊搜索之前创建的(插座)。

    2. 驱动实例,选择产品后会自动加载,选择 Modbus

    3. 选择协议类型 modbus-tcp

    4. 地址填入模拟 Modbus 设备 Docker 的 IP(准备工作中已获取)。

    5. 端口为1502。

    6. UnitID 为模拟 Modbus 设备地址。

    7. 添加成功后,点击在线激活,将设备激活到涂鸦平台上

  • 第 6 步:云开发调试

    在 IoT 平台的云开发页面,您需要完成设备控制开通和 API 调试。

    1. API产品 > 行业项目 中开通 行业通用设备控制。详情请参考 管理 API 产品
    2. 已开通产品 > 行业通用设备控制 > 项目管理 > 新增授权,选中您的项目。
    3. 云开发API调试 下发控制指令。详情请参考 API 调试

    下发云开始指令

    1. 填写 device_id(子设备管理列表中查看)。
    2. 填写 commands,参考如下。
      [
      	{"code":"switch_1","value":true},
      	{"code":"countdown_1","value":318}
      ]
      

    查看设备日志

    在 IoT 平台的 设备日志 页面,输入设备 ID 可以查看相关日志。

    查看子设备数据变化

    在边缘网关,您可以查看到网关子设备的最新当前状态。