1、下载mosquitto源码

官网下载地址:https://mosquitto.org/download/

选择最新的1.5.5.版本下载。

2、编译

解压源码包:

# tar axvf mosquitto-1.5.5.tar.gz
# cd mosquitto-1.5.5
# make

若出现如下提示:

这是因为找不到openssl头文件所导致的。根据自己的需求,是否需要进行ssl加密,若不需要,注释config.mk文件中的 WITH_TLS:=YES 选项即可。

若需要进行ssl加密,则首先需要确认自己是否安装openssl库,可使用find命令进行查询。

# find /usr/ -name "openssl"

若没有安装,请参考:https://blog.csdn.net/fangye945a/article/details/86658621 进行openssl安装。

若已经安装,则需修改工程目录下config.mk文件,添加openssl的在你电脑中的库路径和头文件路径即可,如下所示:

若需要编译mosquito静态库需要将WITH_STATIC_LIBRARIES设置为yes,如下所示。

修改后保存退出,即可进行编译、安装。

# make
# sudo make install

如果需要交叉编译,则LDFLAGS和CFLAGS需要指定交叉编译版本的ssl库路径和头文件。然后在执行make时,通过CC 和 CXX指定交叉编译工具链即可:

# make CC=arm-xxx-gcc CXX=arm-xxx-g++
# sudo make install

若遇到其他依赖问题可参考:

https://blog.csdn.net/xukai871105/article/details/39252653

3、 搭建mqtt服务器

进入mosquitto配置目录,修改配置文件:

# cd /etc/mosquitto
# cp mosquitto.conf.example mosquitto.conf   //拷贝一份配置文件示例
# sudo vim mosquitto.conf                //修改mosquitto配置文件

设置服务器端口号:

若mqtt服务器需要设置账号和密码,则需设置 允许匿名访问 为false

指定登录验证密码文件:

也可指定mqtt服务器主题与用户之间的关系文件(可限定某个用户只能订阅设置的特定的主题,若不愿限制不设置即可)

配置topic与用户的关系:

如下含义为:只允许fangye用户订阅主题名以hello/开头的主题。

创建密码文件:

指定配置文件后台允许mqtt服务程序。

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

如下提示则表示运行成功

4、订阅、发布测试

订阅:

# mosquitto_sub -h 192.168.10.106 -p 1883 -u fangye -P 123 -t hello/world

发布:

# mosquitto_pub -h 192.168.10.106 -p 1883 -u fangye -P 123 -t hello/world -m 123

测试结果:

若订阅的主题名称不符合之前acl文件中设置的规则,订阅能够成功,但是收不到发布到对应主题的消息,如图:

若提示:

这是因为mosquitto库没有在系统环境变量路径下,需在/usr/lib下建立mosquitto库的软链接,如下所示:

# sudo ln -s  /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

mosquito编译、交叉编译和mqtt服务器搭建相关推荐

  1. MQTT服务器搭建和测试步骤及遇见的问题

    MQTT服务器搭建和测试步骤及遇见的问题 前言:MQTT服务器有好多种,查看:Servers/Brokers Apache-Apollo:一个代理服务器,在ActiveMQ基础上发展而来,可以支持ST ...

  2. Mqtt开发笔记:Mqtt服务器搭建

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  3. Windows上Mqtt服务器搭建与使用客户端工具MqttBox进行测试

    场景 MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的" ...

  4. 基于ZigBee的智能家居设计与实现—MQTT服务器搭建+APP开发

    目录 MQTT服务器搭建 APP开发 易安卓环境搭建 易安卓基础介绍 关于易安卓 新建工程 界面介绍 易安卓使用到的操作演示 易语言使用到的语法演示 MQTT实现 MQTT组件介绍与添加 重点介绍 A ...

  5. 从零开始开发物联网项目(1)——mqtt服务器搭建

    去年开发了一个物联网的项目,入了很多坑,花了很多时间,不过最后终于做出了一个初代版本,也算完成了项目.为了避免自己遗忘,也为了让有兴趣学习物联网的同学少入点坑,我整理了一下,写成一个系列教程.通过这个 ...

  6. 阿里云MQTT服务器搭建与测试(全图文,非常详细)

    阿里云MQTT服务器搭建与测试 一. MQTT概念 二. 阿里云MQTT服务器搭建 1 阿里云平台注册及认证 2 添加平台 2 创建产品与设备 获取MQTT连接相关信息 三.MQTT.fx测试 1 M ...

  7. MQTT服务器搭建与试用,桌面工具连接MQTT服务器

    简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程传感器和控制设备通 ...

  8. 一步一步来:MQTT服务器搭建、MQTT客户端使用

    物联网应用如火如荼,本文就物联网应用中最受青睐的协议 MQTT相关测试工具的使用进行简单说明. 希望此文能给需要用到的朋友一些微薄的帮助-- 一.MQTT服务器( emqx )搭建 1. 下载服务器M ...

  9. mqtt服务器搭建与qt下的mqtt客户端实现

    一.mqtt介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个基于客户端-服务器的消息发布/订阅传输协议.MQTT协议是轻量.简单. ...

最新文章

  1. Linux组管理和权限管理
  2. Devexpress 重新编译以后 重新生成DEMO
  3. Maven-atguigu
  4. MySQL查询中LIMIT的大offset导致性能低下浅析
  5. 如何配置Filter过滤器处理JSP中文乱码
  6. 软件工程-团队作业1
  7. js吧键值对变成对象_【面试题】和Vue.js有关的41个基础问题
  8. mybatis中mysql递归查询多级_Mybatis + mysql 实现两级级联的查询
  9. 【西藏攻略+游记】十一,我们去西藏(1)攻略
  10. BOOST电路参数计算
  11. ME525 刷机历险记
  12. Cisco交换机密码修复
  13. 2022-2028年全球厨房炉灶行业供需分析及发展前景研究报告
  14. 入手python难不难_Python难不难?容易学吗?
  15. 达人评测 骁龙778g和骁龙780g的区别 选哪个好
  16. CF1265E Beautiful Mirrors
  17. 2018 mac下安装redis 和 redis可视化工具rdm并且连接redis
  18. Android基于卷积神经网络的数字手势识别识别数字手势0-10 Android studio编译
  19. 基于 RFID 与 ZigBee 智能汽车装配生产线车模追溯系统
  20. win10 无限闪屏闪桌面

热门文章

  1. C3P0数据库连接池源代码
  2. es - ex - the default discovery settings are unsuitable for production use
  3. Environment.Exit(0)和Environment.Exit()方法
  4. 长水教育集团冲刺上市:规模增长、毛利下降,管理层套现约2亿元
  5. 量化投资学习——因子IC、IR的介绍(转载)
  6. Equinox OSGi系列之一 Equinox入门
  7. Equinox Servlet
  8. shuriken粒子系统(3)
  9. vue+大文件上传控件
  10. java-net-php-python-jspm体育展示信息管理系统计算机毕业设计程序