mqtt学习记录

简介: mqtt学习记录

1 匿名登录

⾸先打开三个终端,

  1. 启动代理服务:mosquitto -v

-v 详细模式 打印调试信息
默认占⽤:1883端⼝

  1. 订阅主题:mosquitto_sub -v -t hello

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

  1. 发布内容:mosquitto_pub -t hello -m world

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

2 ⽤户名密码登录,配置接收的主题

mosquitto 配置文件修改

Mosquitto服务器的配置⽂件为/etc/mosquitto/mosquitto.conf,关于⽤户认证的⽅式和读取的配置都
在这个⽂件中进⾏配置。
allow_anonymous允许匿名
password_file密码⽂件
acl_file访问控制列表

cd 到 /etc/mosquitto
先拷⻉mosquitto.conf.example⼀份为mosquitto.conf

sudo cp mosquitto.conf.example mosquitto.conf

修改里面的内容如下:
在这里插入图片描述

添加⽤户信息

添加⽤户名 0voice_mqtt, 密码123456

sudo mosquitto_passwd -c /etc/mosquitto/pwfile 0voice_mqtt  

输入两次密码

⾃动⽣成密码⽂件:/etc/mosquitto/pwfile , 对应mosquitto.conf配置的“password_file
/etc/mosquitto/pwfile”路径。

添加topic和⽤户的关系

cd 到 /etc/mosquitto

sudo cp aclfile.example aclfile

在aclfile上末尾加上如下内容:

# write发布权限, mtpic/#代表mtopic这个前缀的主题, 以/分割前缀
topic write mtopic/#
# read订阅权限, mtpic/#代表mtopic这个前缀的主题, 以/分割前缀
user 0voice_mqtt
topic read mtopic/#

而且这里限制了接收的主题

登录演示

在这里插入图片描述

3 遗嘱机制

以前没有接触过,先了解下,示意图如下:在这里插入图片描述
正常断开:当客户端正常断开连接时,会向服务端发送DISCONNECT报文,服务端接收到该报文后,就
知道,客户端是正常断开连接,而并非意外断开连接。

意外断线:当服务端在没有收到DISCONNECT报文的情况下,发现客户端“心跳”停止了,这时服务端就
知道客户端是意外断线了。

  1. 因网络故障或网络波动,设备在保持连接周期内未能通讯,连接被服务端关闭
  2. 设备意外掉电
  3. 设备尝试进行不被允许的操作而被服务端关闭连接,例如订阅自身权限以外的主题等

。。。 更新 中

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
物联网 Java Linux
一文读懂物联网 MQTT 协议之实战篇
一文读懂物联网 MQTT 协议之实战篇
394 1
|
安全 网络协议 物联网
不看后悔系列之一篇搞懂LinuxCentOS搭建MQTT服务器及客户端操作使用
linux CentOS上搭建MQTT服务器并不难,主要就是用到了mosquitto这款消息代理服务软件。其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中。
2035 0
|
传感器 消息中间件 运维
Mqtt开发笔记:Mqtt服务器搭建
Mqtt开发笔记:Mqtt服务器搭建
Mqtt开发笔记:Mqtt服务器搭建
|
8月前
|
XML Go 数据格式
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
【微信公众号开发】基于golang的公众号开发——接入消息自动回复接口
446 0
EMQ
|
传感器 缓存 安全
MQTT 协议入门:基础知识和快速教程
本文将通过讲解与演示向读者展示 MQTT 协议的入门使用流程,开发者可以通过本文以更简单的方式理解 MQTT 相关概念,快速开始 MQTT 服务及应用的开发。
EMQ
3519 0
MQTT 协议入门:基础知识和快速教程
MQTT中客户端与服务器随笔
MQTT中客户端与服务器随笔
103 0
|
传感器 运维 网络协议
MQTT协议详解及v5.0实践
MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。可在不可靠的网络环境中进行扩展,适用于设备硬件存储空间或网络带宽有限的场景。 MQTT已逐渐成为IoT领域最热门的协议,也是国内外各大物联网平台最主流的传输协议,阿里云IoT平台很多设备都是通过MQTT接入。 本文将详细介绍MQTT协议的历史演进,以及阿里云IoT平台在MQTT协议层实践中的一些关键设计及思考。
6369 0
|
传感器 消息中间件 Web App开发
MQTT知识大全【科普贴】
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于客户端与服务器之间发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。为了保证通讯的安全性和可靠性,该协议基于TCP/IP协议构建。由IBM在1999年发布,最初被用于石油管道传感器与卫星的通讯连接,2014年,它正式成为一个OASIS开放标准并得到了大量开源语言的支持。
291 0