基于Paho Android Service 实现MQTT协议通信Android客户端

本文介绍了如何使用Paho Android Service在Android客户端实现MQTT协议通信,详细讲解了MQTT协议、mosquitto代理库的安装与配置,并提供了Linux环境下MQTT服务器的搭建步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 MQTT & mosquitto及相关代理库和客户端库

1.1 MQTT

MQTT是流行的数据通信或消息传递协议之一,它正广泛用于端对端(M2M)通信,或者在“物联网(LoT)”的计算机网络趋势。
MQTT(Message Queue Transport Telemetry,消息队列传输遥测)是一种具有发布 - 订阅模式的消息传递协议,该协议具有“轻量级”特性,这对于物联网架构非常重要,因为它主要涉及低功耗设备,
例如传感器节点,微控制器等。
MQTT协议的许多用途之一是从嵌入式设备发送传感器数据。
有时我们希望将这些数据发送到我们的智能手机,这可以帮助我们远程监控一些重要的事情。

1.2 mosquitto

Eclipse Mosquitto是一个开源(EPL/ EDL许可)消息代理库,它实现了MQTT协议版本3.1和3.1.1,像mosquitto这样的消息代理库是有很多的,如ActiveMQ ApolloHiveMQMoscaMosquittoRabbitMQEMQ,但是这个库确实MQTT协议制定作者开发的,而且开源。
Mosquitto是一个轻量级的库,适用于从低功耗单板计算机到完整服务器的所有设备。
Mosquitto项目还提供了用于实现MQTT客户端的C库,以及非常流行的mosquitto_pubmosquitto_sub命令行MQTT客户端。

MQTT目前最新协议版本为3.1.1(截至到2018年12月3日),MQTT5正在开发计划中,接口相对原来版本可能有所改变,计划在mosquitto2.0发布,从mosquitto1.6开始接口会开始改变。所以在协议兼容方面,想严格兼容3.1.1版本可以选择mosquitto1.5版本。

1.3 Phho Android Service

Paho Android Service是一个用Java编写的MQTT客户端库,用于在Android上开发应用程序。

特点:

  • 支持MQTT3.1/3.1.1
  • 自动重连机制
  • 离线缓冲机制
  • 支持Websocket协议方式
  • 支持标准的TCP方式
  • 支持安全传输层协议SSL/TLS
  • 支持临终遗嘱(LWT)
  • 消息持久性

2 MQTT服务器搭建

这一章主要详解Linux下的MQTT服务器的安装和配置,采用mosquitto代理库。

2.1 Windows

编译好的二进制文件下载链接: mosquitto-1.5.4-install-windows-x64.exe

安装后可以参考readme-windows.txt

2.2 Mac

在Mac系统中,可以通过os x 缺少的套件管理工具Homebrew来安装。先安装好Homebrew,然后就可以直接用Homebrew来安装mosquitto。

# Mac安装mosquitto命令
brew install mosquitto

2.3 Linux(Ubuntu18.04)

2.3.1 通过安装包管理工具安装

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update

2.3.2 通过源码安装

首先确保依赖的openssl和websocket已经安装好。

# openssl 安装
$ sudo apt-get install openssl 
$ sudo apt-get install libssl-dev
# libwebsockets 安装
$ wget https://github.com/warmcat/libwebsockets/archive/v3.1.0.tar.gz
$ tar -zxvf libwebsockets-3.1.0.tar.gz
$ cd libwebsockets-3.1.0
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
# mosquitto编译安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值