【物联网-MQTT】

■ MQTT 简介

Mosquitto官网
Mosquitto最新的源码
MQTT 入门介绍
MQTT协议3.1.1中文版
官方下载地址 //需要许可证密钥

MQTT.Fx 下载
链接: https://pan.baidu.com/s/1zkOHAyP_nURebtk7x6yXvw?pwd=rbq9
提取码: rbq9
链接:https://pan.baidu.com/s/1jwA7GUcT8h-rk_kt4CZq1A
提取码:1234


MQTT(Message Queuing Telemetry Transport)**消息队列遥测传输协议,**是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)

MQTT.fx的许可证密钥是一种用于授权用户使用全部功能的授权凭证。
用户在下载并安装MQTT.fx后,可以在“注册”或“许可”菜单中找到“许可证”选项。
用户需要购买或申请许可证密钥,以便能够使用MQTT.fx的高级功能和服务。
用户还可以在百度网盘上找到MQTT.fx的不同版本,其中1.7版本无需许可证。
在这里插入图片描述

■ 1、MQTT协议实现方式

实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,
MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。
其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
.
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

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

■ 2、MQTT客户端

一个使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:

(1)发布其他客户端可能会订阅的信息;
(2)订阅其它客户端发布的消息;
(3)退订或删除应用程序的消息;
(4)断开与服务器连接。

■ 3、MQTT服务器

MQTT服务器以称为"消息代理"(Broker),可以是一个应用程序或一台设备。它是位于消息发布者和订阅者之间,它可以:

(1)接受来自客户的网络连接;
(2)接受客户发布的应用信息;
(3)处理来自客户端的订阅和退订请求;
(4)向订阅的客户转发应用程序消息。

■ 4、MQTT协议中的订阅、主题、会话

一、订阅(Subscription)
订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。

二、会话(Session)
每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于>一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。

三、主题名(Topic Name)
连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

四、主题筛选器(Topic Filter)
一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。

五、负载(Payload)
消息订阅者所具体接收的内容。

■ 5、MQTT协议数据包结构

MQTT-协议原理

在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、可变头(Variable header)、消息体(payload)三部分构成。MQTT数据包结构如下:

(1)固定头(Fixed header)。存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识。
(2)可变头(Variable header)。存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容。
(3)消息体(Payload)。存在于部分MQTT数据包中,表示客户端收到的具体内容。

MQTT协议3.1.1中文版

■ MQTT.fx 界面介绍

在这里插入图片描述
连接设置
在这里插入图片描述
用户信息设置
在这里插入图片描述
SSL安全证书设置
在这里插入图片描述
网络代理设置
在这里插入图片描述
医嘱设置
在这里插入图片描述

■ MQTT.fx 界面介绍2

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

在这里插入图片描述

■ 1、MQTT.fx 连接服务器

在这里插入图片描述
下面是服务器地址
在这里插入图片描述
在这里插入图片描述

■ 2、MQTT.fx 发布测试 (Sublish)

在这里插入图片描述
先在服务器上订阅 在发布消息,服务器上才看的到
在这里插入图片描述
在这里插入图片描述

■ 3、MQTT.fx 订阅测试 (Subscribe)

在这里插入图片描述在虚拟机中发布一个主题nihao,消息内容为helloworld
在这里插入图片描述

■ 服务器-mosquitto

■ 1、服务器启动 mosquitto

在这里插入图片描述

sudo apt install mosquitto-clients  //安装客户端

sudo apt-get install mosquitto      //安装服务器端
sudo systemctl status mosquitto     //查看运行状态

//重启服务器程序
ps -aux | grep mosquitto        //查看运行进程号
kill -9 进程号        //执行命令杀死进程:
mosquitto -v         //启动代理服务:-v 详细模式——启用所有日志记录类型。

■ 2、服务器-订阅主题

订阅 nihao主题, 接受到如下信息
在这里插入图片描述

订阅主题:mosquitto_sub -v -t hello
      -t 指定订阅的主题,主题为:hello
      -v 详细模式 打印调试信息

■ 3、服务器-发布主题

服务器中发布一个主题nihao,消息韦helloworld
在这里插入图片描述

发布内容:mosquitto_pub -t hello -m world
      -t 指定订阅的主题,主题为:hello
      -m 指定发布的消息的内容

■ Ubuntu搭建mosquitto (下载源码编译)

■ 1、安装mosquitto所需要依赖

sudo apt-get install libssl-dev
sudo apt-get install uuid-dev
sudo apt-get install cmake

■ 2、下载源码包

wget http://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz

或者 下载链接
在这里插入图片描述

■ 3、解压源码 --编译与安装源码

tar -zxvf mosquitto-1.6.10.tar.gz
cd mosquitto-1.6.10/
make         //编译与安装源码
sudo make install

■ 在Ubuntu中安装mosquitto

■ 1. apt-get命令安装mosquitto

# 安装mosquitto
sudo apt-get install mosquitto
# 安装客户端
sudo apt-get install mosquitto-clients
# 安装设备端
sudo apt-get install mosquitto-dev

■ 2. 修改配置文件

配置文件地址:/etc/mosquitto/mosquitto.conf
从上面的源码地址中下载源码,然后找到mosquitto.conf文件,将其替换掉/etc/mosquitto/mosquitto.conf文件。
你也可以根据需求,阅读手册自己写mosquitto.conf

在这里插入图片描述

■ 3. 启动

mosquitto -c /etc/mosquitto/mosquitto.conf

■ 4. 其他处理

  • 查看运行状态 systemctl status mosquitto
  • 开启/关闭systemctl start/stop mosquitto
  • 查看进程ps -aux | grep mosquitto
  • 查看1883端口占用netstat -apn | grep 1883
  • 关闭进程kill -9 pid

■ 5. 在Ubuntu下测试mosquitto

mosquitto_sub -v -t hello       //订阅主题:
	-h 指定域名
	-t 指定订阅的主题,主题为:hello
	-v 详细模式 打印调试信息

mosquitto_pub -t hello -m world    //发布内容:
	-t 指定订阅的主题,主题为:hello
	-m 指定发布的消息的内容

在这里插入图片描述

■ 在Windows下用mqttfx和通信猫测试

■ 1. 通信猫订阅mqttfx发布的主题

在这里插入图片描述

■ 2. mqttfx订阅通信猫发布的主题

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

■ 3. mosquitto客户端订阅通信猫发布的主题

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

■ 4. 通信猫订阅mosquitto客户端发布的主题

在这里插入图片描述

■ 自己测试结果,(用www.tongxinmao.com 做服务器,测试结果)

■ 1、MQTT.fx 配置

在这里插入图片描述

■ 2、通信猫调试软件-配置

在这里插入图片描述

■ 3、MQTT.fx 发布主题消息,通信猫调试软件 订阅主题

在这里插入图片描述

■ 4、通信猫调试软件 发布主题, MQTT.fx 订阅主题消息

在这里插入图片描述

■ 通信猫调试助手

通信猫调试软件 V313
集串口、并口、USB、TCP、UDP、MQTT、蓝牙、WIFI、摄像头调试功能及众多实用小工具于一身的小体积绿色软件
通信猫调试软件 V313 下载地址

■ 阿里云物联网

添加链接描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于阿里云不支持物联网平台了。
下面我们连接 阿里推荐的 Tuya物联网平台阿里云版

看如下自己写的教程
设备连接涂鸦阿里云

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

光芒Shine

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

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

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

打赏作者

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

抵扣说明:

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

余额充值