139
правок
(добавил инфу по подключению esp32 в качестве modbus rtu slave) |
|||
Строка 284: | Строка 284: | ||
</gallery> | </gallery> | ||
== Печать корпуса == | == Подключение по RS-485 / Modbus RTU == | ||
Для этого понадобится модуль MAX485 | |||
[[Image:Max485.jpg]] | |||
Подключение делаем так: | |||
{| border="1" class="wikitable" | |||
! '''ld2410''' || '''esp32''' || '''описание''' | |||
|- | |||
| VCC || 3V || max485 питается от 3V | |||
|- | |||
| GND || GND || земля | |||
|- | |||
| DI || IO32 || передача по uart от esp32 в сторону max485 | |||
|- | |||
| RO || IO33 || передача по uart от max485 в сторону esp32 | |||
|- | |||
| DE/RE || IO25 || пин контроля направления приёма/передачи | |||
|- | |||
|} | |||
моя breadbort плата в момент разработки выглядела так: | |||
[[Image:Ld2410c-modbus-rtu МП.png|600px]] | |||
Прошивка в этом случае будет уже не от ESP32, будем делать свой скетч (весь код загружен сюда https://github.com/goosecrew/ld2410-modbus-slave.git) | |||
Использовал три разных Serial: | |||
* Serial - uart на microUSB (можно смотреть логи и посылать команды для просмотра показаний датчика в консоли, настраивать датчик, перезапускать, делать сброс и т.д.) | |||
* Serial1 - uart max485 | |||
* Serial2 - uart ld2410 | |||
Описание input-регистров (показания датчика): | |||
{| border="1" class="wikitable" | |||
! '''№ регистра''' || '''тип регистра''' || '''описание''' | |||
|- | |||
| 0 || input || метрика "присутствие" | |||
|- | |||
| 1 || input || метрика "неподвижность" | |||
|- | |||
| 2 || input || метрика "движение" | |||
|- | |||
| 3 || input || расстояние до неподвижного объекта | |||
|- | |||
| 4 || input || энергия неподвижного объекта | |||
|- | |||
| 5 || input || расстояние до движущегося объекта | |||
|- | |||
| 6 || input || энергия движущегося объекта | |||
|- | |||
|} | |||
Описание holding-регистров (чтение и изменение настроек): | |||
{| border="1" class="wikitable" | |||
! '''№ регистра''' || '''тип регистра''' || '''описание''' | |||
|- | |||
| 100 || holding || modbus serial slave id | |||
|- | |||
| 101 || holding || modbus serial stop bits | |||
|- | |||
| 102 || holding || modbus serial baudrate | |||
|- | |||
| 103 || holding || максимальное расстояние до движущегося объекта | |||
|- | |||
| 104 || holding || максимальное расстояние до неподвижного объекта | |||
|- | |||
| 105 || holding || idle time | |||
|- | |||
|} | |||
'''ВАЖНО! После изменения настроек modbus необходимо перезапустить esp32!''' | |||
== Питание от 12/24V == | |||
С учётом того, что в Wiren Board обычно используется напряжение 12/24V, чтобы запитать ESP32 - нужно будет еще добавить модуль для понижения постоянного напряжения до 5V, здесь я это не рассматриваю, но нужно обязательно помнить: | |||
'''!!! ESP32 работает от 5V, датчик работает от 5V, MAX485 работает от 3.3/5V !!! Не подавайте на ESP32 12/24V - сожжёте! :)''' | |||
== Шаблон для Wiren Board == | |||
Шаблон для контроллера Wiren Board лежит на гитхабе в папке wirenboard (https://github.com/goosecrew/ld2410-modbus-slave/blob/main/wirenboard/LD-2410.json). | |||
Вот что получилось на выходе: | |||
<gallery mode="traditional" widths ="260px" heights="200px"> | |||
Image: Снимок экрана 2024-02-01 003946.jpg| | |||
Image: Снимок экрана 2024-02-01 004047.jpg| | |||
</gallery> | |||
<gallery mode="traditional" widths ="260px" heights="200px"> | |||
Image: Снимок экрана 2024-02-01 003507.jpg| | |||
Image: Снимок экрана 2024-02-01 003637.jpg| | |||
</gallery> | |||
== Печать корпуса для беспроводной версии == | |||
В конечном счёте я решил свою задачу - как датчик работает мне очень нравится, всё точно, никаких ложных срабатываний по сравнению с PIR датчиком, поэтому я решил финализировать решение, заказал себе ESP32C3 (на свой страх и риск, т.к. разработчики ESPHOME не гарантируют корректную работу на C3, но вроде пишут что всё норм встаёт) и нашёл на просторах сети пару халявных схем для 3D-принтера, отдал другу, и вот какой результат получился: | В конечном счёте я решил свою задачу - как датчик работает мне очень нравится, всё точно, никаких ложных срабатываний по сравнению с PIR датчиком, поэтому я решил финализировать решение, заказал себе ESP32C3 (на свой страх и риск, т.к. разработчики ESPHOME не гарантируют корректную работу на C3, но вроде пишут что всё норм встаёт) и нашёл на просторах сети пару халявных схем для 3D-принтера, отдал другу, и вот какой результат получился: | ||
правок