华为云平台提供强大的云服务,其中包括对MQTT(Message Queuing Telemetry Transport)协议的支持。MQTT是一种轻量级通信协议,在物联网(IoT)领域广泛应用,用于实现设备间可靠的数据传输和通信。本教程将逐步介绍如何使用华为云提供的MQTT服务,包括创建MQTT实例、设备接入、消息发布和订阅等关键步骤。
一
华为云开通MQTT服务
首先,完成注册并进行实名认证。接下来,我们进入[产品]→[物联网IoT]→[设备接入]页面,选择[管理控制台],即可进入华为云物联网平台。
进入控制台后,在[IoTDA实例]下根据实际情况选择服务套餐。教程中选择[开通免费单元]。
创建成功后刷新页面,即可看到[设备接入]栏下可以开始创建设备。
首先,在[总览]下,您可以查看[接入信息],点击即可获取MQTT通信的接入地址和端口号。
在[接入信息]下的[相关文档]中,您可以直接快速访问华为云的相关手册。
如有任何疑问,可以通过[相关文档]进行查询。
接下来,返回设备[接入页面],进入[产品]页面,在右上角点击[创建产品],开始创建即将接入设备的信息。
在这里,选择刚刚创建的资源空间作为[所属资源空间]。根据实际情况填写[产品名称],可任意设置。[协议类型]选择[MQTT]。[数据格式]选择[JSON]。[厂家名称]和[设备类型]可以根据实际情况填写。
完成后,点击确认即可。
接下来,进入[设备]→[所有设备],点击注册设备。
在[所属资源空间]和[所属产品]中选择刚刚创建的选项。在[产品标识码]中随意填写一个值,只需确保在一个产品内不重复即可。[设备认证类型]中可以选择[密钥]或[证书]两种方式,根据实际情况进行选择。教程中选择了[密钥]认证,确认其他信息无误后,点击确定。接下来会出现创建成功的提示。
请注意,如果是自动生成的密钥,请务必保存好。密钥仅能查看一次。
确认密钥保存成功后,点击[保存并关闭],即可看到设备列表成功添加了我们刚刚创建的产品。点击详情,进入产品详情页面。
在该页面上,您可以获取与产品相关的信息。
至此,我们已成功开通了华为云的MQTT服务,并成功创建了设备。
二
获取MQTT通讯要素
开始模拟MQTT通信之前,需要获取几个通信所需的参数。首先,让我们进入刚刚创建的产品页面。
进入Topic管理页面。
在这里,我们可以找到华为云预设的一些[系统预置Topic]。根据需求选择相应的Topic使用即可。
接下来,我们需要获取“Client ID”、“Username”和“Password”。可以使用一个工具来直接生成这些参数。在[总览]→[接入信息]→[相关文档/资源]中,点击[泛协议接入]进入帮助文档。
在文档中,选择任意一个设备接入的实例。
找到[连接鉴权]下的一个在线工具,直接点击即可。在工具中填写我们注册设备的[设备ID]和[密钥],即可生成连接所需的信息(ClientId、Username、Password)。
至此,我们已获取到所有通信所需的参数。
三
产品接入使用MQTT上报数据
在本教程中,我们使用串口服务器NB144设备模拟实际通信情境。您可以根据实际情况选择设备或使用软件进行模拟。关于产品的使用方法,请参考相关视频或查阅相关手册。可以在产品的相关软件中找到所需的工具。现在,我们开始模拟真实的通信过程,打开NB144的上位机软件。
首先,将产品的网络参数中的[IP地址类型]修改为[动态IP]。
进入端口1设置,将工作模式修改为[MQTT客户端]模式,选择标准的[华为云]作为平台。
然后依次填入[目标IP]、[目标端口]、[Client ID]、[Device name]和[Device secret]。订阅和发布根据实际情况填写。在教程中,我们选择一个系统发布主题进行数据传输,订阅主题留空。
保存并重新启动后,稍作等待,您将可以在华为云平台的后台看到设备成功接入。
至此,我们成功将产品通过MQTT接入华为云。接下来,使用任意的串口调试工具模拟设备数据上报功能。
在本教程中,我们使用了XCOM工具,打开工具,确认串口参数是否正确,然后[打开串口]。
上报数据的规则,请查阅相关手册。由于篇幅限制,不展开讲解。直接发送数据上报,然后在产品的[设备影子]页面下,即可看到刚才上报的数据。
到这里,我们已成功连接到华为云的MQTT平台,并实现了数据上报功能。