first commit
This commit is contained in:
116
README.md
Normal file
116
README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# KgeuTraining
|
||||
|
||||
Приложение для ESP32, отслеживающее положение груза с помощью датчиков Холла и передающее данные по TCP.
|
||||
|
||||
## Описание
|
||||
|
||||
Устройство создаёт точку доступа WiFi и TCP-сервер. При изменении положения груза (верх, низ, середина) информация отправляется всем подключённым клиентам в формате JSON.
|
||||
|
||||
## Оборудование
|
||||
|
||||
- **Плата**: Wemos D1 UNO32 (ESP32)
|
||||
- **Датчики**: 2x NJK-5002C (датчики Холла, NPN, нормально разомкнутые)
|
||||
- **Питание датчиков**: 5-30В DC
|
||||
|
||||
## Схема подключения
|
||||
|
||||
| Компонент | Пин ESP32 |
|
||||
|-----------|-----------|
|
||||
| Датчик верха (NJK-5002C) | GPIO 4 |
|
||||
| Датчик низа (NJK-5002C) | GPIO 5 |
|
||||
|
||||
### Подключение датчика NJK-5002C
|
||||
|
||||
- **Коричневый провод**: +5В (или до 30В)
|
||||
- **Синий провод**: GND
|
||||
- **Чёрный провод**: Сигнал → GPIO ESP32
|
||||
|
||||
Датчик имеет выход с открытым коллектором (NPN). Внутренняя подтяжка ESP32 включена в коде.
|
||||
|
||||
## Параметры WiFi
|
||||
|
||||
- **SSID**: `KgeuTraining_AP`
|
||||
- **Пароль**: `12345678`
|
||||
- **IP адрес**: `192.168.4.1`
|
||||
- **TCP порт**: `8080`
|
||||
|
||||
## Формат данных
|
||||
|
||||
Сервер отправляет JSON-сообщения при изменении положения:
|
||||
|
||||
```json
|
||||
{"position":"top"}
|
||||
{"position":"middle"}
|
||||
{"position":"bottom"}
|
||||
```
|
||||
|
||||
## Установка и загрузка
|
||||
|
||||
### Требования
|
||||
|
||||
- [PlatformIO](https://platformio.org/) (расширение для VS Code или CLI)
|
||||
- USB-кабель для подключения платы
|
||||
|
||||
### Шаги
|
||||
|
||||
1. **Клонируйте или скопируйте проект**
|
||||
|
||||
2. **Откройте проект в PlatformIO**
|
||||
|
||||
В VS Code: File → Open Folder → выберите папку `KgeuTraining`
|
||||
|
||||
3. **Подключите плату** к компьютеру через USB
|
||||
|
||||
4. **Соберите проект**
|
||||
|
||||
Нажмите кнопку "Build" (галочка) на панели PlatformIO или выполните:
|
||||
```bash
|
||||
pio run
|
||||
```
|
||||
|
||||
5. **Загрузите прошивку на плату**
|
||||
|
||||
Нажмите кнопку "Upload" (стрелка) на панели PlatformIO или выполните:
|
||||
```bash
|
||||
pio run --target upload
|
||||
```
|
||||
|
||||
6. **Откройте монитор порта** (опционально)
|
||||
|
||||
Для просмотра логов нажмите "Serial Monitor" или выполните:
|
||||
```bash
|
||||
pio device monitor
|
||||
```
|
||||
|
||||
### Возможные проблемы
|
||||
|
||||
- **Порт не определяется**: Установите драйверы CH340 или CP2102 (в зависимости от платы)
|
||||
- **Ошибка загрузки**: Попробуйте удерживать кнопку BOOT на плате во время загрузки
|
||||
- **Не удаётся подключиться к WiFi**: Убедитесь, что плата запустилась (проверьте логи в мониторе)
|
||||
|
||||
## Использование
|
||||
|
||||
1. Включите устройство
|
||||
2. Подключитесь к WiFi сети `KgeuTraining_AP` с паролем `12345678`
|
||||
3. Подключитесь к TCP серверу: `192.168.4.1:8080`
|
||||
4. Получайте данные о положении в реальном времени
|
||||
|
||||
### Пример подключения (Python)
|
||||
|
||||
```python
|
||||
import socket
|
||||
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.connect(('192.168.4.1', 8080))
|
||||
|
||||
while True:
|
||||
data = sock.recv(1024)
|
||||
if data:
|
||||
print(data.decode())
|
||||
```
|
||||
|
||||
### Пример подключения (netcat)
|
||||
|
||||
```bash
|
||||
nc 192.168.4.1 8080
|
||||
```
|
||||
Reference in New Issue
Block a user