关于酒店监控软件的升级
由于原来的数据发送时会有潜在的风险,现在需要做出如下调整:
1、修改RCU在线和下线时候的主题
原来的:sys/fya/gateway/status/${sncode}
修改后:sys/fya/system/status/${homeId}/${sncode}
主题中的${homeId}表示酒店编号,${sncode}表示网关sncode2、MQTT的连接
物联网这边提供的设备MQTT链接时需监控软件这边提供客户端证书,mqtt的连接需要走ssl加密双向验证。2.1、生成客户端证书
双向连接认证还需要创建客户端证书,首先需要创建客户端密钥:
openssl genrsa -out client.key 2048
client.key这个属于贵单位的私有秘钥不需要给到物联网平台
client.key这个属于贵单位的私有秘钥不需要给到物联网平台
client.key这个属于贵单位的私有秘钥不需要给到物联网平台
使用生成的客户端密钥来创建一个客户端请求文件:
openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=GuiZhou/L=GuiYang/O=Yxge/CN=yxge.net"
其中ST的值是省份、L的值是市、O表示组织、CN可以是你的域名
当生成完成证书后需要把对应的client.csr发送给物联网这进行服务端签名获取。client.pem证书,同时需要提供酒店的名称、管理员手机号和邮箱给到物联网平台。
物联网平台会下发如下信息给到监控软件
| 参数 | 数据类型 | 说明 |
|---|---|---|
| ca.pem | 文件 | 服务端ca证书 |
| client.pem | 文件 | 客户端签名的证书 |
| homeId | string | 酒店编号 |
| clientId | string | 连接时的clientId |
| client_secret | string | 酒店秘钥 |
| HostUrl | string | 酒店请求物联网地址 |
| userName | string | 酒店管理员用户名 |
| password | string | 酒店管理员密码 |
| mqttUrl | string | 酒店链接物联网地址 |
| mqttPort | int | 酒店链接物联网端口号 |
| mqttUserName | string | 酒店链接物联网用户名 |
| mqttPassword | string | 酒店链接物联网密码 |
在mqtt链接云时候的clientId只能使用酒店编号,一个酒店系统只允许创建一个连接。
最后监控软件需要用到ca.pem、client.key、client.pem三个文件链接物联网的mqtt