接入案例
下面举一个金鸽网关使用MQTT协议基于IoTDA的接入方式接入设备的点位案例。
对接步骤如下:
- 首次使用需要创建产品,协议类型选择“MQTT”,完成后如下图所示。产品承载着物模型,也就是实际需要上传的点位,下图创建的产品 “详细”中添加服务和点位。
- 创建网关设备(网关设备可以直接命名为设备名称,如AM01),填写内容如下图所示,“所属产品”可在下拉列表中选择刚刚创建的产品。若项目第一次创建,则需要自行创建“所属空间”。路径:“空间管理”->“空间管理”->“添加空间”。注册设备信息填完单击“确定”之后,系统会生成一个文件,文件名为“DEVICES-KEY”。该文件为网关与云平台MQTT通信的秘钥,需要妥善保存。
- 所谓子设备,即是网关下挂载的设备实体。本次调测中,特指SL/AM两款modbus协议设备。需要单独注册,在“设备管理”->“设备”选择对应的网关设备,单击“详情”,单击“注册子设备”,按照下图完成子设备的创建,注册入口和方式如下图所示。
- 在“设备管理”->“设备”选择对应的网关设备,单击“详情”,单击“注册子设备”,按照下图完成子设备的创建
- 在金鸽网关的上位机软件上进行如下配置步骤:
- 双击“华为云 IoT”弹出华为云配置框。
- 单击“启用”按钮,启用华为云。默认:关闭。灰色表示:不启用,绿色表示:启用。
- 认证方式:选择是密钥连接还是证书连接,默认是密钥连接。
- IP/域名:登录设施云前端,“系统管理”->“实例信息”,对应设备接入的MQTT协议对应的接入地址。
- 端口:默认 1883,密钥连接填写 1883,证书连接填写 8883。
- 设备 ID:对应前面注册的网关设备的ID
- 设备密钥:对应注册网关设备成功时下载的文件里面的秘钥。
- CA 证书:启用证书连接时,要选择根证书文件上传。
- 客户端证书:启用证书连接时,要选择客户端证书文件上传。
- 客户端密钥:启用证书连接时,要选择客户端密钥文件上传。
- 服务 ID:由于金鸽网关只能挂载1个设备,所以只能设置一个服务ID。设置与华为云上的服务 ID 一致,创建产品时设置的服务 ID。可以设置一个服务 ID 或多个服务 ID。本次示例介绍多个服务 ID 应用,添加了“AM01”和“SL01”服务 ID。
- 上传周期:数据定时发布间隔时间,默认 30S。
- 数据补传:是否启用掉线数据补传,单击“启用”按钮。灰色表示:不启用,绿色表示:启用。
- 选择数据点上传:在配置框右边的方框内选择要上传的数据点,默认空白表示全部上传。本示例服务 ID“AM01”选择 AM01 设备的数据点上传,服务 ID 项选择“AM01”,在右边方框内鼠标右键,弹出数据点框,选择“AM01”的数据点,如:单击 AM01 的数据点 REG001,鼠标左键按住不放,鼠标下移到要上传的数据点,单击“确定”,方框内就显示你选择的数据点。
- 单击“确定”,确定华为云的配置。
- 单击“写入配置”,网关设备重启后,华为云才启用。重新打开配置软件登录设备,可以在基本信息页面可以看到“华为云上线状态”的提示灯是绿色,表示华为云已连接上。最右边显示从机设备在线的状态。
配置完成后,配置界面如下图所示,华为IoT在线状态为绿灯。
- 通过金鸽网关上位机使用“MQTT Client”方式进行上云配置。配置项如下图所示,其中“Client ID”、“用户名”、“密码”为该方式连接华为云必须的鉴权信息,可通过在线工具https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/生成,入参为 “DeviceId”和“DeviceSecret为子设备注册成功时下载的文件里面的秘钥。
订阅主题选择参考https://support.huaweicloud.com/api-iothub/iot_06_v5_3006.html,订阅发布的Topic为$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report,其中{device_id}为网关的设备ID。