一. 为什么选择在ubuntu下安装服务器的原因
因为考虑后使用wireshark抓取MQTT数据包来进行对MQTT协议分析, mqtt客户端使用的是eclipse.paho.ui.app(安装在windows下,后续将介绍如何安装),如果将mqtt服务器安装在windows下,那么wireshark无法捕获localhost数据包(可能有其他办法搞定,总之没必要麻烦,而且将服务器安装在ubuntu一方面也可以模拟实际mqtt服务器在遥远的主机上的现实情况, 何乐而不为呢)。
二. ubuntu安装MQTT服务器
这里选择的是mosquitto
1.引入mosquitto仓库并更新
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
2. 更新依赖
sudo apt-get update (注意这里我使用root模式,避免后续权限麻烦)
3. 安装mosquitto
sudo apt-get install mosquitto
4. 查看mosquitto服务是否开启
sudo service mosquitto status
如果active显示running,至此说明mqtt服务器已成功开启 , 可以使用以下命令
开启/停止 mosquitto服务:
sudo service mosquitto start
sudo service mosquitto stop
*特别说明: 实验中的ubuntu(16.04)系统是安装VM虚拟机中,这里网络设置是选择桥接模式(后续wireshark抓包亲测可用,如读者使用NAT模式,如后续wireshark无法抓取包,可考虑该设置导致)
三. Windows下安装MQTT客户端
1. 安装Eclipse Paho MQTT工具, 下载地址: https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.0.2/
2. 解压缩后, 双击paho.exe,打开后界面如下, 点击"+" 创建一个连接(名字可自定义编辑)
至此MQTT客户端已安装成功
四. 连接ubuntu中MQTT服务器
1. 先查看ubuntu的ip地址, 使用ifconfig命令查看:
这里ubuntu的ip地址为: 192.168.1.107
2. 设置mqtt客户端连接参数
3. 点击"连接",如出现如下图,则表示连接成功
至此MQTT环境搭建成功,后续大家根据自己的需求尝试不同的配置,进行测试,相信大家能对MQTT通讯协议有深入的了解!