北邮嵌入式实验:MQTT协议环境搭建与代码详解

需积分: 10 19 下载量 190 浏览量 更新于2024-09-07 2 收藏 497KB DOCX 举报
本篇文档详细介绍了北京邮电大学嵌入式实验中的MQTT协议实验过程,主要分为三个部分:实验环境搭建、通信过程介绍以及代码说明。 **一、实验环境搭建** 1. **软件支撑**:实验在VMware12.5.7虚拟机上进行,操作系统为Ubuntu17.10,选择了mosquitto1.4.12作为消息代理(Broker)。Linux下的mosquitto安装通过Snap包管理器完成,依次执行`sudo apt install snap mosquitto`。 2. **具体安装步骤**:用户需在终端(Terminal)中运行相应命令,如安装snap包和启动mosquitto服务。 **二、通信过程介绍** 1. **启动mosquitto**:打开mosquitto服务使用命令`$mosquitto -v`,以查看详细日志。 2. **客户端代码运行**:在`/paho.mqtt.c/build/output/samples`目录下,分别运行MQTTAsync_subscribe和MQTTClient_publish示例程序。 3. **交互方式**:实验建议这三个程序在不同的终端窗口中独立运行,以便观察订阅和发布的实时通信。 4. **代码修改与重新编译**:如果需要调整订阅或发布参数,可修改paho.mqtt.c/src/samples中的源代码,然后重新编译执行。 **三、代码说明** 1. **MQTT源码**:实验基于GitHub上的paho.mqtt.c-master源码库,这是一个跨平台的MQTT客户端实现。 2. **关键文件**:在src目录中,Makefile负责Linux环境下的编译,而samples文件夹包含订阅端、发布端的示例代码,是核心关注点。 3. **编译流程**:在src目录下执行`$make`命令,将源代码编译成动态链接库和可执行程序,并在build目录中找到这些产物。 总结,此文档提供了北邮嵌入式实验中如何使用MQTT协议进行通信的完整指南,包括环境配置、通信流程步骤以及涉及的代码结构和编译过程。通过这个文档,读者可以了解到如何设置实验环境,如何运行客户端程序,以及如何根据需要修改和编译代码,从而实现MQTT协议的实际应用。