56 lines
1.4 KiB
Markdown
56 lines
1.4 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)
|
||
|
||
## Android APP
|
||
|
||
这是一个配套的 Android APP,基于 Kotlin + Compose,通信协议使用上面的 BLE 串口通信协议。
|
||
|
||
[colour93/esp32-car-android](https://github.com/colour93/esp32-car-android)
|