MQTT--服务器搭建

MQTT由IBM的Andy Stanford-Clark博士和Arcom的Arlen Nipper(现为Eurotech)于1999年发明。

MQTT代表MQ遥测传输。它是针对受限设备和低带宽,高延迟或不可靠网络设计的发布/订阅,非常简单和轻便的消息传递协议。设计原则是尽量减少网络带宽和设备资源需求,同时还要确保可靠性和一定程度的交付保证。这些原则还可以使协议成为连接设备新兴的“机器对机器”(M2M)或“物联网”世界的理想选择,以及带宽和电池电量非常高的移动应用。

前言

最近要用arduino开发自主借还书的demo,通过mqtt协议发布数据到服务器,然后用APP订阅相应Topic接收数据,做相应处理。第一步先是搭建mqtt服务器,现在开源mqtt的broker比较多,最后还是选择了Apollo。当然如果不想自己搭建也可以用相应平台,比如阿里云的消息队列中有mqtt,以及物联网平台onenet等等(但是用他们要设置各种key和id,我试了能够连接,但publish始终不行,不知道是哪里设置错了)

搭建MQTT服务器

  1. 下载apollo
    下载地址http://activemq.apache.org/apollo/download.html
MQTT--服务器搭建_第1张图片
  1. 解压得到下面这些文件
MQTT--服务器搭建_第2张图片

bin下包含apollo和apollo.cmd两个文件

  1. 打开cmd进入到bin目录下,输入
    apollo.cmd create mybroker
    mybroker是服务器名字任意,服务器实例包含了所有的配置,运行时数据等,并且和一个服务器进程关联。(注意:这里需要java环境,没得要下载jdk,并配置环境变量)
MQTT--服务器搭建_第3张图片

完成后会多出一个mybroker文件夹

MQTT--服务器搭建_第4张图片

其中etc中包含相关配置文件,apollo.xml是配置服务器信息的文件,users.properties文件包含连接MQTT服务器时用到的用户名和密码,后面登录网页会介绍,可以修改原始的admin=password,可以接着换行添加新的用户名密码。

  1. 打开mybroker的bin目录,cmd进入到bin目录下,输入
    apollo-broker.cmd run
    开始运行,关闭cmd后会停止。或者可以install并run apollo-broker-service,让它长期在后台运行

    MQTT--服务器搭建_第5张图片

  2. 在浏览器中输入http://127.0.0.1:61680/或https://127.0.0.1:61681/进入web管理页面,输入默认admin,password

MQTT--服务器搭建_第6张图片

队列和发布的Topic

MQTT--服务器搭建_第7张图片

连上的设备

MQTT--服务器搭建_第8张图片

配置页面


MQTT--服务器搭建_第9张图片
  1. 很多教程说到上面就没了,然后你试着用连接发现根本连不上,其实打开apollo.xml仔细看你会发现少配置了一个选项导致的,可以直接在web页面改

这两处取消注释就可以连接上了,修改后保存会重新载入配置文件

MQTT--服务器搭建_第10张图片
  1. 其他
    在apollo.xml中
MQTT--服务器搭建_第11张图片

上面两行是web管理登入链接,下面第一个是tcp方式连接是端口,可以自行更改,比如一般默认1883端口

你可能感兴趣的:(MQTT--服务器搭建)