您的位置:首页 > 解决方案 > GW56边缘计算网关网关对接华为云平台
GW56边缘计算网关网关对接华为云平台
发布时间: 2026-04-08 | 0 次浏览

这一次我们介绍的是来自网迅通公司的 网迅通GW56网关,它支持通过 MQTT 接入 ThingsCloud,在很多用户的物联网项目中运行非常稳定。

我们以这台 HWXT-GW56网关为例,介绍接入 ThingsCloud 的步骤。


GW56(封面).png

接下来讲的是通过网迅通GW56网关接入华为云平台,通过MQTT实现读取与控制。主要步骤是通过GW56网关脚本编辑,通过Node-Red组帧上发数据至云平台。

实验步骤

登录华为云平台

共建智能世界云底座-华为云 (huaweicloud.com)

登录进去后点击进入控制台

image-20240726151821413

用户首次使用需要实名认证(如果已经实名认证过直接跳过这一步)。

image-20240726151943511

创建实例

点击设备标准接入进入设备接入IoTDA的页面。

image-20240726152155879

进入后点击购买实例,即可进行进一步的实验

image-20240726152251506

用户需要选择合适的区域范围,并根据自己的需求选择合适的规格配置进行购买

image-20240726152355537

创建产品

创建好实例后,在左侧选择产品,再选择创建产品

image-20240726152619723

所需资源空间默认选择,通信协议选择MQTT模式,其他自拟。

image-20240726153129876

华为云MQTT主题

点击详情配置信息

image-20240726153438982

进入Topic管理,可以看到Topic分类的订阅与发布主题。

image-20240726153549207

实验案例

本次实验使用网迅通GW56网关读取温湿度的值和控制报警灯与风扇。

创建产品

进入模型定义,点击自定义模型,添加服务(service_id)。

添加服务(service_id),可以就理解为组类

image-20240726154627359

image-20240726155030057

点击新增属性,创建温度和湿度。

image-20240726155218944

image-20240726155238824

同理添加添加服务(service_id)为执行器,添加属性为风扇和sos。

定义为可读可写,数据类型可选择布尔型或者枚举型。本次案例使用的是布尔型。

image-20240726155751335

image-20240726155806589

创建设备

创建完产品后,需要创建设备。点击所有设备注册设备

image-20240726155950360

image-20240726160215604

注册成功,点击详情

image-20240726160425302

可看到MQTT的连接参数,客户端ID(clientld),用户名(username),密码(password),服务器IP(hostname),端口(port)

image-20240726160948233

image-20240726161410779

网迅通GW56网关

进入Node-RED
  • 网关通电后网线连接到路由器。

    微信图片_20240411104600


  • 打开智能网关配置工具,点击搜索

    网关搜索

  • 进入脚本配置,可进行网关脚本编辑

    能用lua和python

    进入可视化编程

  • 回到页面,右键网关,可进入可视化编程

配置Modbus通信

利用RS485转USB连接传感器和控制器到电脑,利用配置软件配置设备地址。(网关的串口为com1)

最后得到:


传感器设备地址线圈/寄存器地址
湿度10
温度11

传感器地址

设备设备地址线圈/寄存器地址
4路IO控制器4
ON:SOS40
ON:风扇41

连接IO控制器设备的地址

回到Node-red,拉入Modbus-read,和debug,配置读寄存器。

传感器/执行器Poll Rate数组
温湿度4smsg.payload[i]
执行器7smsg.payload[i]

modbus配置

温湿度

配置温湿度read节点

(对于监控系统来说,设置合适的Poll Rate非常重要。如果Poll Rate设置得太低(即查询频率太高)。相反,如果Poll Rate设置得太高(即查询频率太低),则可能会导致系统无法及时响应设备状态的变化或数据更新。如果“Poll Rate”被设置为5秒,那么这意味着系统每5秒钟会查询一次设备或传感器的状态或数据。(要在debug中判断系统给传感器赋值的数组是什么类型的)

创建Server

通信连接

温湿度输出

拉入Modbus Read节点读取执行器的状态

拉入在modbus类型中拉入modbus-read和modbus-write,在dashboard中拉入gague(仪表盘)switch(开关),例如sos以下配置:

读写执行器

读执行器的数据配置

写sos的数据

写风扇的数据

image-20240729100036381

image-20240729101251390

了解华为云数据上传与下发格式
设备上报属性数据

发送主题为:$oc/devices/{device_id}/sys/properties/report

数据格式:

MQTT:通过属性上报接口MQTT协议属性上报,上报数据到物联网平台,MQTT属性上报样例如下:

 数据格式样例:   
{
    "services": [
        {
            "service_id": "温湿度",
            "properties": {
                "温度": 25
            }
        },
         {
            "service_id": "温湿度",
            "properties": {
                "湿度": 30
            }
        }
    ]
}

使用MQTT调试工具测试,数据是否上发成功

查看MQTT连接参数,使用8883端口需要开启SSL/TLS模式

image-20240729102744464

image-20240729103158137


成功连接了之后,发布消息到主题

image-20240729104833288

image-20240729105022710

平台下发属性数据

订阅主题为:$oc/devices/{device_id}/sys/properties/set/request_id={request_id}

不知道request_id可以用#表示

例子:$oc/devices/66a351596e9c0667e02b0568_test/sys/properties/set/#

MQTT测试工具中,订阅主题

image-20240729105829172

云平台手动控制下发属性

image-20240729110101018

image-20240729110119540

平台下发数据格式为:

 {
"services":
[
{
"properties":
{"风扇":true},
"service_id":"执行器"
}
]
}

配置MQTT通信

设备上发数据读取

拉入函数节点对温湿度的数据除以10,并组帧数据上传的格式上发至华为云平台。

拉入MQTT发送节点,配置通信。根据设备上报属性数据填写通信参数与主题。

image-20240729110648789

image-20240729110912424

拉入函数节点,根据数据上传格式进行组帧,上传数据到云平台。

image-20240729112055511

image-20240729112148059

image-20240729112158132

同理执行器的操作也一样。

image-20240729113424776

image-20240729113433454

平台下发数据控制

拉入MQTT订阅节点,根据平台下发属性数据填写通信参数与主题。

因为前面配置过通信连接,只需要选择对应的服务端即可

image-20240729114546187

因为要在Modbus Write节点前面注入true(开启)或者false(关闭),才能实现控制,所以我们要解析平台下发的数据。

 {
"services":
[
{
"properties":
{"风扇":true},
"service_id":"执行器"
}
]
}

例如此代码:要将解析出{"风扇":true}

拉入函数节点:

image-20240729115036865

报警灯:

image-20240729115201880

风扇:

image-20240729115122191

云平台控制

image-20240729115346978

最终JSON流:GW56网关对接华为云

CONTACT US

南京创思拓科技有限公司

江苏省南京市高淳区经济开发区游山路8号1幢1681室

微信公众号