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. каждую секунду идут сообщения с меткой времени
СпойлерПоказать
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