前言:

最近小编在折腾Arduino,为了让板子联网又买了ESP8266 NODEMCU (wifi模块,也是一个单片机)。虽然能通过烧录的程序通过http请求自己的服务器接口,但是显然并不符合当下主流的物联网方式,并且定时请求接口还浪费资源。

于是就引出了MQTT协议,在网上我也找了关于MQTT代理服务的软件也有很多。比如Eclipse基金会的Mosquitto ,以及Apache的 Apollo,当然还有很多主要看自己的需求,而我选择了国内的EMQ。

MQTT简介:

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。

EMQ简介:

EMQ X Enterprise 企业级物联网 MQTT 消息平台,支持百万级物联网设备一站式接入、MQTT&CoAP 多协议处理、低时延实时消息通信。支持基于 SQL 的内置规则引擎,灵活处理/转发消息到后端服务,存储消息数据到各种数据库,或桥接 Kafka、RabbitMQ 等企业中间件。

实现思路:

1. 使用EMQ搭建MQTT的代理服务器。

2. 后台(PHP)可以通过phpMQTT类库或者通过安装扩展作为客户端连接mqtt代理,发布消息或订阅主题,和将消息存入数据库等等。

3. 硬件Esp8266 NodeMCU通过mqtt库连接代理,同样的发布消息或者订阅主题。

搭建过程:

1. EMQ官网点击下载,产品->EMQ X Broker->下载。

windows代理服务器搭建(windows搭建socks5服务器教程) 第1张  windows代理服务器搭建(windows搭建socks5服务器教程) 第2张  

2. 根据自己系统,选择下载。

windows代理服务器搭建(windows搭建socks5服务器教程) 第3张  windows代理服务器搭建(windows搭建socks5服务器教程) 第4张  

3. 解压缩之后,得到下面目录

windows代理服务器搭建(windows搭建socks5服务器教程) 第5张  windows代理服务器搭建(windows搭建socks5服务器教程) 第6张  

4. 命令面板进入该目录,执行emq start。

windows代理服务器搭建(windows搭建socks5服务器教程) 第7张  windows代理服务器搭建(windows搭建socks5服务器教程) 第8张  

5. 浏览器打开 http://localhost:18083就可以进入EMQ的web控制台了。

windows代理服务器搭建(windows搭建socks5服务器教程) 第9张  windows代理服务器搭建(windows搭建socks5服务器教程) 第10张  

6. EMQ管控后台默认账号: admin 密码: public,如果忘记了也可以在安装目录的etcplugins的emqx_auth_username.conf,打开文件可以看到账号密码了。

windows代理服务器搭建(windows搭建socks5服务器教程) 第11张  windows代理服务器搭建(windows搭建socks5服务器教程) 第12张  

7. 代理服务已经创建,接下来就可以通过mqtt客户端连接测试一下,这里的客户端推荐EMQ的在线客户端,这里小编就安利一款国外的客户端 “MQTT.fx”的软件,可以在网上搜索下载,接下来也以这个举例。

windows代理服务器搭建(windows搭建socks5服务器教程) 第13张  windows代理服务器搭建(windows搭建socks5服务器教程) 第14张    windows代理服务器搭建(windows搭建socks5服务器教程) 第15张  windows代理服务器搭建(windows搭建socks5服务器教程) 第16张  

8. 创建一个MQTT代理服务器,就是刚刚本地启动的,输入以下类似地址。

9. 点击connect就马上连接,当右边圆点是绿色表示连接成功,接下来就可以测试一下订阅和发布了。

windows代理服务器搭建(windows搭建socks5服务器教程) 第17张  windows代理服务器搭建(windows搭建socks5服务器教程) 第18张    windows代理服务器搭建(windows搭建socks5服务器教程) 第19张  windows代理服务器搭建(windows搭建socks5服务器教程) 第20张  

10. 订阅一个主题,名称可以自己随意定义。

11. 在对应主题下发布一条消息,就是刚刚创建的,然后内容随便填写,点击订阅就可以看到该主题的消息了。

windows代理服务器搭建(windows搭建socks5服务器教程) 第21张  windows代理服务器搭建(windows搭建socks5服务器教程) 第22张    windows代理服务器搭建(windows搭建socks5服务器教程) 第23张  windows代理服务器搭建(windows搭建socks5服务器教程) 第24张  

12. EQM代理后台也可以看到刚刚发布订阅与连接信息了。

windows代理服务器搭建(windows搭建socks5服务器教程) 第25张  windows代理服务器搭建(windows搭建socks5服务器教程) 第26张    windows代理服务器搭建(windows搭建socks5服务器教程) 第27张  windows代理服务器搭建(windows搭建socks5服务器教程) 第28张    windows代理服务器搭建(windows搭建socks5服务器教程) 第29张  windows代理服务器搭建(windows搭建socks5服务器教程) 第30张  

13. ESP8266 NODEMCU连接代理服务,也可以订阅指定的主题,发布或接收消息完成硬件的操作。比如控制LED开关,给另一主题发送板子的温度消息等等。

其他:

1. EMQ的端口枚举如下:

windows代理服务器搭建(windows搭建socks5服务器教程) 第31张  windows代理服务器搭建(windows搭建socks5服务器教程) 第32张  

2. 本地关闭MQTT服务, 进入软件目录命令输入emqx stop

windows代理服务器搭建(windows搭建socks5服务器教程) 第33张  windows代理服务器搭建(windows搭建socks5服务器教程) 第34张  

3. 启动mqtt服务后,可以根据端口查看进程,然后根据进程号关闭该服务。

windows代理服务器搭建(windows搭建socks5服务器教程) 第35张  windows代理服务器搭建(windows搭建socks5服务器教程) 第36张