于是就引出了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->下载。
2. 根据自己系统,选择下载。
3. 解压缩之后,得到下面孔录
4. 命令面板进入该目录,实行emq start。
5. 浏览器打开 http://localhost:18083就可以进入EMQ的web掌握台了。
6. EMQ管控后台默认账号: admin 密码: public,如果忘却了也可以在安装目录的etc\plugins的emqx_auth_username.conf,打开文件可以看到账号密码了。
7. 代理做事已经创建,接下来就可以通过mqtt客户端连接测试一下,这里的客户端推举EMQ的在线客户端,这里
8. 创建一个MQTT代理做事器,便是刚刚本地启动的,输入以下类似地址。
9. 点击connect就立时连接,当右边圆点是绿色表示连接成功,接下来就可以测试一下订阅和发布了。
10. 订阅一个主题,名称可以自己随意定义。
11. 在对应主题下发布一条,便是刚刚创建的,然后内容随便填写,点击订阅就可以看到该主题的了。
12. EQM代理后台也可以看到刚刚发布订阅与连接信息了。
13. ESP8266 NODEMCU连接代理做事,也可以订阅指定的主题,发布或吸收完成硬件的操作。比如掌握LED开关,给另一主题发送板子的温度等等。
其他:
1. EMQ的端口列举如下:
2. 本地关闭MQTT做事, 进入软件目录命令输入emqx stop
3. 启动mqtt做事后,可以根据端口查看进程,然后根据进程号关闭该做事。