这是我的第一篇文章,本人是一个从事充电桩平台开发、运维工程师,也负责设备通讯协议对接协助,以后会尝试多写一些文章。
第一次接触阿里云物联网平台来自于一个客户,他们希望能对接我们的设备,当时他们使用的就是阿里云IoT,我们设备使用是MQTT协议,设备上网前要先配网(实际是调用通讯协议烧录参数到设备),配网的参数主要是brokerIP或域名、broker端口、客户端ID、用户名、密码。
在开始设备接入之前先简单介绍阿里云iot,阿里云物联网平台是一个集成了设备管理、数据安全通信、消息订阅和数据服务等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。
设备接入第一步创建产品,填写产品名称和根据自己设备选择标准品类,其它默认,然后点击确认即可。第二步创建设备,填写设备名和备注,选择所属产品,不同的产品productKey也不同,最后点击确认就可以了。创建设备后点击查看进入详细页面,在右上角的DeviceSecret点击查看就能得到三要素ProductKey、DeviceName和DeviceSecret了,后面的设备接入要用到。其实创建设备后平台也会提供MQTT连接参数,里面就有mqttHostUrl、port、clientId、userName和password,大家可以先使用这些参数烧录设备,可惜我们的设备不支持太长的密码无法烧录,只能另想办法,经过不断试验,终于找出一个可行的配网参数,总结以下:
- clientId = productKey + "." + deviceName + "|securemode=2,signmethod=hmacmd5|"
- userName = deviceName&productKey
- password = hmacmd5("clientId" + productKey + "." + deviceName + "deviceName" + deviceName + "productKey" + productKey)
希望本篇文章能对大家有一些帮助,如果你有物联网方面的疑问也可以在文章下面提问,我会尽我所能答疑解惑,谢谢!