littlebot
Published on 2025-04-12 / 5 Visits
0

【源码】基于MQTT协议的BLE数据广播系统

项目简介

本项目是一个基于MQTT协议和BLE技术的IoT系统,允许Web应用程序通过MQTT协议向BLE服务器发送数据,BLE服务器再将数据广播到附近的BLE设备。该系统适用于智能家居、工业自动化和医疗健康等多种应用场景。

项目的主要特性和功能

  • Web应用程序:通过MQTT协议发送数据到BLE服务器。
  • BLE服务器:接收Web应用程序发送的数据,并广播给附近的BLE设备。
  • BLE设备:接收BLE服务器广播的数据,并根据数据执行相应操作。

安装使用步骤

1. 硬件准备

  • 两块XIAO_ESP32C3板(一块用于BLE服务器,另一块用于BLE接收器)。
  • 电脑或移动设备(用于运行Web应用程序)。

2. 软件安装与配置

  • 安装Arduino IDE并配置ESP32开发环境。
  • 安装Python 3.9和virtualenv。

3. 设置MQTT服务器

  • 登录到你的云VM实例: bash ssh [username]@[server]
  • 安装并启动Mosquitto服务器: bash sudo apt update sudo apt install mosquitto mosquitto-clients sudo systemctl start mosquitto
  • 确保端口1883(默认端口)开放,或根据需要修改配置文件。

4. 部署BLE服务器

  • 在Arduino IDE中打开MQTT_BLE_SERVER.ino文件。
  • 根据你的WiFi和MQTT服务器信息更新配置。
  • 上传到ESP32板并重启设备。

5. 部署BLE接收器

  • 在Arduino IDE中打开BLE_CLIENT.ino文件。
  • 上传到ESP32板并重启设备。
  • 打开串口监视器,观察接收到的数据。

6. 准备移动设备作为接收器

  • 在移动设备上下载并安装nRF Connect应用。
  • 打开应用并搜索附近的BLE设备,连接到ESP32板。

7. 准备Web应用程序

  • 创建虚拟环境并安装依赖: bash python -m venv venv pip install -r requirements.txt
  • 运行main.py脚本,Web应用程序将开始运行并发送数据到BLE服务器。

观察与测试

  • 观察BLE服务器是否成功接收到Web应用程序发送的数据。
  • 在移动设备上使用nRF Connect应用查看是否接收到广播数据。
  • 根据需要调整代码或配置以匹配特定需求和环境。

视频演示链接

点击此处查看项目演示。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】