Paho-mqtt.js实现基于MQTT协议的js websocket

一 MQTT协议简介
二 MQTT服务端搭建
三 MQTT客户端搭建
四 使用websocket连接

一 MQTT协议简介

MQTT,即Message Queuing Telemetry Transport(消息队列遥测传输协议),此协议是构建于TCP/IP协议上的。其最大的优点在于可以用极少的代码以及有限的带宽,为连接远程设备提供实时可靠的消息服务。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。

Paho-mqtt.js实现基于MQTT协议的js websocket_第1张图片

二 MQTT服务端搭建

此处的MQTT服务器我们使用mosquitto。由于我使用的是Mac,以下的下载以及安装都以mac环境为例
下载的链接如下:http://mosquitto.org/download/

1. 安装

brew install mosquitto

2. 安装成功后, 配置服务器地址和端口号

vim /usr/local/Cellar/mosquitto/1.5.8/etc/mosquitto/mosquitto.conf

3. 修改mosquitto.conf文件中 bind_address的值
Paho-mqtt.js实现基于MQTT协议的js websocket_第2张图片
4. 在mosquitto.conf文件的最后添加如下所示的几行

Paho-mqtt.js实现基于MQTT协议的js websocket_第3张图片
5 . 然后保存

:x

6. 使用以下命令开启/关闭mosquitto

brew services start mosquitto		//开启
brew services stop mosquitto		//关闭
brew services restart mosquitto		//重启

7. 订阅

重新开一个终端,输入以下命令

mosquitto_sub -t mqtt -u test -P t123456

Note: 以上命令中涉及的参数含义如下:
-t 要订阅的topic
-u 用户名
-P 密码
关于mosquitto_sub命令参数的参考如下(以下命令可以通过输入mosquitto_sub --help获得):

Paho-mqtt.js实现基于MQTT协议的js websocket_第4张图片
Paho-mqtt.js实现基于MQTT协议的js websocket_第5张图片

三 MQTT客户端搭建

客户端主要是使用基于javascript的Paho-mqtt.js。

下载地址如下(使用的是src/Paho-mqtt.js文件):https://github.com/eclipse/paho.mqtt.javascript

官方文档地址:https://www.eclipse.org/paho/files/jsdoc/index.html

四 websocket连接

实现代码如下:
Paho-mqtt.js实现基于MQTT协议的js websocket_第6张图片
运行程序后,打开刚刚你输入了mosquitto_sub命令的终端,此时能够看到你刚刚发送的"Hello",而在浏览器中,也能看到你刚刚发送的命令以及websocket的连接状态如下:

Paho-mqtt.js实现基于MQTT协议的js websocket_第7张图片

你可能感兴趣的:(TCP/IP)