日记:现在是2021年6月13日 11:51:20

【物联家居】总目录

目录

一、安装

二、测试

1、匿名模式

2、用户模式

3、指定用户只能订阅指定的主题


一、安装

相关依赖:

#libssl-dev libssl-dev是OpenSSL通用库,是一种为传输敏感数据而提出的协议;
#uuid-dev主要用于通用唯一识别码;
#cmake是一个跨平台的安装(编译)工具(如果在以前安装过则可以不安装)。sudo apt-get install libssl-dev
sudo apt-get install uuid-dev
sudo apt-get install cmake

下载mosquitto:

下载mosquitto安装包:
wget http://mosquitto.org/files/source/mosquitto-1.6.5.tar.gz解压:
tar zxfv mosquitto-1.6.5.tar.gz编译和安装:
make && make install

安装完成,创建用户、密码:

#mqtt为用户名:
mosquitto_passwd -c /etc/mosquitto/pwfile mqtt 然后根据提示输入密码:
Password:
Reenter password: 

现在进入mqtt文件目录:

cd /etc/mosquitto/

由于mqtt启动需要读取配置文件,这里把example配置文件改为mosquitto.conf

mv mosquitto.conf.example mosquitto.conf 

以后有特殊的配置,可以在mosquitto.conf配置,启动方式:

mosquitto -c /etc/mosquitto/mosquitto.conf

可能会遇到的问题:

在启动mosquitto的时候,可能会出现找不到libmosquitto.so.1的情况

先找到安装包下的这个文件

#home是你下载mosquitto时的下载路径。
find /home -name libmosquitto.so.1

移动至mosquuitto的系统动态库中:

cp /home/mosquitto-1.6.5/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1#或者软链过去也行:
#ln -s /home/mosquitto-1.6.5/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

二、测试

1、匿名模式

订阅主题消息:

# -h为指定ip地址,-t为订阅的主题
mosquitto_sub -h localhost -t test/hass

发布主题消息:

mosquitto_pub -h localhost -t test/hass -m "Hello, i m szymou"

2、用户模式

修改配置文件:

vim /etc/mosquitto/mosquitto.conf

找到allow_anonymous和password_file,改为以下:

重新mosquitto,新增用户和密码:

#abc是用户名
mosquitto_passwd -c /etc/mosquitto/pwfile abc

此时如果像第一步的匿名模式订阅/发布主题消息会提示:

Connection error: Connection Refused: not authorised

这是因为mosquitto刚配置了用户权限,所以订阅/发布主题消息需要如下操作:

订阅主题消息:

# -h为指定ip地址,-t为订阅的主题,-u为用户,-P为密码
mosquitto_sub -h localhost -t top -u abc -P 123456

发布主题消息:

mosquitto_pub -h localhost -t top -u abc -P 123456 -m "Hello, i m szymou"

3、指定用户只能订阅指定的主题

修改配置文件:

vim /etc/mosquitto/mosquitto.conf

找到acl_file,取消注释,输入配置文件aclfile路径:

编辑aclfile,指定用户abc只能订阅/发布主题为topp的消息:

重启mosquitto,尝试订阅主题为top的消息:

/etc/mosquitto# mosquitto_sub -h localhost -t top -u abc -P 123456

然后连续发布主题为top的消息,发现订阅窗口没有收到消息:

尝试订阅主题为topp的消息:

/etc/mosquitto# mosquitto_sub -h localhost -t topp -u abc -P 123456

然后连续发布主题为topp的消息,发现订阅窗口收到消息:

日记:当前时间2021年6月13日 19:41:46

