SmartLiving.ru

Обсуждение проекта
 
Текущее время: Вс дек 17, 2017 2:50 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Network relay switch
СообщениеДобавлено: Ср сен 14, 2016 12:10 am 
Не в сети

Зарегистрирован: Вт авг 30, 2016 2:28 am
Сообщения: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Доброго времени суток!

Подскажите, может есть у кого опыт прикручивания сетевого контроллера с 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 лет назад и порядком подзабылось :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Ср сен 14, 2016 10:01 am 
В сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3855
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 795 раз.
Shemmy писал(а):
Доброго времени суток!

Подскажите, может есть у кого опыт прикручивания сетевого контроллера с 8-мью входами/выходами?
Вот ссылка

Чем то он мне напоминает Laurent...мне кажется управление схожее viewtopic.php?f=8&t=31

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Пн сен 19, 2016 7:30 pm 
Не в сети

Зарегистрирован: Вт авг 30, 2016 2:28 am
Сообщения: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Покопавшись, нашел документацию.
Оказывается, он элементарно управляется телнетом, и также отдает информацию о статусе выходов и состоянии выключателей.
Закину эту информацию сюда на хранение, и с надеждой, что кто-то сможет облачить это в код =)
Код:

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Сб ноя 12, 2016 12:05 am 
Не в сети

Зарегистрирован: Пт апр 01, 2016 2:42 pm
Сообщения: 192
Благодарил (а): 10 раз.
Поблагодарили: 10 раз.
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"');


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Чт окт 12, 2017 5:57 pm 
Не в сети

Зарегистрирован: Пт апр 01, 2016 2:42 pm
Сообщения: 192
Благодарил (а): 10 раз.
Поблагодарили: 10 раз.
update


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Вс окт 15, 2017 9:31 am 
Не в сети

Зарегистрирован: Сб авг 12, 2017 11:03 am
Сообщения: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
У меня такая железка в хозяйстве есть. Вижу очень большой минус в ней - при управлении через веб морду в режиме импульс (или curl) реле управляются по заранее заложенному алгоритму, а именно - смыкается ровно на одну секунду.
Так же у меня не получилось через импульс управлять одновременно несколькими релешками, то есть пока одна импульс исполняет, то остальное ничего не работает. Возможно надо поэксперементировать просто со вкл выкл, может будет по другому.
PS - поэксперементировал. Действительно если отдельно вкл выкл управлять то всё работает достаточно быстро, то есть команда выполняется моментально и интервал меньше одной секунды.
Кстати по curl всё работает но при этом 404 ошибку выдает в HTTP запросе.
Всё ж таки наверное правильно будет ее через modbus подключать, чтобы использовать еще и для чтения регистров (состояния реле и входов)


Вложения:
Комментарий к файлу: Веб морда реле
реле.PNG
реле.PNG [ 27.37 КБ | Просмотров: 590 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Пн ноя 06, 2017 5:20 pm 
Не в сети

Зарегистрирован: Сб авг 12, 2017 11:03 am
Сообщения: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем добрый день. Попробовал в TCP режиме - действительно реле отвечает. Теперь вопрос - есть ли какой-то способ подружить с MD по TCP?
Понятно, что наверное можно попробовать работать напрямую через TCP сокеты в Linux, но все же может есть что-то более удобное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Пн ноя 06, 2017 6:13 pm 
В сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3855
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 795 раз.
Есть протокол MODBUS TCP. Случайно не по нему работает? Недавно кому-то настраивал подобную релюшку.

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Пн ноя 06, 2017 8:01 pm 
Не в сети

Зарегистрирован: Сб авг 12, 2017 11:03 am
Сообщения: 8
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
TCP Modbus эта железка тоже умеет, но там другой порт и другой протокол.
А тут всё просто, я 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);
?>

отдает нормально свое состояние. Проблема в том что TCP сессия не закрывается пока девайс ее не закроет, это автоматически через 30 секунд происходит.
По всей видимости надо другой алгоритм работы использовать
ЗЫ - попробовал ограничивать буфер чтения количеством байт, stream_get_contents($client, 140) например так, - тогда скрипт не ждет разрыва сессии и отдает данные сразу, но в зависимости от состояния релешек могут разной длины ответы приходить
к примеру relayoff 1 и relayon 1 на 1 байт же отличаются :-(


Последний раз редактировалось andrusha7778 Пн ноя 06, 2017 8:11 pm, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Network relay switch
СообщениеДобавлено: Пн ноя 06, 2017 8:08 pm 
В сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3855
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 795 раз.
Может таки через modbus попробовать? Модуль есть в маркете.

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB