# MicroPython BLE 批量配网设备
**Repository Path**: walkline/micropython-batch-ble-config-device
## Basic Information
- **Project Name**: MicroPython BLE 批量配网设备
- **Description**: 使用一个设备对其它设备通过蓝牙进行配网,可以把这个设备理解为蓝牙配网小程序的替代品
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-05-24
- **Last Updated**: 2024-06-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: BLELib, MicroPython, SmartConfig, 设备配网
## README
MicroPython BLE 批量配网设备

## 项目介绍
本项目为 [MicroPython New BLE Library](https://gitee.com/walkline/micropython-new-ble-library) 应用示例。
使用库中`devices/uart/bleconfig.py`生成一个通过蓝牙接收配网信息的设备,该设备运行在 **Client** 模式。
发送配网信息的设备运行在 **Server** 模式。
## 工作流程
**Server** 模式第一次运行时使用`SmartConfig`配网并保存配网信息,之后开始扫描周围的 **Client** 设备并发送配网信息,发送成功后继续扫描,以此实现对更多 **Client** 设备进行批量配网。
> `SmartConfig`模块使用方法才考 [MicroPython SmartConfig CModule](https://gitee.com/walkline/micropython-smartconfig-cmodule)
## 获取项目代码
与以往不同,本项目将`MicroPython New BLE Library`作为子项目引入,因此在克隆项目时需要执行以下命令:
```bash
git clone --recursive https://gitee.com/walkline/micropython-batch-ble-config-device.git
```
如果是下载的打包文件,或未使用`--recursive`参数克隆项目,则需要执行以下命令补全子模块代码:
```bash
git submodule update --init --recursive
```
## 测试方法
测试需要至少两个 ESP32 或 ESP32C3 开发版,由于 **Server** 模式用到了`SmartConfig`功能,因此需要分别烧录`firmware`目录下对应的固件,并上传`abconfig`文件中指定的所有文件。
### Server 模式
进入`repl`交互模式,在出现的选项列表中选择第一项,设备运行 **Server** 模式。
```docs
BLE Config Device Mode:
[1] Server Mode, broadcasts ssid & password to clients
[2] Client Mode, receive ssid & password from server
```
第一次运行 **Server** 模式需要使用`SmartConfig`对设备进行配网,配网成功后使用其它开发版运行 **Client** 模式,并观察输出信息。
### Client 模式
进入`repl`交互模式,在出现的选项列表中选择第二项,设备运行 **Client** 模式,并观察输出信息。
### 自动选择运行模式
修改`mian.py`文件中`run_test()`函数对应内容,即可自动选择运行模式。
> 修改后需要重新上传`main.py`文件。
```python
# 运行模式三选一
mode = Utilities.choose_an_option('BLE Config Device Mode', options)
# mode = MODE_SERVER
# mode = MODE_CLIENT
```
## 合作交流
* 联系邮箱:
* QQ 交流群:
* 走线物联:[163271910](https://jq.qq.com/?_wv=1027&k=xtPoHgwL)
* 扇贝物联:[31324057](https://jq.qq.com/?_wv=1027&k=yp4FrpWh)

