MQTT协议学习:2、MQTT中间件搭建及现成MQTT中间件服务

MQTT协议学习:2、MQTT中间件搭建及现成MQTT中间件服务


1. MQTT协议再解读

当我们对MQTT协议有概念性的了解后,我们知道要进行MQTT协议的使用,我们需要搭建MQTT中间件作为MQTT客户端发布/订阅消息的中间处理服务,可以简单理解为一个媒介,客户端可以发布topic消息到中间件,也可以从中间件订阅需要的topic消息,这样子对于单片机等客户端设备就可以将传感器数据发送到中间件,然后手机、展示平台等客户端就可以从中间件订阅需要的数据,中间件根据订阅的需求将收到的发布消息转给需要数据的客户端。如果还理解不了的话,这样这样思考:中间件就像房产中介,发布消息的客户端就相当于卖房的,订阅消息的客户端就相当于有买房需求的,中间件拿到发布者发布的消息提供给有获取该信息的需求的订阅者就相当于房产中介拿到卖房者的房产信息提供给有买房需求的客户。

2. RabbitMQ

我们这里在本地搭建RabbitMQ作为MQTT中间件来进行测试:https://github.com/rabbitmq/rabbitmq-server

实际上还有很多MQTT中间件,我们在最开始学习MQTT协议时有过说明,RabbitMQ目前使用的比较广泛,资料等都比较全面,所以以此为例。

(1). 简介

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

RabbitMQ服务支持下列操作系统:

Linux
Windows, NT 到 10
Windows Server 2003 到 2016
macOS
Solaris
FreeBSD
TRU64
VxWorks

RabbitMQ支持下列编程语言:

Python
Java
Ruby
PHP
C#
JavaScript
Go
Elixir
Objective-C
Swift

(2). 安装

官网安装相关文档,可以通过编译源码方式也可以通过系统包安装:

https://rabbitmq.com/download.html

Debian系列安装说明:

https://rabbitmq.com/install-debian.html

Ubuntu16.04快速安装及启动RabbitMQ及MQTT-server:

//1. 安装erlang
sudo apt-get install erlang
//2. 安装RabbitMQ
sudo apt-get install rabbitmq-server
//3. 启动/停止/重启服务
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
//4. 启动mqtt服务
sudo rabbitmq-plugins enable rabbitmq_mqtt

(3). 使用

和一般的数据库安装操作类似,安装后需要设置用户名密码等等用于后续远程连接控制。(这里设置用户名admin,用户密码:admin*1993,权限和读写都全开)

//1. 启动web控制台
sudo rabbitmq-plugins enable rabbitmq_management
//2. 添加用户密码(默认的guest/gueset记得删掉)
sudo rabbitmqctl add_user admin admin*1993
//3. 添加权限
sudo rabbitmqctl set_user_tags admin administrator
//4. 添加读写权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

访问ip:15672可进入web控制台:

在这里插入图片描述

此外,RabbitMQ介绍了一些客户端库和开发人员工具,我们可以在这里结合示例学习:https://rabbitmq.com/devtools.html

当我们上面安装好RabbitMQ-server并启动后我们可以根据上面的客户端示例进行开发测试,如果不知道如何开发对应的客户端的话可以看这里:
https://rabbitmq.com/getstarted.html

对应的MQTT的客户端关于多种语言的客户端示例都有:

在这里插入图片描述

如果还是不太明白的话也没有关系(这里给的实例确实不太方便),我们在接触MQTT中间件以及相关成熟服务后,下一篇我会对MQTT客户端做实例总结。

3. 物联网平台

在不需要或没有条件搭建和维护MQTT中间件但我们又有物联网设备需要进行接入网络提供网络服务使用的话,我们可以使用一些现成的物联网平台,国外的谷歌、亚马逊、思科等以及国内的阿里、百度、腾讯、华为等都有现成的物联网平台,一般都会提供基于MQTT协议的接入方式,根据平台提供的帮助文档,我们只需要在设备上开发MQTT客户端进行协议接入即可,这里就不展开了,只需要搜索对应的物联网平台找到开发者文档按照文档示例进行开发。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值