【物联家居】第四章:传输协议--mqtt配置与测试相关推荐

  1. 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心

    日记:现在是2021年6月12日 14:07:18. [物联家居]总目录 目录 一.玩客云 二.需要材料 三.刷入Armbian 步骤一:刷底包 步骤二:把armbian固件写入U盘(同sd卡) 步骤 ...

  2. 第四章 Http协议详解

    第四章 Http协议详解 1.http协议简介: (1)WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. (2)HTTP是hypertext trans ...

  3. 鸟哥的Linux私房菜(基础篇)- 第二十四章、 X Window 配置介绍

    第二十四章. X Window 配置介绍 最近升级日期:2009/08/07 在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 罗!为何称之为系统呢?这 ...

  4. 第二十四章、 X Window 配置介绍

    好文章 第二十四章. X Window 配置介绍 http://vbird.dic.ksu.edu.tw/linux_basic/0590xwindow.php 最近升级日期:2009/08/07 在 ...

  5. python环境设置_CentOS 7.2环境搭建实录(第四章:python环境配置)

    第四章:python环境配置 使用环境工具 python 环境工具 python 2.7.5 # python2版本,系统自带 pip 9.0.1 # python2版本的pip,python工具集, ...

  6. 《TCP/IP详解》笔记----第四章 ARP协议

    第四章 ARP地址解析协议 1.概述 ARP地址解析协议为IP地址和物理地址之间提供动态的映射. 2.以太网中ARP请求包的具体格式 以太网目的地址:这里是ARP请求,这里填写FF:FF:FF:FF: ...

  7. 【新手上路常见问答】关于物联网传输协议MQTT

    1.物联网数据传输的要求是什么? 物联网中的数据传输会面临很多挑战.采集发送数据的终端能耗应该较小,在低带宽和不稳定的网络情况下,需要保证数据的传输是成功的,保证数据不被重复发送,连接断开后可以进行重 ...

  8. 工业5G/4G边缘计算网关服务端协议-MQTT配置教程

    本文以图文结合的方式,介绍MQTT的配置,包括配置MQTT发布主题.MQTT注册主题.MQTT用户名.MQTT密码.客户端ID等. 一.什么是MQTT MQTT (Message Queue Tele ...

  9. 四章: CentOS6.5 配置连接Windows远程桌面、创建新用户、禁用root在本地或远程使用ssh登录

    1,配置连接Windows远程桌面 yum -y install freerdp xfreerdp -g 800x600 -u administrator 192.168.31.13 2,rz.sz ...

  10. 吴恩达机器学习学习笔记第四章:python的配置

    python有两个版本分python2和python3这两个可以说是截然不同了 市面上python语言基础的书籍大多停留在python2 本人紧跟时代潮流 使用的是python3.6 如果你也想学对p ...

最新文章

  1. shiro+redis实现session共享
  2. 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——1.2 数字图像处理与机器视觉...
  3. ArcEngine 图层标注 (根据字段、角度)
  4. 打开方式中选择默认方式无反映_「Windows」得看,更改文件的默认应用,告别“打开方式”...
  5. 依图要修AI语音双学位,左手摸底考第一名成绩单,右手开放平台方案
  6. Python Socket模块实现服务端与客户端通信
  7. 用计算机绘制函数图像,用计算机绘制函数图像
  8. EGNet实验中.lst文件的生成方法
  9. 一文看懂:Android-Q版本在安全方面进行了哪些系统性改进
  10. 树状数组详解(附图解,模板及经典例题分析)
  11. C语言初学基础篇:No such file or directory 报错 ( C-Free 5 软件使用 )
  12. 潜匿的怪物,你的供应链真的安全吗?
  13. Falsehoods Programmers Believe About Names
  14. 如何一键处理掉Excel表格中的地域词?
  15. 全志T507操作小技巧连载2-T507以太网配置方法- 飞凌嵌入式国产全志T507开发板
  16. 没有内存,怎么还能跑程序呢
  17. token过期后刷新token并重新发起请求
  18. redhat/CentOS6/7/8离线安装依赖包pcre-devel zlib zlib-devel openssl openssl-devel gcc gcc-c++等编译包
  19. 计算机图形学-颜色科学基础
  20. 进制转化及数据类型相关内容

热门文章

  1. laravel安装barryvdh/laravel-snappy 笔记
  2. 【Hadoop】Hadoop Snappy 安装 (Ubuntu 16.04)
  3. 飞行CSS3导航菜单
  4. linux .otf文件,otf文件扩展名,otf文件怎么打开?
  5. 指狗为马,还可骑乘?小鹏快收了你的神通吧...
  6. 吉大17秋计算机应用二,吉大17秋《计算机应用基础》在线作业二.doc
  7. Gartner:VPT技术原理 ——如何确定网络攻击面上的风险优先级
  8. Busiest Computing Nodes
  9. 仿小米通讯录 右侧滑动条与带动画的悬停列表实现(一)
  10. 海思SDK学习(5)海思媒体处理软件平台MMP(4)VO视频输出