Linux mqtt服务器搭建:

  1. mqtt服务器依赖java环境,先从这个网址下载java的JDK文件
    下载链接
    注意不要下载错了,选择好自己的系统,千万不要下载成Demos文件
    我这里选择的是:
  2. 解压出来,将解压的 jdk1.8.0_144文件夹放到 /usr/local
  3. 修改环境变量在 ~/.bashrc 或者 /etc/profile最后加上

    当有了java命令时,java环境就搭建好了(记得把bin下所有的文件加上可执行权限
  4. 从这个网站下载apache-apollo文件
    下载链接 注意选择好自己的系统
    我这里选择的是:
  5. 解压出来 :cd apache-apollo-1.7.1/bin/
  6. 创建一个 mybroker:
./apollo create mybroker
  1. 进入里面执行文件:
cd  mybroker/bin            ./apollo-broker run

到这里服务器就创建好了,也可以让这个服务器后台运行

./apollo-broker run &

如果想要修改mqtt连接的端口号,在mybroker/etc/apollo.xml这个文件中,mqtt是通过tcp连接的,所以只需要改连接tcp的端口号就行

Windows mqtt服务器搭建:

  1. 运行jdk1.8.0_20164.msi 下载链接

  2. 下载apache-apollo-1.7.1文件 下载链接(Windows版的)
    我这里选择的是:

  3. 管理员身份运行cmd,进入到 apache-apollo-1.7.1/bin 中 执行命令:

apollo create myapollo C:\apache-apollo\broker

创建完之后c盘会出现apache-apollo这个文件夹

  1. 进入C:\apache-apollo\broker\bin目录下,执行如下命令:
apollo-broker run
  1. 打开http://127.0.0.1:61680/,用户名admin, 密码password 服务器就搭建好了 参考链接

Linux mqtt客户端创建:

mqtt客户端使用方法,下载 paho.mqtt.c-master源码,编译成动态库,直接调用动态库和头文件
paho.mqtt.c-master依赖 OpenSSL库

  1. 先下载最新OpenSSL 下载链接

  2. 交叉编译:

  3. 在 install 目录中,会生成很多头文件和库

  4. 接下来再交叉编译 paho.mqtt.c下载地址

  5. 交叉编译(注意路径,编译器一定要选择自己的

  6. 然后在build下的output下就能看到我们要使用的动态库了

    使用:
    源文件中加入 MQTTClient.h头文件,链接这三个动态库就可以创建MQTT客户端了参考链接

Windows mqtt客户端:

我直接使用的是mqtt客户端的一个小工具,非常好用下载链接

使用mqtt特别注意

MQTT掉线问题:

  1. 很有可能是连接时没有输入账号密码
  2. 网络问题

MQTT Client ID一定要唯一
MQTT的回调接受函数一定要返回1,不然可能会重复收到信息。

MQTT最重要的两个理念:QOS TOPIC
QoS 0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。
QoS 1:“至少一次”,确保消息可以到达,但消息可能会重复。
QoS 2:“只有一次”,确保消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。

TOPIC,只有订阅了这个topic,你才能收到关于这个topic的所有消息。
topic有两个常用的通配符 “+” 和 “#”

  1. "mode/+“如果订阅了这种topic,只是表示当前一层的。从当前的第二层就不行了。例如发送者发送"mode/op”,就可以收到。但是发送者发送"mode/op/type"就收不到了。
  2. "mode/#“如果订阅了这种topic,表示当前本身和下面子层所有。例如无论发送者发送"mode/op”,还是发送"mode/op/type"都可以收到信息。

MQTT协议详解 Linux、Windows服务器搭建,客户端创建相关推荐

  1. MQTT协议详解,非常易懂

    MQTT协议详解一 协议地址:http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html 当然也有PDF版的,百度 ...

  2. MQTT协议详解及开发教程(四)MQTT协议报文格式

    推荐一款稳定的基于C编写的MQTT Client开源库 cMQTT MQTT协议详解及开发教程(一)MQTT协议概述 MQTT协议详解及开发教程(二)MQTT服务器EMQx搭建 MQTT协议详解及开发 ...

  3. IoT:MQTT协议详解

    IoT -- (七)MQTT协议详解 转自:https://blog.csdn.net/anxianfeng55555/article/details/80908795 MQTT是什么? MQTT(M ...

  4. MQTT协议详解 二、MQTT控制包格式

    文章目录 系列文章目录 前言 一.MQTT控制包格式 二.固定包头 控制包类型 控制包类型标识 剩余长度 三.可变包头 数据包标识 四.载荷 系列文章目录 MQTT协议详解 一.MQTT简介 MQTT ...

  5. MQTT协议详解 一、MQTT简介

    文章目录 系列文章目录 前言 一.简述 二.主要特性 三.应用领域 四.常见术语 总结 系列文章目录 MQTT协议详解 一.MQTT简介 MQTT协议详解 二.MQTT控制包格式 MQTT协议详解 三 ...

  6. http发送16进制报文_阿里云物联网平台使用心得(25)MQTT协议详解UNSUBSCRIBE报文...

    题目 大家好,超子又和大家见面了,超子我能力有限,水平不高,有什么错误的地方,欢迎板砖.超子今天给大家介绍一下UNSUBSCRIBE报文. UNSUBSCRIBE报文 从上图中可知,UNSUBSCRI ...

  7. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  8. MQTT协议详解 三、MQTT控制包(CONNECT)

    文章目录 系列文章目录 前言 CONNECT(客户端请求连接服务端) 一.固定包头(2字节) 二.可变包头(10字节) 协议名字(6字节) 协议等级(1字节) 连接标识(1字节) Clean Sess ...

  9. MQTT协议详解及v5.0实践——实践类

    本文主要包含了以下内容: 1)MQTT协议演进历史及协议特点,总结和分析MQTT协议族的优缺点,分析和总结了为什么相比于其他协议,MQTT适合IoT,业内支持现状等. 2)阿里云IoT MQTT3和5 ...

