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

3.9 KiB
Raw Blame History

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-сообщения при изменении положения:

{"position":"top"}
{"position":"middle"}
{"position":"bottom"}

Установка и загрузка

Требования

  • PlatformIO (расширение для VS Code или CLI)
  • USB-кабель для подключения платы

Шаги

  1. Клонируйте или скопируйте проект

  2. Откройте проект в PlatformIO

    В VS Code: File → Open Folder → выберите папку KgeuTraining

  3. Подключите плату к компьютеру через USB

  4. Соберите проект

    Нажмите кнопку "Build" (галочка) на панели PlatformIO или выполните:

    pio run
    
  5. Загрузите прошивку на плату

    Нажмите кнопку "Upload" (стрелка) на панели PlatformIO или выполните:

    pio run --target upload
    
  6. Откройте монитор порта (опционально)

    Для просмотра логов нажмите "Serial Monitor" или выполните:

    pio device monitor
    

Возможные проблемы

  • Порт не определяется: Установите драйверы CH340 или CP2102 (в зависимости от платы)
  • Ошибка загрузки: Попробуйте удерживать кнопку BOOT на плате во время загрузки
  • Не удаётся подключиться к WiFi: Убедитесь, что плата запустилась (проверьте логи в мониторе)

Использование

  1. Включите устройство
  2. Подключитесь к WiFi сети KgeuTraining_AP с паролем 12345678
  3. Подключитесь к TCP серверу: 192.168.4.1:8080
  4. Получайте данные о положении в реальном времени

Пример подключения (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)

nc 192.168.4.1 8080