4.2 KiB
4.2 KiB
LD2410B Conveyor Counter
ESPHome прошивка для подсчета товаров на конвейере с помощью mmWave сенсора Hi-Link LD2410B + ESP32. Данные передаются через MQTT.
Схема подключения
ESP32 DevKit V1 LD2410B
──────────────────────────────────
GPIO17 (TX) ────► RX
GPIO16 (RX) ────► TX
GPIO18 ────► OUT (digital motion)
3.3V / 5V ────► VCC
GND ────► GND
GPIO2 ────► LED (status, onboard)
Важно: Питание LD2410B — 5V (не 3.3V!). UART логика 3.3V — совместима с ESP32.
Как работает
- UART (256000 baud) — чтение дистанции и энергии движения для каждой "зоны" (gate)
- GPIO OUT — быстрый бинарный сигнал присутствия
- Конечный автомат определяет момент прохода товара:
State 0— ожиданиеState 1— товар в зоне (energy > threshold)State 2— товар прошел (debounce 300ms) → +1 к счетчику
MQTT топики
| Топик | Описание |
|---|---|
ld2410b/conveyor/sensor/items_count/state |
Общий счетчик товаров |
ld2410b/conveyor/sensor/moving_distance/state |
Дистанция до цели (cm) |
ld2410b/conveyor/sensor/trigger_distance/state |
Дистанция в зоне детекции |
ld2410b/conveyor/text_sensor/counter_status/state |
Строка статуса (state, energy, count) |
ld2410b/conveyor/button/reset_counter/command |
Сброс счетчика (payload: любая) |
ld2410b/conveyor/number/energy_threshold/command |
Порог энергии детекции |
ld2410b/conveyor/number/min_distance_cm/command |
Мин. дистанция зоны (cm) |
ld2410b/conveyor/number/max_distance_cm/command |
Макс. дистанция зоны (cm) |
Настройка порогов
Energy Threshold
- По умолчанию: 50
- Диапазон: 10–100
- Чем выше — тем меньше ложных срабатываний, но нужно больше энергии движения для детекции
Min / Max Distance
- По умолчанию: 75–200 см
- Установите диапазон, в котором товары проходят через луч
- LD2410B имеет минимальную дистанцию ~75 см (gate 0)
Установка
# Установите ESPHome
pip install esphome
# Скомпилируйте и залейте
esphome run ld2410b_counter.yaml
secrets.yaml
Создайте файл secrets.yaml рядом с конфигом:
mqtt_broker: "192.168.1.100"
mqtt_user: "esphome"
mqtt_pass: "your_password"
Отладка
- Откройте веб-интерфейс ESP (по IP устройства)
- Следите за
Counter Status— строка видаState: 1 | E: 65 | D: 120 | Count: 42 - Если счетчик не увеличивается:
- Уменьшите
Energy Threshold - Проверьте что товар попадает в диапазон
Min/Max Distance
- Уменьшите
- Если ложные срабатывания — увеличьте
Energy Thresholdили сузьте диапазон дистанций
Ограничения LD2410B
- Минимальная дистанция: ~75 см
- Угол обзора: ~120° (для сужения используйте физический экран/тубус перед сенсором)
- Не различает направление движения (для этого нужен LD2450 с трекингом X/Y)
- Макс. скорость конвейера: зависит от размера товаров и debounce (300ms). Для быстрого конвейера уменьшите debounce в коде.