博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MQTT 入门介绍
阅读量:2028 次
发布时间:2019-04-28

本文共 1646 字,大约阅读时间需要 5 分钟。

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

你可能感兴趣的文章
最长公共子串(动态规划)
查看>>
[LeetCode] 234. 回文链表 ☆(翻转链表)
查看>>
Innodb中mysql如何快速删除2T的大表
查看>>
AM--消息队列
查看>>
Dubbo面试
查看>>
[LeetCode] 342. 4的幂 ☆(是否4 的幂)
查看>>
装饰器模式
查看>>
java关键字总结
查看>>
MyBatis:4
查看>>
List原理
查看>>
request请求中有点号
查看>>
springmvc事务回滚失效
查看>>
Java 8的五大开发技巧
查看>>
多线程中的注意点
查看>>
netty4 Handler的执行顺序
查看>>
ZooKeeper原理及使用
查看>>
guava学习--事件驱动模型
查看>>
guava学习--hashing
查看>>
scala函数
查看>>
面向对象之方法1
查看>>