esp32-car/README.md

56 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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