1、MQTT 协议
-
MQTT协议:实现MQTT协议需要客户端和服务器端通讯完成。
-
三种身份: 发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。
-
消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
-
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)
-
定义:是一种轻量级、基于发布 / 订阅(Publish/Subscribe)模式的物联网(IoT)通信协议,由 IBM 在 1999 年设计,专为低带宽、不稳定网络环境中的设备间通信而优化,目前已成为物联网领域的主流协议之一(由 OASIS 标准组织维护)。
-
与HTTP协议的区别:
1. 通信模式:- MQTT采用发布/订阅模式,通过主题(Topic)实现消息的广播和定向分发,支持多对多通信,发布者和订阅者无需直接交互。
- HTTP基于请求/响应模型,客户端主动发起请求,服务器返回响应,属于一对一通信,适用于静态资源获取或API调用。
-
协议特性:
2. 安装MQTT服务器
这里选择mosquitto,原因是我们个人使用的话项目较小,暂时不用到大型的MQTT服务器——EMQX。
-
mosquitto,Eclipse Mosquitto使用 C 语言实现的 MQTT 服务器。
-
EMQX,使用 Erlang 语言开发的 MQTT 服务器,内置强大的规则引擎,支持许多其他 IoT 协议比如 MQTT-SN、 CoAP、LwM2M 等。
-
Mosca,使用 Node.JS 开发的 MQTT 服务器,简单易用。
-
VerneMQ,使用 Erlang 开发的 MQTT 服务器。
2.1 下载mosquitto
mosquitto官网,下载,并完成安装,;
我的安装路径如下:
D:\DownLoad\APP\mosquitto\repo
2.2 修改mosquitto.conf文件
使用记事本打开该文件;
修改侦听端口为1883:
关闭匿名:
存储用户名和密码的文件:pwfile.example
指定用户名和密码存储位置:
输入Win+R,输入services.msc, 进入服务:
管理员模式打开CMD窗口:
创建用户:
添加后,重启服务:
3、测试
在MQTT服务器路径处输入 cmd,依次打开命令窗口:
4、注意
如果在该过程中,发现无法执行 以mosquitto_passwd.exe 开头的命令,则需要到系统变量,path中添加:服务器的安装路径D:\DownLoad\APP\mosquitto\repo。
参考来源于:原文
完结!!!