MQTT中文站
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
      • Node-RED 安装部署
      • Node-RED 用户指南
      • Node-RED 创建节点
      • Node-RED 示例教程
      • Node-RED 开发流程
      • Node-RED 接口参考
      • Node-RED 配置模板
      • Node-RED 常见问题
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册

使用Apache ActiveMQ实现MQTT接入:完整指南

2 年前 • MQTT 客户端库

Apache ActiveMQ 部署教程

ActiveMQ (apache.org)

Apache ActiveMQ 是一个功能强大的消息代理,用于在分布式应用程序中进行高效的消息传递。本教程将指导您如何在 Windows 和 Unix 平台上安装和配置 Apache ActiveMQ,以便您可以开始在您的应用程序中使用它来处理消息。

步骤 1:满足先决条件

在开始部署之前,请确保满足以下先决条件:

硬件和操作系统要求:

  • 至少有 60MB 的可用磁盘空间,用于安装 ActiveMQ 二进制发行版。
  • 至少有 200MB 的可用磁盘空间,用于安装 ActiveMQ 源码或开发者版。
  • 操作系统:支持 Java 运行时环境(JRE)的 Windows 或 Unix 操作系统。

环境要求:

  • Java 开发工具包(JDK)1.7.x 或更高版本,用于部署和构建 ActiveMQ。请确保您已经安装了 JDK,并设置了 JAVA_HOME 环境变量,指向 JDK 的安装目录,例如:C:\Program Files\jdk.1.7.0_xx_xx。
  • Maven 3.0 或更高版本(仅在安装源码或开发者版时需要)。您需要将所需的 JAR 文件添加到类路径中。

现在,让我们按照平台分步骤来安装和配置 Apache ActiveMQ。

步骤 2:在 Windows 上安装 Apache ActiveMQ

下载和安装二进制发行版

  1. 打开您的 Web 浏览器,导航到 Apache ActiveMQ 的官方网站:http://activemq.apache.org/。
  2. 在导航窗格的左侧,单击 "Download" 链接。
  3. 在 "Download" 页面上,选择最新的二进制发行版(通常是 Stable Release),并下载对应的 ZIP 文件。文件名类似于 activemq-x.x.x.zip,其中 x.x.x 是版本号。
  4. 下载完成后,解压缩 ZIP 文件到您选择的目录。您现在已经安装了 Apache ActiveMQ 二进制发行版。

启动 Apache ActiveMQ

  1. 打开 Windows 命令提示符或 PowerShell。
  2. 使用 cd 命令切换到 Apache ActiveMQ 安装目录,例如:
   cd C:\path\to\activemq

请替换 C:\path\to\activemq 为您的实际安装路径。

  1. 启动 Apache ActiveMQ 服务,运行以下命令:
   bin\activemq start

此命令将启动 Apache ActiveMQ 服务,并将其运行在后台。ActiveMQ 默认会监听端口 61616。

测试安装

要测试 Apache ActiveMQ 是否正确安装和运行,请执行以下步骤:

  1. 打开 Web 浏览器,并访问 Apache ActiveMQ 的管理控制台:http://localhost:8161/admin
  2. 使用默认的用户名和密码(用户名:admin,密码:admin)登录管理控制台。
  3. 如果成功登录,您将看到 ActiveMQ 的管理界面。这表示 ActiveMQ 正确安装和运行。

至此,您已经在 Windows 上成功部署和配置了 Apache ActiveMQ。接下来,我们将在 Unix 环境中进行安装。

步骤 3:在 Unix 上安装 Apache ActiveMQ

下载和安装二进制发行版

  1. 在您的 Unix 系统上,使用浏览器或命令行工具(如 wget、scp、ftp 等)下载 Apache ActiveMQ 二进制发行版 gzip 文件,例如:
   wget http://activemq.apache.org/path/tofile/apache-activemq-5.8-tar.gz

请将 URL 替换为正确的下载链接。

  1. 下载完成后,使用以下命令解压缩 gzip 文件到您选择的目录,例如:
   tar zxvf apache-activemq-5.8-tar.gz

