Network relay switch
Модератор: immortal
-
- Сообщения: 25
- Зарегистрирован: Вт авг 30, 2016 2:28 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Network relay switch
Доброго времени суток!
Подскажите, может есть у кого опыт прикручивания сетевого контроллера с 8-мью входами/выходами?
Вот ссылка
У этого контроллера есть простенькая вебморда, позволяющая управлять входами и выходами, и отрисовывающая текущее состояние каждой релюшки.
Нашел в инете информацию как им управлять с помощью curl:
curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1on=1"
curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1off=1"
Вдруг есть у кого наработки аналогичного девайса?
У самого программирование было 15 лет назад и порядком подзабылось
Подскажите, может есть у кого опыт прикручивания сетевого контроллера с 8-мью входами/выходами?
Вот ссылка
У этого контроллера есть простенькая вебморда, позволяющая управлять входами и выходами, и отрисовывающая текущее состояние каждой релюшки.
Нашел в инете информацию как им управлять с помощью curl:
curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1on=1"
curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1off=1"
Вдруг есть у кого наработки аналогичного девайса?
У самого программирование было 15 лет назад и порядком подзабылось
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Network relay switch
Чем то он мне напоминает Laurent...мне кажется управление схожее http://majordomo.smartliving.ru/forum/v ... p?f=8&t=31Shemmy писал(а):Доброго времени суток!
Подскажите, может есть у кого опыт прикручивания сетевого контроллера с 8-мью входами/выходами?
Вот ссылка
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 25
- Зарегистрирован: Вт авг 30, 2016 2:28 am
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Re: Network relay switch
Покопавшись, нашел документацию.
Оказывается, он элементарно управляется телнетом, и также отдает информацию о статусе выходов и состоянии выключателей.
Закину эту информацию сюда на хранение, и с надеждой, что кто-то сможет облачить это в код =)
Оказывается, он элементарно управляется телнетом, и также отдает информацию о статусе выходов и состоянии выключателей.
Закину эту информацию сюда на хранение, и с надеждой, что кто-то сможет облачить это в код =)
Код: Выделить всё
1. Parameters of controller
Default IP:192.168.1.166
Default TCP port :1234
2. Operation of relays
(1) Open the relay
L(n) n=1:8,Such as the need to open the relay 1, then send the string “L1”. The board will return “Relayon 1” after the relay in operation.
(2) Close the relay
D(n) n=1:8,Such as the need to close the relay 3, then send the string “D3”. The board will return “Relayoff 3” after the relay in operation.
(3) 800ms pluse,Open relay for 800ms,then close.
P(n) n=1:8,Such as the need to pluse the relay 1, then send the string “P1”. The board will return “Press 1” after the relay in operation.
(4) Read status of relays
R(n) n=1:8,Such as the need to read the status of relay 1, then send the string “R1”. The board will return “Relayon 1” or “Relayoff 1”.
(5) Read input status
I(n) n=1:8, Such as the need to read the status of input 1, then send the string “I1”. The board will return “IL 1” or “IH 1”.
(6) Burst mode read status
Send strings ”DUMP” or “dump”,the board will return all status of relays and inputs by end of “OK”.
(7) Examples
1. Connect to TCP port;
2. Send command, all commad by ends of “\r\n”;
3. If the PC within 30s no data is sent to the controller, the controller will disconnect to PC.
PC Board
L1 Relayon 1
DUMP Relayon 1
Relayoff 2
Relayoff 3
Relayoff 4
Relayoff 5
Relayoff 6
Relayoff 7
Relayoff 8
IL 1
IL 2
IL 3
IL 4
IL 5
IL 6
IL 7
IL 8
OK
-
- Сообщения: 193
- Зарегистрирован: Пт апр 01, 2016 2:42 pm
- Благодарил (а): 10 раз
- Поблагодарили: 10 раз
Re: Network relay switch
Relays-> turnOff * exec('curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1off=1"');
Relays-> turnOn * exec('curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1on=1"');
Relays-> turnOn * exec('curl --request POST "http://admin:12345678@192.168.1.166/control.cgi" --data "saida1on=1"');
-
- Сообщения: 85
- Зарегистрирован: Сб авг 12, 2017 11:03 am
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Network relay switch
У меня такая железка в хозяйстве есть. Вижу очень большой минус в ней - при управлении через веб морду в режиме импульс (или curl) реле управляются по заранее заложенному алгоритму, а именно - смыкается ровно на одну секунду.
Так же у меня не получилось через импульс управлять одновременно несколькими релешками, то есть пока одна импульс исполняет, то остальное ничего не работает. Возможно надо поэксперементировать просто со вкл выкл, может будет по другому.
PS - поэксперементировал. Действительно если отдельно вкл выкл управлять то всё работает достаточно быстро, то есть команда выполняется моментально и интервал меньше одной секунды.
Кстати по curl всё работает но при этом 404 ошибку выдает в HTTP запросе.
Всё ж таки наверное правильно будет ее через modbus подключать, чтобы использовать еще и для чтения регистров (состояния реле и входов)
Так же у меня не получилось через импульс управлять одновременно несколькими релешками, то есть пока одна импульс исполняет, то остальное ничего не работает. Возможно надо поэксперементировать просто со вкл выкл, может будет по другому.
PS - поэксперементировал. Действительно если отдельно вкл выкл управлять то всё работает достаточно быстро, то есть команда выполняется моментально и интервал меньше одной секунды.
Кстати по curl всё работает но при этом 404 ошибку выдает в HTTP запросе.
Всё ж таки наверное правильно будет ее через modbus подключать, чтобы использовать еще и для чтения регистров (состояния реле и входов)
- Вложения
-
- Веб морда реле
- реле.PNG (27.37 КБ) 7402 просмотра
-
- Сообщения: 85
- Зарегистрирован: Сб авг 12, 2017 11:03 am
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Network relay switch
Всем добрый день. Попробовал в TCP режиме - действительно реле отвечает. Теперь вопрос - есть ли какой-то способ подружить с MD по TCP?
Понятно, что наверное можно попробовать работать напрямую через TCP сокеты в Linux, но все же может есть что-то более удобное?
Понятно, что наверное можно попробовать работать напрямую через TCP сокеты в Linux, но все же может есть что-то более удобное?
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Network relay switch
Есть протокол MODBUS TCP. Случайно не по нему работает? Недавно кому-то настраивал подобную релюшку.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 85
- Зарегистрирован: Сб авг 12, 2017 11:03 am
- Благодарил (а): 15 раз
- Поблагодарили: 3 раза
Re: Network relay switch
TCP Modbus эта железка тоже умеет, но там другой порт и другой протокол.
А тут всё просто, я putty в RAW режиме коннекчусь на порт 1234 и отправляю команды, оно отвечает. Если за 30 сек ничего не отправлю TCP сессия закрывается.
Немного поразвлекался в PHP
отдает нормально свое состояние. Проблема в том что TCP сессия не закрывается пока девайс ее не закроет, это автоматически через 30 секунд происходит.
По всей видимости надо другой алгоритм работы использовать
ЗЫ - попробовал ограничивать буфер чтения количеством байт, stream_get_contents($client, 140) например так, - тогда скрипт не ждет разрыва сессии и отдает данные сразу, но в зависимости от состояния релешек могут разной длины ответы приходить
к примеру relayoff 1 и relayon 1 на 1 байт же отличаются
А тут всё просто, я putty в RAW режиме коннекчусь на порт 1234 и отправляю команды, оно отвечает. Если за 30 сек ничего не отправлю TCP сессия закрывается.
Немного поразвлекался в PHP
Код: Выделить всё
dump_state.php
<?php
$client = stream_socket_client("tcp://XXX.XXX.XXX.XXX:1234", $errno, $errorMessage);
if($client === false){
throw new UnexpectedValueException("Failed to connect: $errorMessage");
}
fwrite($client, "DUMP\r\n");
$variable = stream_get_contents($client);
echo $variable;
fclose($client);
?>
По всей видимости надо другой алгоритм работы использовать
ЗЫ - попробовал ограничивать буфер чтения количеством байт, stream_get_contents($client, 140) например так, - тогда скрипт не ждет разрыва сессии и отдает данные сразу, но в зависимости от состояния релешек могут разной длины ответы приходить
к примеру relayoff 1 и relayon 1 на 1 байт же отличаются
Последний раз редактировалось andrusha7778 Пн ноя 06, 2017 8:11 pm, всего редактировалось 1 раз.
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Network relay switch
Может таки через modbus попробовать? Модуль есть в маркете.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<