恭喜,你发布的帖子
发布于 2020-05-16 16:30:09
4楼
接下去就是连接测试了。
就像之前调试串口通讯一样,让我PLC和一个串口设备通讯,我会先用PC上的串口调试工具连接串口设备,根据通讯协议发送通讯指令,查看设备的响应情况,看看自己对协议的理解是否正确。
因为LMQTT client这个块我没有用过,到时候连吧不上,到底问题出在哪不好定位,到底是库的问题呢还是我的参数设置的问题呢,所以,我也找了一个,阿里云的文档示例用的是MQTT.FX,我用的是MQTTBOX,都差不多,设置的参数都是那几个。
我i把几个参数先列个表
broker address 服务器/代理 域名
broker port 服务器/代理 端口
clientid
username
password
除了端口号,TCP直连用的是1883外,其他几个参数都是和创建的设备的三元组相关的
broker address ${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com
Client ID ${clientId}|securemode=3,signmethod=hmacsha1|
username ${YourDeviceName}&${YourPrductKey}
password 这个比较麻烦,参考文档中有一个生成密码的小工具,通过那个工具生成,实际上还是和三元组相关,是根据三元组以及上面的一些信息做HMAC运算得到的。
上面的 ${} 是一个占位符,用实际的数值替换,比如三元组中的productkey,devicename等,其中的 ${region} 目前只有 cn-shanghai
这些参数之后用PLC连接平台都是需要用到的,先用PC上的MQTT client测试,看看能不能连上平台,如果可以,说明这些参数是正确的,如果不行,那就要查查看到底哪里出错了,特别是生成password的时候,多一个空格,或者大小写错误,生成的密码都是不一样的。
下面是我的mqttbox中client的设置
需要注意的是阿里云要求cleansession必须设置为1,keeplive时间不能设置过短,建议300s,否则会拒绝连接的
如果这里能连上平台,那么说明这些参数都没有问题了,接下去就可以进行PLC 编程了
请填写推广理由:
分享
只看
楼主