您现

在已经安装了 Apache ActiveMQ 二进制发行版。

启动 Apache ActiveMQ

  1. 打开终端。
  2. 使用 cd 命令切换到 Apache ActiveMQ 安装目录,例如:
   cd /path/to/activemq

请替换 /path/to/activemq 为您的实际安装路径。

  1. 启动 Apache ActiveMQ 服务,运行以下命令:
   bin/activemq start

此命令将启动 Apache ActiveMQ 服务,并将其运行在后台。ActiveMQ 默认会监听端口 61616。

测试安装

要测试 Apache ActiveMQ 是否正确安装和运行,请执行以下步骤:

  1. 打开终端。
  2. 使用以下命令检查 ActiveMQ 是否在监听端口 61616 上运行:
   netstat -an | grep 61616

如果看到结果,表示 ActiveMQ 已成功启动。

至此,在 Unix 系统上成功部署和配置了 Apache ActiveMQ。

步骤 4:配置 Apache ActiveMQ(可选)

Apache ActiveMQ 提供了广泛的配置选项,您可以根据您的需求进行自定义配置。默认情况下,ActiveMQ 使用内置的配置文件,但您可以编辑配置文件以满足您的特定需求。

要编辑配置文件,请打开 ActiveMQ 安装目录中的 conf 目录,并找到 activemq.xml 文件。根据您的需求进行修改,然后保存文件。

步骤 5:停止 Apache ActiveMQ

要停止 Apache ActiveMQ 服务,请执行以下步骤:

  1. 打开命令提示符或终端。
  2. 使用 cd 命令切换到 Apache ActiveMQ 安装目录。
  3. 停止 Apache ActiveMQ 服务,运行以下命令:
   bin/activemq stop

或者您可以使用 CTRL-C 来终止运行 Apache ActiveMQ 的终端会话。

恭喜!您已经成功部署和配置了 Apache ActiveMQ。现在,您可以开始使用它来构建分布式应用程序,实现高效的消息传递功能。

MQTT配置

接入 ActiveMQ 的 MQTT 通信是一种强大的方式,它允许您在应用程序之间进行轻松、实时的消息传递。这个完整的教程将引导您完成以下步骤,以在 ActiveMQ 中启用 MQTT 并创建 MQTT 客户端,从而实现 MQTT 消息的发布和订阅。

步骤 1:准备 ActiveMQ

首先,确保您已经成功安装和配置了 ActiveMQ。如果还没有安装 ActiveMQ,您可以按照 ActiveMQ 官方文档中的指南进行安装和配置:ActiveMQ 官方文档

一旦您的 ActiveMQ 实例正常运行,我们可以开始配置 MQTT。

步骤 2:启用 MQTT 支持

要启用 MQTT 支持,您需要编辑 ActiveMQ 的配置文件。在 ActiveMQ 安装目录下,找到 conf 目录,并编辑 activemq.xml 文件。在文件中,找到以下行:

<transportConnectors>
    <!-- 添加 MQTT 连接器配置 -->
</transportConnectors>

在 <transportConnectors> 部分中,添加以下 MQTT 连接器配置:

<transportConnectors>
    <!-- MQTT 连接器配置 -->
    <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883"/>
</transportConnectors>

这将启用 MQTT 服务并将其绑定到 1883 端口。您可以根据需要更改端口号。

然后,保存并关闭 activemq.xml 文件,重新启动 ActiveMQ 以使更改生效。

步骤 3:创建 MQTT 客户端

接下来,我们将创建一个 Python MQTT 客户端来连接到 ActiveMQ 代理并发布/订阅消息。

3.1 安装 MQTT 客户端库

首先,确保您已经安装了 Python。然后,使用以下命令安装 Python 的 MQTT 客户端库,它将帮助我们与 ActiveMQ 的 MQTT 服务通信:

pip install paho-mqtt

3.2 创建 MQTT 客户端代码

接下来,创建一个 Python 脚本,用于连接到 ActiveMQ 的 MQTT 代理并发布/订阅消息。以下是一个示例代码:

