MQTT 入门介绍
MQTT梗概
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。
-
使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
-
对负载内容屏蔽的消息传输。
-
使用 TCP/IP 提供网络连接。
-
小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
-
使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。 有三种消息发布服务质量:
-
“至多一次”,消息发布完全依赖底层 TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
-
“至少一次”,确保消息到达,但消息重复可能会发生。
-
“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
-
总结来说MQTT只是一种消息推送的协议,而Apache Apollo是具有这种协议而开发的一款服务性的服务程序,被用来进行消息推送,同样的服务还有Mosquitto。
详细介绍地址:http://blog.csdn.net/xukai871105/article/details/39252653
-
【MQTT协议角色】——在RESTful架构的物联网系统,包含两个角色客户端和服务器端,而在MQTT协议中包括发布者,代理器(服务器)和订阅者。Publisher,Broker和Subscriber
-
【MQTT协议消息】——MQTT中的消息可理解为发布者和订阅者交换的内容(负载),这些消息包含具体的内容,可以被订阅者使用。
-
【MQTT协议主题】——MQTT中的主题可理解为相同类型或相似类型的消息集合。
MQTT服务器搭建
使用Apollo搭建MQTT服务器步骤:
1、下载Apollo服务器并解压,在CMD环境运行其工作目录下的 bin\apollo.cmd,命令后面带上参数「create mybroker」,创建服务器实例。这里需要Java环境,系统环境变量下要有JAVA_HOME。
2、创建实例之后会在bin目录下生成mybroker文件夹,其中 etc\apollo.xml 文件下是配置服务器信息的文件,etc\users.properties 文件包含连接MQTT服务器时用到的用户名和密码,初始默认帐号是admin,密码password;
3、进入 mybroker\bin\ 目录,在CMD输入命令「apollo-broker.cmd run」,可以使用TAB键自动补全,运行后输出信息如下:
其中我们要留意的:
MQTT服务器TCP连接端口:tcp://0.0.0.0:61613
后台登录接口:https://127.0.0.1:61681/或http://127.0.0.1:61680/
登录服务器后,如果MQTT服务器有客户端连接,后台会显示如下
一个有趣的应用
参考:
1、http://www.cnblogs.com/yangfengwu/p/7764667.html
2、http://blog.csdn.net/d_o_n_g2/article/details/77097115?locationNum=7&fps=1
3、https://lifeinplaintextblog.wordpress.com/nodemcu-led-strip-mqtt-express/
4、http://blog.csdn.net/yannanxiu/article/details/52703946
5、https://www.cnblogs.com/minyc/p/5127363.html
文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。
原文链接:recclay.blog.csdn.net/article/details/78952103
- 点赞
- 收藏
- 关注作者
评论(0)