相关资源安装包
链接: https://pan.baidu.com/s/1q6-7blt0_gC719KMJ30_2A提取码: ur0e
1、先安装websocket再安装mosquitto,首先先安装相关依赖库
apt-get install libssl-dev libc-ares-dev uuid-dev
2、源码编译安装libwebsockets,将libwebsockets安装到/usr/local目录
apt-get install cmake
tar -zxvf libwebsockets-v1.5-stable.tar.gz -C /usr/local
cd /usr/local/libwebsockets-v1.5-stable
mkdir build
cd build
cmake ..
make
make install
3、源码形式编译安装的libwebsockets编译后默认把相关库安装到了/usr/local/lib目录下,为了编译mosquitto时能顺利调用到/usr/local/lib目录的库文件,需要修改系统库目录搜索路径。
打开/etc/ld.so.conf文件vi /etc/ld.so.conf,如下图在文件末尾添加一行/usr/local/lib,保存退出后,执行ldconfig命令。
4、确保没有旧的mosquitto-1.4.5。如果在之前安装过不支持websocket协议的mosquitto-1.4.5,应先卸载上一次已经安装的mosquitto-1.4.5的相关可执行程序与库文件,并执行make clean清除上一次编译的目标文件;
卸载已经安装的mosquitto-1.4.5,需要从源码位置执行make uninstall命令,prefix用于指定安装目录:
cd /usr/local/mosquitto-1.4.5
make prefix=/usr uninstall
make clean
5、安装mosquitto-1.4.5,先解压并进入源码目录:
cd /root
tar zxfv mosquitto-1.4.5.tar.gz -C /usr/local
cd /usr/local/mosquitto-1.4.5
6、修改config.mk文件(第68行,改为WITH_WEBSOCKETS:=yes)
vi config.mk
7、编译源码
make prefix=/usr install #安装到/usr目录
8、把源码目录下的默认配置文件复制到/etc/mosquitto目录,修改配置文件mosquitto.conf,增加websocket端口与协议
cd /etc/mosquitto
cp mosquitto.conf.example mosquitto.conf
vi mosquitto.conf
在/etc/mosquitto/mosquitto.conf 的“Default Listener”节添
加如下几行,即指定websocket运行在9001端口:
port 1883
listener 9001
protocol websockets
9、如果系统不存在mosquitto账号,请先建立mosquitto运行时所需要的用户账号
useradd mosquitto
10、指定默认配置文件启动运行mosquitto,使其支持websocket协议
mosquitto -v -c /etc/mosquitto/mosquitto.conf
11、基于websocket协议的MQTT消息通信演示测试
1)切换成NAT模式
2)使Windows可以ping通linux
3)启动mosquitto
4)执行订阅和发布:
12、MQTTBox测试,Protocal设置为ws,Host设置为mqtt服务器地址(即liunx ip地址)加上端口号:192.168.199.129:9001
Mqttbox订阅一个主题topicD
通过终端发布程序mosquitto_pub发布主题消息,
Mqttbox订阅端接收到消息