MQTT服务器搭建–Mosquitto[通俗易懂]

MQTT服务器搭建–Mosquitto[通俗易懂]MQTT服务器搭建–Mosquitto1.Mosquitto简介MQTT(MQTelemetryTransport),消息队列遥测传输协议,轻量级的发布/订阅协议, 适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上的标准协议了。值得一提的是mqtt提供三种不同质量的消息服务:l “至多一次”:消息发布完全依赖底层 TCP/IP 网络。

大家好,又见面了,我是你们的朋友全栈君。

MQTT服务器搭建–Mosquitto

1.Mosquitto简介

MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议, 适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上的标准协议了。值得一提的是mqtt提供三种不同质量的消息服务:

l “至多一次”:消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

l “至少一次”:确保消息到达,但消息重复可能会发生。

l “只有一次”:确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

2.Mosquitto下载

下载地址:http://mosquitto.org/download/

需要准备的文件:mosquitto-1.4.11.tar.gz,libwebsockets-v1.6-stable.tar.gz

MQTT服务器搭建--Mosquitto[通俗易懂]

3.Mosquitto安装

将安装包上传到centos操作系统里面,安装依赖包:

# yum -y install gcc gcc-c++c-ares-devel libuuid-devel wget cmake MQTT服务器搭建--Mosquitto[通俗易懂]

MQTT服务器搭建--Mosquitto[通俗易懂]

解压、安装libwebsockets-v1.6-stable.tar.gz

# tar -zxvflibwebsockets-v1.6-stable.tar.gz

MQTT服务器搭建--Mosquitto[通俗易懂]

进入目录libwebsockets-v1.6-stable

# cdlibwebsockets-v1.6-stable

MQTT服务器搭建--Mosquitto[通俗易懂]

编译&安装

# mkdir build

# cd build/

# cmake ..

MQTT服务器搭建--Mosquitto[通俗易懂]

# make && make install

MQTT服务器搭建--Mosquitto[通俗易懂]

解压、安装libwebsockets-v1.6-stable.tar.gz

MQTT服务器搭建--Mosquitto[通俗易懂]

进入mosquitto-1.4.11目录,并修改config.mk支持websocket

MQTT服务器搭建--Mosquitto[通俗易懂]

# vim config.mk

MQTT服务器搭建--Mosquitto[通俗易懂]

编译&安装

# make && make install

MQTT服务器搭建--Mosquitto[通俗易懂]

创建软连接、创建mosquitto用户组

# ln -s /usr/local/lib/libwebsockets.so.6/usr/lib64/libwebsockets.so.6

#groupadd mosquitto

#useradd -g mosquitto mosquitto

MQTT服务器搭建--Mosquitto[通俗易懂]

4.Mosquitto配置

进入目录/etc/mosquitto/将mosquitto.conf.example拷贝一份为mosquitto.conf,将pwfile.example拷贝一份为pwfile

MQTT服务器搭建--Mosquitto[通俗易懂]

修改mosquitto.conf

MQTT服务器搭建--Mosquitto[通俗易懂]

MQTT服务器搭建--Mosquitto[通俗易懂]

MQTT服务器搭建--Mosquitto[通俗易懂]

5.Mosquitto运行

启动mosquitto

# mosquitto -c/etc/mosquitto/mosquitto.conf

MQTT服务器搭建--Mosquitto[通俗易懂]

6.Mosquitto测试

打开一个终端作为订阅端,订阅‘mqtt’主题:

# mosquitto_sub -t mqtt

MQTT服务器搭建--Mosquitto[通俗易懂]

再打开一个终端作为发布端,指定主题‘mqtt‘推送消息

# mosquitto_pub -h localhost -tmqtt -m “hello world”

MQTT服务器搭建--Mosquitto[通俗易懂]

在订阅了’mqtt‘的订阅端会接收到消息

MQTT服务器搭建--Mosquitto[通俗易懂]

7.Mosquitto错误解决

在安装过程中,或测试过程中可能会遇到错误:

mosquitto_sub: errorwhile loading shared libraries: libmosquitto.so.1: cannot open shared objectfile: No such file or directory

解决方法:

# cat/etc/ld.so.conf

# echo”/usr/local/lib”>>/etc/ld.so.conf

# ldconfig

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138564.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javaweb-springMVC-56

    javaweb-springMVC-56

    2021年5月18日
    125
  • Java集合汇总篇「建议收藏」

    Java集合汇总篇「建议收藏」一.集合框架Java集合框架一些列的接口和类来实现很多常见的数据结构和算法,例如LinkedList就是集合框架提供的实现了双向链表的数据结构,关于这一篇文章建议大家收藏,我会不断地完善和扩充它的内容,例如最下面的系列文章我以后也会对它进行不断的更新集合框架的接口集合框架提供了很多接口,这些接口都包含了特定的方法来实现对集合上的特定操作)我们将要学习这些接口以及子接口和它们的各种实现类,在开始之前我们先简单学习一下这些广泛运用的接口,可以看到整个集合框架,总共有三个顶级接口Collecti

    2022年7月16日
    16
  • 嵌入式语音识别智能家居笔记1

    嵌入式语音识别智能家居笔记11.环境VMware15.5Ubuntu18.04Qt安装包2.共享目录设置VMware->虚拟机->设置->选项->共享文件夹3.QT的linux安装包:qt-opensource-linux-x64-5.9.1.run复制到共享目录打开终端:cd/mnt/hgfs/sharesudo./qt-opensource-linux-x64-5.9.1.run4.直接搭服务器失败(1)sudodate-s2016-…

    2022年6月26日
    22
  • jenkins自定义构建参数_jenkins参数化构建

    jenkins自定义构建参数_jenkins参数化构建前言当我们的自动化项目越来越多的时候,在代码仓库会提交不同的分支来管理,在用jenkins来构建的时候,我们希望能通过参数化构建git仓库的分支。下载安装GitParameter插件系统管理-

    2022年7月29日
    5
  • 机房收费系统—详细设计说明书

    机房收费系统—详细设计说明书详细设计说明书1引言1.1编写目的说明编写这份详细设计说明书的目的,指出预期的读者。该文档是在概要设计的基础上,进一步的细化系统结构,展示了软件结构的图表,物理设计,数据结构设计,以及算法设计,详细的介绍了系统各个模块是如何实现的,包括涉及到的算法,逻辑流程等,为下一步系统的实现和测试做准备。 预期读者:编码人员,项目负责人1.2背景A.软件名称:机房收费系统B

    2022年5月8日
    65
  • nodejs安装淘宝镜像(配置淘宝镜像)

    强烈推荐30个原生JavaScript的demo,包括canvas时钟特效、自定义视频播放器、搜索栏快速匹配、fetch访问资源、console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞~~~谢谢,共同进步学习!将npm的注册表源设置为国内的镜像1、国内用户,建议将npm的注册表源设置为国内的镜像,可以大幅提升安装速度2、国内优秀npm镜像推荐及使用:http://rin…

    2022年4月18日
    943

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号