当前位置:   article > 正文

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

mqttfx

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

MQTT是应用层协议,基于TCP/IP。
是一种发布订阅系统,发布订阅系统原理类似于总线。将一条消息发布到一个主题(topic) 上,那么所有订阅了该主题的客户端都可以获得该消息的一份拷贝。
对于消息发送者而言,无需知道哪些人在订阅消息;只需将消息发布到一系列主题,并订阅一些你感兴趣的主题。就像参加了一场聚会,选取并加入感兴趣的对话。
+++++++++++++++++++++++++++++++++++++++++++
深入一点:
实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(服务器)(Broker)、订阅者(Subscribe)
消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload) 两部分:
Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息payload;payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
+++++++++++++++++++++++++++++++++++++++++++

手把手流程

在这里,我将演示发布者(Publish)往代理(Broker)发送MQTT消息
这里的发布者采用MQTTfx模拟,代理即为阿里云物联网平台。

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

网址:https://iot.console.aliyun.com/product(直接在百度搜还不能直接找到,不是很方便)
进入后的界面如下图:
阿里云物联网平台
1.点击公共实例,进入如下界面:
公共实例
3.点击设备管理,之后这里主要关注产品和设备。它们是一对多的关系,产品如智能门锁,设备就可以是张三家的智能门锁,李四家的智能门锁。设备管理
4.首先新建一个产品,这里以MQTT上传车辆速度为例。点击创建产品。进入如下界面,所属品类选择自定义品类。其他的保持默认即可,可完全参考下图。最后点击确认。
创建产品
之后再点击左侧产品栏,就可以看到新建成功。
新建成功
5.为产品添加功能。点击查看我们刚刚新建的speed产品。进入如下页面。
在这里插入图片描述
点击功能定义,来添加属性。这里需要启用编辑草稿,同时这里的物模型,大家可以自己理解一下。在这里插入图片描述
点击编辑草稿后,这里以添加标准功能为例。在这里插入图片描述
如图选择,我们在搜索框中输入速度,得到一个速度属性,点击将其选中后点击确认。
在这里插入图片描述
然后点击发布上线。这里要注意框起来的标识符,后续很重要。
在这里插入图片描述
6.新建设备。点击左侧设备,进入页面后点击添加设备。如下图。
在这里插入图片描述
所有的设备一定是属于某一个产品的,所以选择刚刚新建的speed产品。DeviceName自己取即可。
在这里插入图片描述
这时候我们就把阿里云物联网平台这里的工作做好了。接下来需要将MQTTfx与刚刚创建的这个stext设备做一个绑定

客户端:MQTTfx

自行下载,长右边这个样子。左边的工具我们待会也要用到。
在这里插入图片描述
1.打开MQTTfx,页面如下,点击齿轮进行设置,即和刚刚阿里云平台创建的设备stext做绑定
在这里插入图片描述
2.绑定
点击齿轮后进入如下界面,需要填入5个东西。这5个东西都是从上面和MQTTfx图标放一起的左边的小工具:阿里云物联平台配置。
下载地址:https://pan.baidu.com/s/1YDebpLqCTjj8BPuA-yD8sg 提取码:3xzo
在这里插入图片描述
3.按上一步下载好阿里云物联平台配置,打开界面如下。也是需要填写5个内容,但是这些内容都是在阿里云物联网平台中获取的。
在这里插入图片描述
首先,RegionID,看阿里云物联网平台的这里。
在这里插入图片描述
接下来的ProductKey,DeviceName,DeviceSecret,点击下图的查看。
在这里插入图片描述
这里就是这3个内容啦。
在这里插入图片描述
阿里云物联平台配置中最后要填的一个ClientID我一般写和DeviceName一致

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

这里阿里云连接参数输出中只有4项,与刚刚我们说的MQTTfx中需要5个内容不一致是因为。在阿里云连接参数输出的连接域名,包括了MQTTfx中的下图2项。
阿里云连接参数输出的连接域名:gmllqG1A4wX.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883,
分为MQTTfx中的两部分,Broker Address为:mllqG1A4wX.iot-as-mqtt.cn-shanghai.aliyuncs.com,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,}
}
  • 1
  • 2
  • 3
  • 4

其中的“params”是固定的,VehSpeed即为产品功能定义中的标识符。之后在MQTTfx中点击Publish。
在这里插入图片描述
(如果有很多的属性,参考下面的内容(主要是理解一下JSON格式):

{
    "params":{
	"LockState":0,
	"can":{
		"id":"11223344",
		"data":"0102030405060700",
		},
	"GeoLocation":{
		"latitude": 30.267763,  
		"longitude": 120.132707,  
		"altitude":1000,
		}
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

6.在阿里云物联网平台中查看传上来的数据。
在这里插入图片描述

后记

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

研究生了才抓紧学习,努力努力
欢迎交流讨论

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/218142
推荐阅读
相关标签
  

闽ICP备14008679号