最新文章

  1. 洛谷P1315 观光公交
  2. 追寻终极数据库 - 事务/分析混合处理系统的交付挑战 (1)
  3. Linux 内核中的 GCC 特性(zz)
  4. 手把手教你做一个react-redux-demo
  5. 不知道工作组名称怎样加入_剩米饭不知道怎样做?试试泡菜炒饭,再也不用担心米饭做多了...
  6. 格力宣布11月11日一天让利7亿元 全场空调最高降3900元
  7. PageRequestManager
  8. linq To DataTable
  9. Ubuntu,QT5连接MySQL
  10. jdk和jre和jvm区别_JDK,JRE和JVM之间的区别
  11. 计算机术语hpp,HPP(计算机术语)_百度百科
  12. 背景图片轮播html代码,一款常见的背景图片轮播动效
  13. word行首空格下划线_word空格处加下划线 word空格处下划线
  14. 国网站直接SHOPPING经验之总结, 和美国代购说拜拜~~新加 如何注册PAYPAL~~~~
  15. 喵呜效应再现!跨界新品齐聚天猫618,网友:一秒无
  16. eclipse中导入jmf的方法,在java中使用jmf播放音频文件的正确方式
  17. 【厚积薄发系列】C++项目总结20—pdb和dump服务器部署以及结合windbg自动下载
  18. 【Kubernetes 系列】Kubernetes 创建K8s集群项目
  19. group by注意事项
  20. 建设银行的短信服务原来是这样取消的。

热门文章

  1. Linux 用户 组 权限 管理
  2. 对视频中的车辆进行计数,MATLAB仿真
  3. WIN10开机前自启进程
  4. 使用PG_STAT_REPLICATION监视复制
  5. 求两个文件的相对路径
  6. svchost.exe是什么进程,svchost.exe是病毒吗?
  7. 张宇基础三十讲(第一轮复习中不会做的题目留存)
  8. 【第二部分 图像处理】第4章 Opencv图像处理高阶【2毛玻璃滤镜】
  9. 苹果锻造者Jonathan Ive
  10. 【转载】DC-DC自举电容(BOOT)几个问题