(二)mqtt客户端接入阿里云--云端查看接收到的数据

**

简介:

我们在云端建立产品和设备后,云下也要有对应的设备,云下设备和云上设备是一一对应的关系,现在不妨先用MQTT客户端模拟云下设备接入阿里云,并向阿里云发送数据,来体验一下设备接入阿里云,以后也可以用MQTT客户端辅助实际 设备起到调试的作用**

一:获取设备的三元组

步骤一:首先获取设备的三元组(所谓三元组就是产品名,设备名,设备秘钥)

产品名:设备属于哪一个产品
设备名:要接入的远端设备名称
设备秘钥:是要接入设备独有的秘钥
以上三元组主要用来生成Mqtt客户端连接阿里云需要填写的各种信息

(1)打开对应的产品,点击前往管理,并且进入到相应的设备界面查看三元组
(或者直接点左手边产品下面的设备选项卡,进入到需要接入的设备界面,效果一样)

在这里插入图片描述
在这里插入图片描述

 (2)下面就是进入设备界面,所看到的**三元组**,首先把三元组进行复制存放到txt文件中,
 接下来会用来生成信息

在这里插入图片描述

二:生成MQTT客户端连接阿里云所需要的信息

(1)打开MQTT单片机编程工具,将三元组复制进去,生成所需要的信息
(MQTT单片机编程工具网上也有在线版本)

在这里插入图片描述

(2)然后再打开MQTT客户端软件,进行操作,首先点击图中的**设置**选项进行新建,

在这里插入图片描述

(3)按照图中要求进行填写,其他的默认即可,填写信息完成之后点击**Apply**,
然后再把弹出框关掉即可,不要点cancel选项

在这里插入图片描述

(4) 会看到以下界面,看到右面的提示灯是暗的说明还未连接,
进行连接即可,连接成功之后指示灯会变亮

在这里插入图片描述

(5)下图表示连接阿里云成功,然后可以去你的云端设备进行查看是否显示在线

在这里插入图片描述

(6)可以看到云端的设备已经显示在线,表明刚才连接成功

在这里插入图片描述

三:MQTT客户端向云端发送数据

(1)打开设备的Topic列表可以看到很多Topic,有的可以向云端发送数据,
有的可以供云下设备订阅信息使用,我们要用第一个topic向云端发布消息,复制图中的Topic

在这里插入图片描述

(2)粘贴到对应的位置,并且准备好需要发送的消息内容,点击发布,即可在云端接收到

在这里插入图片描述

(3)点击**在线调试**,去查看是否接收到云下设备发送的消息

在这里插入图片描述

(4) 选择好产品和设备

在这里插入图片描述

(5) 这样就到了 调试界面,但是还没有接收到消息,因为刚才把消息给错过了,
重新去发一条数据在进行查看

在这里插入图片描述

(6)可以看到接收到了数据,可能还有点小错误,不要着急,一会在进行修改,
但这表明已经成功发布到云端消息

在这里插入图片描述

四:建立物模型进行数据显示

(1) 为了查看接收数据的方便性,我们去建立一个物模型,用来显示接收到的数据,
我们创建一个温度的物模型还是点到产品界面,功能定义,自定义设备进行创建

在这里插入图片描述

(2)创建物模型如下:创建的时候一定要注意**标志符**和**数据类型**,
云下设备发送数据时要和这里的标识符和数据类型一一对应
可以正确接收到数据并进行显示,缺一不可

在这里插入图片描述

(3) 创建好物模型之后,打开MQTT客户端所对应的云上设备的运行状态进行查看,
      可以看到我们从云下设备发布的数据已经成功进行显示了
**(如果再次发送数据没有更新,请打开右上角的**实时显示)****

在这里插入图片描述

这样MQTT模拟云下设备接入阿里云发送数据并进行显示

就算结束了, 接下来是云下实际设备接入阿里云

要在Python中实现MQTT接入阿里云,需要使用Paho MQTT客户端库和阿里云IoT Python SDK。以下是实现的步骤: 1.安装paho-mqtt和aliyun-iot-sdk-core第三方库: ``` pip install paho-mqtt aliyun-iot-sdk-core ``` 2.创建一个MQTT客户端并连接到阿里云IoT: ```python import paho.mqtt.client as mqtt from aliyunsdkcore.client import AcsClient from aliyunsdkiot.request.v20170420 import RegisterDeviceRequest from aliyunsdkiot.request.v20170420 import PubRequest client = mqtt.Client(client_id="your_client_id") client.username_pw_set(username="your_product_key&your_device_name", password="your_device_secret") client.connect("your_product_key.iot-as-mqtt.cn-shanghai.aliyuncs.com", port=1883) ``` 3.注册设备获取设备的Topic: ```python client = AcsClient("your_access_key_id", "your_access_key_secret", "cn-shanghai") request = RegisterDeviceRequest.RegisterDeviceRequest() request.set_ProductKey("your_product_key") request.set_DeviceName("your_device_name") response = client.do_action_with_exception(request) topic = response["Data"]["Device"]["Topic"] ``` 4.发布和订阅消息: ```python def on_message(client, userdata, msg): print(msg.topic + " " + str(msg.payload)) client.subscribe(topic) client.on_message = on_message request = PubRequest.PubRequest() request.set_ProductKey("your_product_key") request.set_TopicFullName(topic) request.set_MessageContent("hello world") client.publish(topic, payload="hello world", qos=0) ``` 以上是Python实现MQTT接入阿里云的简单示例,需要根据自己的实际情况进行修改。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永栀哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值