аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

[14 ноября 2019 | 2 декабря 2019 | 6 декабря 2019]

Работа с Ethernet-реле SR-201 на Python

Недавно Миша Анистратов подарил мне одну интересную релюшку с управлением по сети. В комплекте шли проги для настройки, включения и выключения этой релюшки. Довольно удобный интерфейс, да и устройство не сильно сложное. В общем, решил поиграть с очередной сетевой игрушкой. Так же у меня возникла мысль привязать это реле к моему боту в Телеге. Для этих целей мне понадобилось управлять реле через сеть на Питоне (Python, Пайтон — кому, как удобней).

Управляющие коды у этой релюшки очень простые. По UDP необходимо отправить два управляющих байта состоящих из команды и номера реле. Релюшки из этой группы бывают на одну, две, ... и восемь линий. Порт для управления 6723. Никакой защиты от неверных данных или мусора нет. Если на этот порт будет поступать мусор от какого-нибудь сканера или вируса то реле будут отщелкивать Кан-кан или песню дрозда. Программа на Питоне довольно простая. Я прописал коды в виде комментариев, чтобы проще было протестировать. Управлять можно не только по UDP, но и по TCP протоколу. Используя TCP можно запросить состояние линий реле, но мне этого не требуется. Разве, что в дальнейшем появится такая необходимость. Программа для управления получилась крайне заурядной.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# ORCINUS.RU Project

import socket

UDP_IP = '192.168.30.250'
UDP_PORT = 6723

#COMMAND = '11' #On 1
#COMMAND = '21' #Off 1

#COMMAND = '12' #On 2
#COMMAND = '22' #Off 2

COMMAND = '1X' #On All
#COMMAND = '2X' #Off All

udp_send = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
udp_send.connect((UDP_IP,UDP_PORT))
udp_send.send(bytes(COMMAND, "utf-8"))
udp_send.close()

Подобная релюшка на два канала стоит менее тысячи рублей на Алиэкспресс. Вполне себе не дорогое решение с очень простым управлением. Что мне не нравится в большинстве других решений, так это их привязка к каким-то своим сервисам для управления. А чтобы их заставить работать из самодельных приложений нужно много прыгать по граблям и снифить трафик между управляющими программами и устройством.

Вот ролик на Ютьюбе чтобы можно было наглядно посмотреть за исполнением команд этим реле. Светодиоды на плате показывают включенное состояние реле.

Тэги: ИТ, программирование, Питон

Отредактировано:2020-09-07 06:02:56




16 комментариев
Имя: Алексей 🖉
Мда, с безопасностью совсем грустно. Полностью открыто для хака.
Комментарий оставлен: 2019-12-02 00:00:00


Имя: Orcinus Orca 🖉
Алексей, ну хак — это как-то сложно сказано, тут ведь никакие данные не получишь. Максимум побаловаться с параметрами, опять же — это UDP. Ответа не будет никакого. Но я поместил его в ту часть подсети у которой нет выхода в интернет и на которую запрещен траффик от всех железок кроме моих серверных IP.
Комментарий оставлен: 2019-12-02 00:00:00


Имя: Алексей 🖉
Разумно.
Комментарий оставлен: 2019-12-03 00:00:00


Имя: Orcinus Orca 🖉
Алексей, просто у этой железки тоже есть возможность подключения к облачному сервису. Да и кто знает какие там могут быть закладки с удалённым управлением, лучше быть параноиком.
Комментарий оставлен: 2019-12-04 00:00:00


Имя: Алексей 🖉
Ну, закладки в такой простой штуковине — это вряд ли. Главный риск — это именно её простота и всеоткрытость.

Так что да, нужно прятать в глухих жёстко контролируемых уголках сети без выхода наружу.
Комментарий оставлен: 2019-12-04 00:00:00


Имя: Orcinus Orca 🖉
Алексей, у меня жесткие правила в сети. Что в конторах где я подрабатываю, что в домашней, что на работе.
Комментарий оставлен: 2019-12-04 00:00:00


Имя: Алексей 🖉
Вот глянь ещё контроллер на пайтоне. Больше для экспериментов, но можно приспособить для управления питанием или вентиляцией, например.

https://mysku.ru/blog/aliexpress/77354.html
Комментарий оставлен: 2019-12-05 00:00:00


Имя: Orcinus Orca 🖉
Алексей, это не универсальное решение.
Комментарий оставлен: 2019-12-05 00:00:00


Имя: Алексей 🖉
там в комментах народ предлагает дешёвые альтернативы, на которые можно накатить майкропайтон. Но надо городить что-то на макетке.
Комментарий оставлен: 2019-12-05 00:00:00


Имя: Orcinus Orca 🖉
Алексей, если на макетке то тогда уж проще Мегу+ENC и самому накатать сетевой протокол для общения. Но я рассматривал то, что мне попало в руки. Чисто для автономной работы умного дома я бы использовал Raspberry и прикрутил к нему внешние реле с опторазвязкой.
Комментарий оставлен: 2019-12-06 00:00:00


Имя: Дмитрий 🖉
Здравствуйте! Прошу уточнить где можно приобрести данное изделие
Комментарий оставлен: 2020-09-01 00:00:00


Имя: Orcinus Orca 🖉
Дмитрий, на алиэкспрессе их миллионы.
Комментарий оставлен: 2020-09-01 00:00:00


Имя: Сергей 🖉
А можно ознакомиться с инструкцией как привязать данный скрипт к боту в телеграмм?
Комментарий оставлен: 2020-10-14 00:00:00
Ответ:
Это индивидуально, так как моя реализация завязана на серию факторов.
1 - температура в помещении,
2 - наличие движения в помещении,
3 - команда с телеги на включение или отключение.

Если вырезать только код работы с телегой и только код управления релюшкой, то вы получите данные из этой статьи и статьи с указанной ссылкой в статье.
Ответ оставлен: 2021-01-11 08:27:11


Имя: Руслан 🖉
А как то это устройство можно прикрутить к какой нибудь СКАДА, и управлять сразу несколькими такими устройствами ну и красиво чтоб было
Комментарий оставлен: 2021-06-13 08:17:35
Ответ:
Можно, но есть специальные устройства для работы со СКАДА, чаще всего они сертифицированы и проверены. Как показала практика эти реле иногда нестабильно работают.
Ответ оставлен: 2021-06-14 18:45:44


Имя: Vanilock 🖉
Есть ли где-нибудь список всех команд? Не смог найти. В комплекте шло ПО, в котором можно задать таймер в каком состоянии держать канал (появилась такая необходимость), но не нашел в каком формате отправлять на реле команду. Спасибо!
Комментарий оставлен: 2021-12-17 11:57:44
Ответ:
Я же показал на Python как можно включить или выключить нужный канал.
Ответ оставлен: 2021-12-27 18:19:58


Имя: Даниил 🖉
Добрый день . Мне тоже задарили такой девайс-релюшку . Постучал LanScope IPшник увидел .. А какой прогой поменять IP ? Подскажите . Заранее спасибо .
Комментарий оставлен: 2023-11-15 14:04:52
Ответ:
У меня был диск с ПО, скопировал на Яндекс.Диск: https://disk.yandex.ru/d/RC4FJhgAI7NV7g
Судя по вашему вопросу у меня на Ютьюбе, то с этим реле никто не работает?
Ответ оставлен: 2023-11-16 05:11:57



Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика