1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【阿里云物联网平台-1】使用MQTTfx模拟客户端 往阿里云物联网平台发布数据

【阿里云物联网平台-1】使用MQTTfx模拟客户端 往阿里云物联网平台发布数据

时间:2023-02-01 08:38:45

相关推荐

【阿里云物联网平台-1】使用MQTTfx模拟客户端 往阿里云物联网平台发布数据

目录

MQTT协议简单介绍(每句都是干货)手把手流程服务器:阿里云物联网平台客户端:MQTTfx后记

MQTT协议简单介绍(每句都是干货)

MQTT是应用层协议,基于TCP/IP。

是一种发布订阅系统,发布订阅系统原理类似于总线。将一条消息发布到一个主题(topic)上,那么所有订阅了该主题的客户端都可以获得该消息的一份拷贝。

对于消息发送者而言,无需知道哪些人在订阅消息;只需将消息发布到一系列主题,并订阅一些你感兴趣的主题。就像参加了一场聚会,选取并加入感兴趣的对话。

+++++++++++++++++++++++++++++++++++++++++++

深入一点:

实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(服务器)(Broker)、订阅者(Subscribe)

消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息payload;payload,可以理解为消息的内容,是指订阅者具体要使用的内容。

+++++++++++++++++++++++++++++++++++++++++++

手把手流程

在这里,我将演示发布者(Publish)往代理(Broker)发送MQTT消息

这里的发布者采用MQTTfx模拟,代理即为阿里云物联网平台。

服务器:阿里云物联网平台

网址:https://iot./product(直接在百度搜还不能直接找到,不是很方便)

进入后的界面如下图:

1.点击公共实例,进入如下界面:

3.点击设备管理,之后这里主要关注产品和设备。它们是一对多的关系,产品如智能门锁,设备就可以是张三家的智能门锁,李四家的智能门锁。

4.首先新建一个产品,这里以MQTT上传车辆速度为例。点击创建产品。进入如下界面,所属品类选择自定义品类。其他的保持默认即可,可完全参考下图。最后点击确认。

之后再点击左侧产品栏,就可以看到新建成功。

5.为产品添加功能。点击查看我们刚刚新建的speed产品。进入如下页面。

点击功能定义,来添加属性。这里需要启用编辑草稿,同时这里的物模型,大家可以自己理解一下。

点击编辑草稿后,这里以添加标准功能为例。

如图选择,我们在搜索框中输入速度,得到一个速度属性,点击将其选中后点击确认。

然后点击发布上线。这里要注意框起来的标识符,后续很重要。

6.新建设备。点击左侧设备,进入页面后点击添加设备。如下图。

所有的设备一定是属于某一个产品的,所以选择刚刚新建的speed产品。DeviceName自己取即可。

这时候我们就把阿里云物联网平台这里的工作做好了。接下来需要将MQTTfx与刚刚创建的这个stext设备做一个绑定

客户端:MQTTfx

自行下载,长右边这个样子。左边的工具我们待会也要用到。

1.打开MQTTfx,页面如下,点击齿轮进行设置,即和刚刚阿里云平台创建的设备stext做绑定

2.绑定

点击齿轮后进入如下界面,需要填入5个东西。这5个东西都是从上面和MQTTfx图标放一起的左边的小工具:阿里云物联平台配置。

下载地址:/s/1YDebpLqCTjj8BPuA-yD8sg 提取码:3xzo

3.按上一步下载好阿里云物联平台配置,打开界面如下。也是需要填写5个内容,但是这些内容都是在阿里云物联网平台中获取的。

首先,RegionID,看阿里云物联网平台的这里。

接下来的ProductKey,DeviceName,DeviceSecret,点击下图的查看。

这里就是这3个内容啦。

阿里云物联平台配置中最后要填的一个ClientID我一般写和DeviceName一致

阿里云物联平台配置中的5个内容填好后,点击生成。结果如下图。

这里阿里云连接参数输出中只有4项,与刚刚我们说的MQTTfx中需要5个内容不一致是因为。在阿里云连接参数输出的连接域名,包括了MQTTfx中的下图2项。

阿里云连接参数输出的连接域名:gmllqG1A4wX.iot-as--:1883,

分为MQTTfx中的两部分,Broker Address为:mllqG1A4wX.iot-as--,Broker Port为:1883。

只所以要用阿里云物联平台配置这个工具,是因为其中涉及到了阿里云的一个加密算法

之后将对应的内容填入MQTTfx中,点击OK

4.MQTTfx与阿里云物联网平台连接。点击Connect,之后右边变为小绿灯。如下图。

这时候我们再回到阿里云物联网平台,刷新一下,就能看到我们的stext设备已经是在线状态了。

5.MQTTfx数据上传。

在发送数据前,需要指定发送上传的数据是哪一个topic,在下图位置。

如何查看topic呢,在阿里云物联网平台中的产品项,如下图。因为我们一开始设置了速度属性,所以就在物模型通信Topic中的属性上报中查找Topic名。

这里是:/sys/gmllqG1A4wX/${deviceName}/thing/event/property/post,需要根据自己的deviceName修改一下,即改为了:/sys/gmllqG1A4wX/stext/thing/event/property/post。

将其填入MQTTfx中的topic框中,即上图。

之后编写我们需要上传的数据,采用的是JSON格式。我们定义了一个速度属性,需要一个标识符来明确,这个标识符就在我们创建这个属性时的标识符。见下图。

在MQTTfx中输入如下内容:

{"params":{"VehSpeed":60,}}

其中的“params”是固定的,VehSpeed即为产品功能定义中的标识符。之后在MQTTfx中点击Publish。

(如果有很多的属性,参考下面的内容(主要是理解一下JSON格式):

{"params":{"LockState":0,"can":{"id":"11223344","data":"0102030405060700",},"GeoLocation":{"latitude": 30.267763, "longitude": 120.132707, "altitude":1000,}}}

6.在阿里云物联网平台中查看传上来的数据。

后记

以上便完成了使用MQTTfx模拟客户端,往阿里云物联网平台发布数据的功能实现,认真记录每一步。

后续继续记录如何将阿里云物联网平台数据存到阿里云的数据库中。

研究生了才抓紧学习,努力努力

欢迎交流讨论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。