当前位置: 首页 > news >正文

mqtt学习记录

目录

  • 1 匿名登录
  • 2 ⽤户名密码登录,配置接收的主题
    • mosquitto 配置文件修改
    • 添加⽤户信息
    • 添加topic和⽤户的关系
    • 登录演示
  • 3 遗嘱机制

1 匿名登录

⾸先打开三个终端,

  1. 启动代理服务:mosquitto -v
    -v 详细模式 打印调试信息
    默认占⽤:1883端⼝
  2. 订阅主题:mosquitto_sub -v -t hello
    -t 指定订阅的主题,主题为:hello
    -v 详细模式 打印调试信息
  3. 发布内容: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. 设备尝试进行不被允许的操作而被服务端关闭连接,例如订阅自身权限以外的主题等

。。。 更新 中

http://www.lryc.cn/news/132667.html

相关文章:

  • 爬虫逆向实战(十八)--某得科技登录
  • Java-数组
  • Dart 入门Hello world
  • HTML是什么?
  • 【UniApp开发小程序】商品详情展示+评论、评论展示、评论点赞+商品收藏【后端基于若依管理系统开发】
  • rabbitMq安装后无法启动可视化页面http://localhost:15672处理
  • 材料行业可以转IC设计后端吗?
  • vue3 基础知识
  • 【线性代数-3Blue1Brown】- 2 线性组合、张成的空间与基
  • Kafka—工作流程、如何保证消息可靠性
  • 用户参与策略:商城小程序的搭建与营销
  • 可自定义实时监控系统HertzBeat
  • 无涯教程-Perl - sysread函数
  • Redis数据结构之String
  • React源码解析18(8)------ 实现单节点的Diff算法
  • 并查集路径压缩(Java 实例代码)
  • Educational Codeforces Round 153 (Rated for Div. 2)
  • 分布式 | 如何搭建 DBLE 的 JVM 指标监控系统
  • 下线40万辆,欧拉汽车推出2023款好猫尊荣型和GT木兰版
  • 【Python】使用python解析someip报文,以someip格式打印报文
  • C#与西门子PLC1500的ModbusTcp服务器通信2--ModbusTcp协议
  • SpringBoot + MyBatis-Plus构建树形结构的几种方式
  • linux vscode 下开发
  • 【工具】python代码编辑器--PyCharm下载安装和介绍
  • SpringBoot第44讲:SpringBoot集成Redis - Redis分布式锁的实现之Jedis(setNXPX+Lua)
  • STM32F4X USART串口使用
  • python实现两个字符串比对差异点
  • SQLite数据库实现数据增删改查
  • 【Golang系统开发】搜索引擎(2) 压缩词典
  • clickhouse修改默认密码