Files
WorkoutHammerESP/README.md
2026-01-22 12:54:20 +03:00

116 lines
3.9 KiB
Markdown
Raw Permalink 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.

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