16 578
правок
Строка 6: | Строка 6: | ||
== Подключение к контроллеру == | == Подключение к контроллеру == | ||
{{ | === RS-485 === | ||
[[Image: Akko RS-485.png |300px|thumb|right| Распиновка разъема для подключения шины RS-485 на электомоторе Akko]] | |||
Подключите устройство к шине [[RS-485]] с соблюдением распиновки. | |||
{| class="wikitable" style=" float:center; margin-right: 10px;" | |||
|+Распиновка разъема | |||
|+ | |||
!Номер клеммы !!Описание | |||
|- | |||
|3 | |||
|B | |||
|- | |||
|4 | |||
|A | |||
|} | |||
== Параметры подключения == | |||
=== Параметры порта === | |||
{{RS485ConnectionParameters | |||
| baud_rate=9600 | |||
| parity=None | |||
| data_bits=8 | |||
| stop_bits=1 | |||
}} | |||
=== Адрес устройства === | |||
После того как вы физически подключили электромотор к контроллеру, задайте ему адрес. | |||
Адрес задаётся путем записи в микроконтроллер электромотора специальной команды в шестнадцатеричном виде. | |||
Например, зададим адрес 1 для шторы, расположенной в зоне 1, для этого запишем команду | |||
# Откройте консоль контроллера по [[SSH]]. | |||
# [[Wb-mqtt-serial driver#Управление драйвером | Остановите драйвер wb-mqtt-serial]] или иное ПО, которое опрашивает устройство. | |||
# Переведите электромотор в режим программирования, для этого зажмите кнопку в торце корпуса в течение 5 секунд, индикатор должен моргнуть два раза. | |||
# Подключитесь к электромотору с помощью serial_tool, для этого выполните команду: | |||
#:<syntaxhighlight lang="bash"> | |||
serial_tool -b 9600 -p N -d 8 -s 1 -t 1 /dev/ttyRS485-2 | |||
</syntaxhighlight> | |||
#: где /dev/ttyRS485-2 — порт, к которому подключено устройство. | |||
# Введите команду | |||
#:<syntaxhighlight lang="bash"> | |||
55 00 00 02 00 02 01 01 9D 58 | |||
</syntaxhighlight> | |||
#:Расшифровка команды: | |||
#:<syntaxhighlight lang="bash"> | |||
55 - стартовый байт | |||
00 - широковещательный байт для всех зон | |||
00 - широковещательный байт для всех штор в зоне | |||
02 - байт записи команды | |||
00 - data adress | |||
02 - data length длина команды | |||
01 - новый номер шторы | |||
01 - новый номер зоны | |||
9D 58 - CRC - Для каждой команды CRC высчитывается индивидуально | |||
</syntaxhighlight> | |||
[[Image: Akko_Dooya_Calc_CRC.png |300px|thumb|right| Расчет контрольной суммы команды на сервисе [https://crccalc.com crccalc.com]. Результат нужно перевернуть]] | |||
Рассчитать контрольную сумму команды можно с помощью сервиса [https://crccalc.com crccalc.com]: | |||
# Перейдите на страницу сервиса. | |||
# Введите в поле ввода сформированную команду без пробелов. В нашем случае это <code>5500000200020101</code>. | |||
# Установите переключатели '''Input type''' и '''Output type''' в положение '''Hex'''. | |||
# Нажмите кнопку '''Calc CRC-16'''. | |||
# Результат будет в строке '''CRC-16/MODBUS''', столбец '''Result'''. В нашем случае это будет <code>0x589D</code>. | |||
# Откиньте <code>0x</code>, добавьте пробел между парами поменяйте их местами, получится <code>9D 58</code>. | |||
# Запишите полученную контрольную сумму в конец команды. | |||
== Представление в веб-интерфейсе == | == Представление в веб-интерфейсе == |