支持websockets的MQTT服务器编译安装和桥接模式设置

一、libwebsockets和mosquitto编译安装配置

centos7下
因为要把物联网状态数据实时显示在web上,所以把平台的数据按照规则做个出站转发给支持websockets的MQTT服务器
mosquitto默认不支持websockets,所以需要自己手动编译一套
需要安装各类支持库,libwebsockets需要手动编译一下

yum install gcc gcc-c++ openssl-devel c-ares-devel libuuid-devel 
git clone https://github.com/warmcat/libwebsockets.git

下载完成后

cd libwebsockets
mkdir build
cd build
cmake ..
make
sudo make install
git clone https://github.com/eclipse/mosquitto.git
vim config.mk

将WITH_WEBSOCKETS=no 改成 yes

make
make install

接下来修改配置文件

cp /etc/mosquitto/mosquitto.conf.example  /etc/mosquitto/mosquitto.conf
vim /etc/mosquitto/mosquitto.conf

修改

port 1883
listener 9001
protocol websockets
然后启动即可

mosquitto -c /etc/mosquitto/mosquitto.conf

后台运行

mosquitto -c /etc/mosquitto/mosquitto.conf -d

启动并查看调试

mosquitto -c /etc/mosquitto/mosquitto.conf -v

二、配置MQTT服务器桥接

这个功能主要是在MQTT服务器之间做消息的topic转换传递。
因为桥接是mosquitto服务的一部分功能,所以上边的配置不用动,修改/etc/mosquitto/mosquitto.conf的Bridges部分即可

#log_type all
connection bridge-1
address 192.168.1.40:1883
topic input/jsonp both 0 xinti/  sw/zhongti/
topic input/json both 0 xinti/  sw/zhongti/
topic command/# both 0 xinti/  sw/zhongti/
#bridge_attempt_unsubscribe true
#notifications false
clientid 1_6
cleansession true

大概解释一下这个配置的大概意思
connection bridge-1 bridge-名称,自己随便起
address 192.168.1.40:1883是另外一MQTT服务器的地址和端口
topic input/jsonp both 0 xinti/ sw/zhongti/ 对本地topic:xinti/input/jsonp 和192.168.1.40的topic:sw/zhongti//input/jsonp做个相互转换。
即本地接收的主题为xinti/input/jsonp的消息会被本地MQTT服务器自动以sw/zhongti//input/jsonp主题发布给192.168.1.40;
从192.168.1.40订阅的主题为sw/zhongti//input/jsonp的消息会被本地以xinti/input/jsonp为主题发布给本地MQTT服务器。
当然你也可以设置connection bridge-2、connection bridge-3实现多个MQTT服务器之间的桥接
可以使用通配符,完全转发使用topic # both 0 “” “”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值