Android 端实现mqtt消息接收

1为了搞这个MQTT百度收搜了很多资料都是用阿里云的MQTT
虽然好用但是不符合我项目的需求,阿里云的mqtt达到一定的数量就要另行收费。所以公司决定自己搭建服务器实现节省成本

第一步首先后台先搭建一个服务器

主要讲下Android如何使用MQTT通讯。用到的软件或者框架有:

EMQ:https://www.emqx.io/cn/
org.eclipse.paho的MQTT通讯框架:https://github.com/eclipse/paho.mqtt.android

1.安装所需要的依赖包
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.使用以下命令设置稳定存储库,以 CentOS7 为例
$ sudo yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repo

3.安装最新版本的 EMQ X
$ sudo yum install emqx

4.安装特定版本的 EMQ X

$ yum list emqx --showduplicates | sort -r
emqx.x86_64 3.1.0-1.el7 emqx-stable
emqx.x86_64 3.0.1-1.el7 emqx-stable
emqx.x86_64 3.0.0-1.el7 emqx-stable

5我这里使用的是这个版本
$ sudo yum install emqx-3.1.0

6.启动 EMQ X

$ emqx start
emqx 3.1.0 is started successfully!

$ emqx_ctl status
Node ‘[email protected]’ is started
emqx v3.1.0 is running

systemctl 启动
$ sudo systemctl start emqx

service 启动
$ sudo service emqx start

EMQ管理后台
在这里插入图片描述

二、Android使用MQTT

1 APP build.gradle下
defaultConfig {
multiDexEnabled true
}

2 app build.gradle下
dependencies {

compil
  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio可以通过添加MQTT库来实现MQTT服务。有很多MQTT库可供选择,如 Eclipse Paho,MQTT-AndroidMQTT-Client等。这些库提供了MQTT协议的API和方法,以实现设备之间的通信。以下是一些关键步骤: 1. 首先,导入所选的MQTT库。可以从以下任意一种方式实现: - 通过Gradle依赖添加库: implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.2' - 手动下载库并将其添加到项目中。在Android Studio中,右键单击项目,选择New->Module。选择Import .JAR/.AAR Package并选择下载的MQTT库。 2. 创建MQTTClient实例。可以使用以下代码示例创建MQTTClient实例: String broker = "tcp://192.168.0.1:1883"; String clientId = "android-client-id"; MemoryPersistence persistence = new MemoryPersistence(); MqttClient mqttClient = new MqttClient(broker,clientId,persistence); // 指定回调处理程序 mqttClient.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable throwable) { // 连接丢失 } @Override public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { // 消息到达 } @Override public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { // 发送完成 } }); 3. 连接到MQTT代理。连接到MQTT代理时需要使用以下代码: MqttConnectOptions options = new MqttConnectOptions(); options.setUserName("username"); options.setPassword("password".toCharArray()); options.setCleanSession(true); mqttClient.connect(options); 4. 发布消息。向MQTTBroker发布消息需要指定主题和消息体。示例如下: String topic = "test/topic"; String payload = "hello, world!"; MqttMessage message = new MqttMessage(payload.getBytes()); message.setQos(0); message.setRetained(true); mqttClient.publish(topic, message); 5. 订阅主题。为了接收来自其他设备的MQTT消息,需要订阅一个或多个主题。示例如下: String topic = "test/topic"; int qos = 0; mqttClient.subscribe(topic, qos); 通过这些步骤,您可以在Android Studio中实现MQTT服务和设备之间的通信。注意,在连接和发布/订阅消息时,必须考虑网络延迟和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值