49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
# ESP32 TB6612 麦轮车
|
|
|
|
## 特性
|
|
|
|
- ESP32 主控
|
|
- 四路 TB6612 电机驱动
|
|
- 麦轮车
|
|
- BLE 串口通信
|
|
- 循迹功能
|
|
- 手动控制
|
|
|
|
## 原理图
|
|
|
|
![原理图](./docs/原理图.png)
|
|
|
|
## 使用
|
|
|
|
### VSCode 安装 PlatformIO
|
|
|
|
### 下载项目
|
|
|
|
```bash
|
|
git clone https://github.com/colour93/esp32-car.git
|
|
```
|
|
|
|
### 打开项目并修改初始化设置
|
|
|
|
找到 `include/consts.example.h` 文件,复制一份并命名为 `include/consts.h`,根据实际情况,修改其中的内容。
|
|
|
|
### 上传
|
|
|
|
使用 PlatformIO 上传项目。
|
|
|
|
## BLE 串口通信协议
|
|
|
|
其他设备与 ESP32 通信采用 BLE 的 GATT 协议,其服务默认为 Nordic 串口服务,可以在 `include/consts.h` 中修改。
|
|
|
|
```cpp
|
|
# 服务与特征 UUID
|
|
#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"
|
|
#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E"
|
|
#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"
|
|
```
|
|
|
|
数据分为主动发送和被动接收两种,主动发送的特征值为 `CHARACTERISTIC_UUID_TX`,被动接收的特征值为 `CHARACTERISTIC_UUID_RX`。
|
|
|
|
同时一些状态信息会主动发送。
|
|
|
|
[数据包格式](./packet.md) |