简介:主要介绍mqtt客户端的测试工具的使用,及服务端的搭建步骤,技术选型等。客户端测试工具使用MQTTX。服务端使用emqx中间件进行部署及发布。以及emqx服务端如何进行配置。以及MQTTX如何与服务端进行建立连接和通信。
下载MQTTX客户端
下载地址:http//mqttx.app/
如下图:
服务端emqx搭建:linux环境下部署
说明:操作系统centos7
安装方式: rpm 安装
cpu架构:amd64
命令下载emqx 执行如下命令:
wget https://www.emqx.com/zh/downloads/broker/4.4.1/emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm
安装执行如下命令:
sudo yum install emqx-4.4.1-otp24.1.5-3-el7-amd64.rpm
运行及启动执行如下命令:
sudo emqx start
查看启动状态执行如下命令:
emqx_ctl status
如果出现如下结果,则认为启动成功,如下命令列表
$ emqx start
emqx v4.0.0 is started successfully!
$ emqx_ctl status
Node ‘emqx@127.0.0.1’ is started emqx 4.0.0 is running
这种安装方式可能会报依赖错误如:
错误:Please make sure openssl-1.1.1 (libcrypto) and libncurses are installed.Also ensure it’s running on the correct platform,this EMQ X release is built for 23.2.7.2-emqx-3-x86_64-unknown-linux-gnu-64-centos7
解决办法:这是因为缺少依赖包:缺少 openssl1.1.1
安装并编译: openssl
cd /usr/local/src/
下载wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar xf openssl-1.1.1d.tar.gz
编译
cd openssl-1.1.1d
./config
make && make install
安装完成后 路径:/usr/local/bin
安装完成后即可正常启动emqx
注意的问题
客户端连接时一直连接不上原因是没有关掉防火墙,这种问题:主机windows能ping通无法访问虚拟机Linux中tomcat服务,这种问题一般都是由防火墙过滤了端口导致的。)
修改Linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一行
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
就可以了,其中 8080 是要开放的端口号,然后service iptables restart 重新启动linux的防火墙服务就可以了
emqx服务端支持多种协议:
1、ws :即websocket。
2、tcp协议
3、mqtt协议
服务端默认配置,可查看服务端配置文件。配置文件所在路径:
/etc/emqx/emqx.conf
查看配置文件
可以发现有3个默认端口号:8083 为websocket默认端口、18083为管理控制台端口(默认用户名密码:admin/public)1883为tcp端口。如下图所示
管理控制台登录界面:访问地址:ip:18083。如果访问不到一定要记得关掉防火墙或添加端口。
上述一切准备就绪后,开始使用客户端工具mqttx与服务端建立连接,mqttx既能发布消息也能订阅消息。如下图所示
发布与订阅