import paho.mqtt.client as mqtt

# 连接回调函数
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("连接成功!")
        client.subscribe("example/topic")  # 订阅主题
    else:
        print(f"连接失败,返回码: {rc}")

# 消息接收回调函数
def on_message(client, userdata, message):
    print(f"收到消息 '{message.payload.decode()}' 来自主题 '{message.topic}'")

# 创建 MQTT 客户端
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

# 连接到 ActiveMQ 的 MQTT 代理
client.connect("localhost", 1883, 60)  # 指定 ActiveMQ 代理的地址和端口号

# 保持客户端运行,等待消息
client.loop_forever()

3.3 运行 MQTT 客户端

现在,您可以运行上述 Python 脚本,它将连接到 ActiveMQ 的 MQTT 代理,并订阅名为 "example/topic" 的主题。当有消息发布到这个主题时,客户端将接收并打印消息内容。

python mqtt_client.py

步骤 4:发布和订阅消息

现在,您的 MQTT 客户端已经连接到 ActiveMQ 代理,可以执行以下操作:

发布消息

要发布消息,您可以在 Python 脚本中添加以下代码:

# 发布消息
client.publish("example/topic", "这是一条 MQTT 消息")

这将发布一条消息到名为 "example/topic" 的主题。

订阅消息

在 Python 脚本中,您已经设置了订阅的主题:

client.subscribe("example/topic")

客户端将自动订阅这个主题,当有消息发布到该主题时,将会触发 on_message 回调函数。

步骤 5:测试和扩展

您现在已经成功接入了 ActiveMQ 的 MQTT 服务,并创建了一个简单的 MQTT 客户端。您可以使用这个基础上进行进一步的测试和扩展,以满足您的应用需求。

一些可能的扩展包括:

  • 创建多个 MQTT 客户端,以模拟多个设备之间的通信。
  • 在 ActiveMQ 中配置用户名和密码,并在客户端中使用这些凭据进行连接。
  • 使用不同的主题来组织和管理消息,以便更好地组织您的消息通信。

希望这个教程对您有所帮助,使您能够成功接入 ActiveMQ 的 MQTT 服务并实现消息的发布和订阅。如果您有任何问题或需要进一步的帮助,请随时提问。

打赏赞(1)微海报分享
Apache ActiveMQ mqtt 客户端库

Eclipse Paho C++ MQTT客户端库:使用指南与示例

Eclipse Paho Java MQTT 客户端:实现 IoT 设备通信

猜你喜欢

改善基础设施:HiveMQ如何推动智能城市发展

改善基础设施:HiveMQ如何推动智能城市发展

08/07
2024
为什么企业选择全托管HiveMQ云进行MQTT部署

为什么企业选择全托管HiveMQ云进行MQTT部署

07/01
2024
MQTT 赋能工业 PLC 数据采集与应用

MQTT 赋能工业 PLC 数据采集与应用

06/30
2024
  • 解决方案
    • 智能家居
    • 汽车与出行
    • 工业制造
    • 能源电力
    • 石油石化
    • 交通物流
    • 零售
  • 学习
    • MQTT 规范
    • MQTT 教程
    • MQTT 软件
    • MQTT 客户端库
    • MQTT 服务器
    • 工具和应用程序
  • 关于我们
    • 了解创科慧仁
    • 加入创科慧仁
    • 投资者关系
    • 新闻动态
    • 合作伙伴
    • 联系我们
  • 友情链接
    • Modbus中文网
    • 跳动符号官网
    • 物联网世界
    • RFID世界网
    • 深圳物联网协会
    • isoftstone软通动力
    • 中国发展战略学研究会
    • B.P商业伙伴
  • 在线客服
  • 全国客户服务热线
    4006909885
  • 官方公众号
  • 联系邮箱
    contact@mqtt.cn
Copyright © 2025 MQTT中文站. All rights reserved.Designed by nicetheme. 京ICP备20029519号
在线客服

微信咨询

微信咨询

4006909885

服务热线 7*24小时

电话咨询
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册
string(5) "2.0.0"