http://www.hlktech.net/product.php?Cate ... sw&x=0&y=0
на сайт производителя толком ничего нет. поэтому вот ссылки на описание и программу управления
http://www.alselectro.com/16ch-relay-b0 ... ilink.html
http://www.alselectro.com/files/HLK-SW16_V1.5.zip
Версии на 2 и 4 реле имеют на борту не фиксируемые кнопки для смены состояния реле. 16 портовая версия не имеет.
Железки основаны на преобразователи интерфейсов HLK-RM04. по нему есть обзоры на русском в интернете.
на вкладке /p2p.asp можно найти данные для подключения собственной программой
на вкладке /Serial2Net.asp настраивается режим client,server и указывается порт.
по сути на этот порт идет передача всего того что попадает в serial порт самого реле.
Вторая часть железки это само реле. версия SW2 базируется на stm8s105. на чем остальные не знаю. но внутренний протокол один.
Важно. при перезагрузке железка не сохраняет состояния выходов. надо это учитывать.
изучив что идет с программы на железку и почитав гитхаб по запросу HLK-SW16
можно найти как формируется протокол например тут: https://github.com/rambkk/HLK-SW16
Что же у нас на порту:
2 байта команда
16 байт ключ команды
2 байта контрольная сумма.(но не факт что она проверяется)
1. каждую секунду идут сообщения с меткой времени
SPOILERSPOILER_SHOW
CC 1F 13 0B 1B 00 2B 11 03 00 00 00 00 00 00 00 00 00 97 DD
CC 1F 13 0B 1B 00 2B 12 03 00 00 00 00 00 00 00 00 00 98 DD
CC 1F 13 0B 1B 00 2B 13 03 00 00 00 00 00 00 00 00 00 99 DD
CC 1F 13 0B 1B 00 2B 14 03 00 00 00 00 00 00 00 00 00 9A DD
CC 1F 13 0B 1B 00 2B 15 03 00 00 00 00 00 00 00 00 00 9B DD
CC 1F 13 0B 1B 00 2B 16 03 00 00 00 00 00 00 00 00 00 9C DD
CC 1F 13 0B 1B 00 2B 17 03 00 00 00 00 00 00 00 00 00 9D DD
CC 1F 13 0B 1B 00 2B 18 03 00 00 00 00 00 00 00 00 00 9E DD
CC 1F 13 0B 1B 00 2B 19 03 00 00 00 00 00 00 00 00 00 9F DD
CC 1F 13 0B 1B 00 2B 1A 03 00 00 00 00 00 00 00 00 00 A0 DD
CC 1F 13 0B 1B 00 2B 1B 03 00 00 00 00 00 00 00 00 00 A1 DD
CC 1F 13 0B 1B 00 2B 1C 03 00 00 00 00 00 00 00 00 00 A2 DD
CC 1F 13 0B 1B 00 2B 1C 03 00 00 00 00 00 00 00 00 00 A2 DD
CC 1F 13 0B 1B 00 2B 12 03 00 00 00 00 00 00 00 00 00 98 DD
CC 1F 13 0B 1B 00 2B 13 03 00 00 00 00 00 00 00 00 00 99 DD
CC 1F 13 0B 1B 00 2B 14 03 00 00 00 00 00 00 00 00 00 9A DD
CC 1F 13 0B 1B 00 2B 15 03 00 00 00 00 00 00 00 00 00 9B DD
CC 1F 13 0B 1B 00 2B 16 03 00 00 00 00 00 00 00 00 00 9C DD
CC 1F 13 0B 1B 00 2B 17 03 00 00 00 00 00 00 00 00 00 9D DD
CC 1F 13 0B 1B 00 2B 18 03 00 00 00 00 00 00 00 00 00 9E DD
CC 1F 13 0B 1B 00 2B 19 03 00 00 00 00 00 00 00 00 00 9F DD
CC 1F 13 0B 1B 00 2B 1A 03 00 00 00 00 00 00 00 00 00 A0 DD
CC 1F 13 0B 1B 00 2B 1B 03 00 00 00 00 00 00 00 00 00 A1 DD
CC 1F 13 0B 1B 00 2B 1C 03 00 00 00 00 00 00 00 00 00 A2 DD
CC 1F 13 0B 1B 00 2B 1C 03 00 00 00 00 00 00 00 00 00 A2 DD
2. Ответ на нормальные команды возвращает состояние реле
CC 0C 02 02 01 02 02 02 02 02 02 02 02 02 02 02 02 02 29 DD -текущий статус
начиная с третьего числа 02 - выключен 01 включен.
единственное что у двухрелейной модели оказались задействованны номер 0 и 2. почему-то 1 пропущен.
3. Запрос состояния:
aa 1e 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 bb
4. RelayOn/off
aa 0f 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 bb
3 байт номер порта
4 байт 01 - вкл 02 выкл
aa 0a 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 bb -all on
aa 0b 02 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 bb -all off