# 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)