项目简介
本项目是一个基于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】