本篇文章1338字,读完约3分钟

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd

Paho-MQTT Go接入示例

本文介绍如何调用Go语言的Paho MQTT类库,将设备接入阿里云物联网平台,并进行消息收发。
使用前必读
本文操作步骤以普通用户权限为例。如果您在操作过程中涉及到管理员权限才能执行的操作,可尝试使用sudo命令执行。
前提条件
已在物联网平台控制台,对应实例下,创建产品和设备,并获取MQTT接入域名和设备证书信息(ProductKey、DeviceName和DeviceSecret)。具体操作,请参见:
查看实例终端节点。
创建产品。
创建设备。
准备开发环境
安装Go语言包。
下载Go语言Paho MQTT库
请访问Eclipse Paho Downloads了解Paho项目和支持的开发语言详情。
接入物联网平台
下载MqttSign.go,复获取阿里云提供的计算MQTT连接参数所需的源码文件MqttSign.go。MqttSign.go文件定义了用于计算设备接入物联网平台的MQTT连接参数的函数,您开发的设备端接入物联网平台程序需调用该函数,函数说明如下:
原型:type AuthInfo struct {password, username, mqttClientId string;}
func calculate_sign(clientId, productKey, deviceName, deviceSecret, timeStamp string) AuthInfo;
功能:用于计算设备接入物联网平台的MQTT连接参数username、password和mqttClientId。
添加实现设备接入物联网平台的程序文件。
您需编写程序调用MqttSign.go计算MQTT连接参数,实现接入物联网平台和通信。
设置MQTT连接信息。
调用MqttSign.go中定义的calculate_sign函数,根据传入的参数clientId、 productKey、deviceName、deviceSecret和timeStamp计算出username、password和mqttClientId,并将这些信息都包含在opts中。
示例代码
使用Demo代码程序接入物联网平台。
在iot.go中,修改设备信息为您的设备信息。
可使用Linux vi等工具修改iot.go文件:
将productKey、deviceName和deviceSecret替换为您的设备证书信息。
可选)替换timeStamp和clientId。clientId的值可以替换为您的实际设备的SN码和MAC地址。
这两个参数值不替换也能接入物联网平台,但实际使用时,建议您替换为实际信息。
修改设备接入物联网平台的MQTT连接信息。详细说明,请参见上文接入物联网平台的步骤2。
登录物联网平台控制台,可查看设备状态和日志。
选择设备管理 > 设备,可看到该设备的状态显示为在线。
选择监控运维 > 日志服务,可查看云端运行日志和设备本地日志日志。详细内容,请参见云端运行日志、设备本地日志。