logo资料库

实验3-开发架构的搭建——Mqtt服务器.pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
1、实验环境 MQTT 服务器:Apache Apollo 版本:apache-apollo-1.7.1-windows-distro.zip 官网:http://activemq.apache.org/apollo/download.html 操作系统:Win10,JDK 版本如下 2、MQTT 服务器端安装过程运行截图 1) 在搭建 Apollo 服务器之前,需先在系统中安装好 jdk,并配置环境变量。 因之前使用过 JAVA 已配置,这里不再给出步骤,Java –version 测试是否 配置成功。 2) 下载解压 apache-apollo-1.7.1-unix-distro.tar.gz
3) bin 目录下启动[1]apollo.cmd,输入指令:apollo create mybroker 新建一个 broker 实例,mybroker 名字任意取,创建成功的提示如下图所示: 4) 新建的 broker 实例会在当前目录下生成一个 mybroker 目录,包含下图文件: 其中 etc\apollo.xml 文件下是配置服务器信息的文件;etc\black-list.txt 用来存 放不允许连接服务器的 IP 地址,相当于黑名单类似的东西。 etc\users.properties 文件用于设置连接 MQTT 服务器时用到的用户名和密码,格 式:用户名=密码,原本为:admin=password 则在下面新增一列 test 用户: test=test。并在 groups.properties 中修改 admins=admin 为 admins=admin|test(中 间用|分开) 1 启动 apollo.cmd 闪退请移步问题 1
5) 进入\apache-apollo-1.7.1\bin\mybroke\bin 目录,启动 apollo-broker.cmd,执 行如下命令:apollo-broker run,可以使用 TAB 键自动补全再输入 run, 运行后输出信息如下[2]: 6) 启动服务:./bin/apollo-broker-service start,会打开一个黑窗口之后自动退 出,最后如下图: 7) apollo 提供了可视化 web 界面,在浏览器中输入 http://127.0.0.1:61680/(http 访问)或者 https://127.0.0.1:61681/ (https 访问,可用于研究 mqtt+ssl)输入用 户名密码即可登录(默认用户名:admin 密码:password)[3] 2 run 出现错误:java.net.BindException: Address already in use:bin 请移步问题 2 3 登录后使用过程中,连接不上,同为问题 2
登录成功之后的控制台页面及当前连接状态如下图所示: 8) 服务器主配置文件 bin\mybroker\etc\apollo.xml 的说明: 该配置文件用于控制打开的端口,队列,安全,虚拟主机设置等。 a) 认证:可以使用来配置是否需要连接 认证,如果将其属性 enable 设置为 false 表示不用认证,任何人都可以连 接服务器,默认为 true。 b) access_rule:可以在 broker 或者 virtual_host 中用于定义用户对服务器资 源的各种行为。如下图表示群组 users 里面的用户可以对服务器资源进行 的操作有:connect 、create、 destroy、 send 、receive 、consume。 c) 用于配置服务器支持的链接协议以及相应的端口。 如 id="tcp"一句,表示支持 tcp 链接,使用的端口是 61613,链接限制是 2000,自动侦听的协议是 mqtt 协议。 9) 修改对外 IP,打开远程 Web: 若非本机安装,修改 bin/mybroker/etc/ apollo.xml 文件中 web_admin 的 ip 地址为 0.0.0.0,不绑定回送地址 127.0.0.1,以便访问控制台。 改为:
10) 改为免认证 默认连接必须要用户名密码,改为免认证。 可以直接在 apollo 可视化 Web 界面改(测试 3-(1)中),如图,这两处取消注 释就可以测试的时候连接上了。修改后保存会重新载入配置文件,这其实是把链 接用户的授权认证的关闭了,所以就不用密钥认证就能进。 3、测试工具链接 MQTT 服务器 下面提供两个方法的测试: 1) apollo 除了提供了可视化 Web 界面外,还提供了测试 demo 打开页面如下:
点击 Connect 连接后,可以去 Apollo 监控页面(http://127.0.0.1:61680/ (http 访问)或者 https://127.0.0.1:61681/ (https 访问,可用于研究 mqtt+ssl))查看,会发 现有你连接的主题和消费者: 2) MQTTLens/MQTTBOX,两者步骤一样;可以安装相应的程序到系统中, 也 可 以 使 用 Google Chrome 的 扩 展 应 用 , 下 面 给 出 我 采 用 的 客户 端 MQTTBOX 的测试: a) 下载安装:http://workswithweb.com/mqttbox.html(需翻墙) GitHub 地址:https://github.com/workswithweb/MQTTBox b) Google 搜索 MQTTLens,进入 chrome 网上应用店,点击扩展程序。打 开安装好的应用程序如下图所示:
建立 MQTT 连接,点击“Create MQTT Client”, 指定连接相关信息,包括连 接名称(可以随意输入)、协议(选择 mqtt/tcp)和主机地址(安装在本地,MQTT 缺省端口为 61613,所以输入 127.0.0.1:61613),然后单击“Save”保存。连接中一 些别的选项先保持缺省值,配置如下: 保存成功后进入如下的界面,接下来可以开始测试消息发布和订阅。如下图 所示,绿色“Connected”按钮表明当前 MQTT 连接已经成功。
首先开启一个订阅,如下图所示。“Topic to subscribe”里填入要订阅的 主题“testClient”;“QoS”字段选择“0 - Almost Once”;然后点击“Subscribe” 按钮。 设置好订阅的主题后,在发布这边输入如下的信息。“Topic to publish” 中输入“testClient”,这里输入的主题的名字必须和订阅那里的输入相同; “QoS”中选择“0 - Almost Once”;“Payload”中输入任何内容都可以;所有 内容输入完毕之后,点击“Publish”按钮
分享到:
收藏