EMQ/MQTT 在 android 中的使用
一、概念:
topic:
相关概念
模拟 EMQ 服务端
客户端(Android)使用 MQTT
客户端和EMQ模拟通信
EMQ X 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器;翻译一下 就是负责 使用MQTT协议 通信的中间件。
MQTT 是轻量的、发布订阅模式 (PubSub) 的物联网消息协议;在客户端使用(此处使用 android)。
二、模拟 EMQ 服务端
-
安装EMQ到本地,并启动,具体操作见官方文档跳转。
-
打开 DashBoard
Dashboard 是 EMQ 提供的一个工具,可以查看服务器的信息及某个客户端的连接状态;同时包含一个简易的 MQTT 客户端工具来测试,本文就是通过这个工具来模拟 pub / sub 信息。
打开方式:http://192.168.33.66:18083
其中 192.168.33.66 为本机ip地址
默认账号密码:admin / public
打开后的页面如下所示:
-
打开 Dashboard 的侧边栏 —> 【工具】—>【Websocket】,并创建 模拟收发消息端,操作如下:
此页面还包括 【订阅】、【消息】、【发布消息列表】模块,这几个模块都是相对于 此处创建的 模拟端。
【订阅】:模拟端订阅的 topic,即手机端发布的 topic;
【消息】:模拟端发布的 topic,即手机端订阅的 topic;
【发布消息列表】:可查看手机端和模拟端所有的消息记录。 -
此时,EMQ 操作部分已完成。
三、客户端(Android)使用 MQTT
- 具体使用操作可以去看 Android demo ;
- 客户端实现部分 code 如下:
//TODO 相关配置如下:
// EMQ 服务地址
final String serverUri = "tcp://***:1883";
// 设置 client id
String clientId = "androidId";
// 设置 clienet 订阅 topic
String subscribTopic = "clientSub_topic";
// 设置 client 发布 topic
String publishTopic = "clientPublish_topic";
- 打开手机客户端,布局页面如下:
点击[连接] 后 log 输出如下:
四、客户端和EQM模拟通信
-
通过手机发送消息:
EMQ 模拟端接收到消息:
-
模拟端发送消息如下图:
相关链接:
找不到 demo 可以从这个进去看看 点我点我