Первый опыт использования цифровых линий ввода/вывода в RBM33G

Тут размещаем отчеты о готовых работающих решениях на оборудовании Mikrotik
Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Интересно. Wifi-соединение с ESP с Микротиком хорошее ? Не отваливается ?
Мне бы тоже такая штука пригодилась бы в одном месте - LAN там нет и никак не проведешь, а wifi есть.
Может напишите подробную инструкцию как всё сделать, думаю и другим пригодится ...


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
SergeyN
Сообщения: 20
Зарегистрирован: 04 ноя 2021, 10:00

Да, связь нормальная, но даже если и когда отваливается, сразу коннектится, так что и не заметно даже.
Изображение

А на счет инструкции даже не знаю что там писать, фал прошивки генерится на вышеуказанном сайте, далее через утилиту которая также на этом сайте лежит зашивается в ESP через USB кабель. Далее в вебке задаются используемые GPIO, создаются веб кнопки если нужны(но это уже платно, 150р за устройство) ну и далее согласно GPIO подключаются на реле.

Изображение
Изображение
Изображение

Я управляю GET запросом, подключаю разрыв питание камеры к нормально закрытому контакту и когда нужно перезагрузить устройство посылаю GET запрос на включение реле на 10 секунд, на это время прекращается подача питания на устройство. Можно управлять любой нагрузкой хоть 5в хоть 12в хоть 220в. Таким же образом можно нажимать на кнопку ресет для перезагрузки или павер для включения компа. Можно управлять эл.замком или домофоном. Но понятно что в рамках мощности реле.


SergeyN
Сообщения: 20
Зарегистрирован: 04 ноя 2021, 10:00

А кому нужно готовое устройство esp+4реле+бп рекомендую https://aliexpress.ru/item/1005003336579061.html

Изображение

На нее так же можно навестить еще дополнительно датчик температуры/влажности.


REX
Сообщения: 201
Зарегистрирован: 01 апр 2021, 08:19

"Но понятно что в рамках мощности реле."
в чём проблема использовать контактор, управляемый слаботочкой?...
.


SergeyN
Сообщения: 20
Зарегистрирован: 04 ноя 2021, 10:00

REX писал(а): 06 окт 2023, 22:06 в чём проблема использовать контактор
Ни ни каких проблем, можно и контактор через транзистор подключить к ESP. Было бы желание.


Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Продолжаю свои опыты по использованию GPIO RBM33G.

Вчера подключал пульт ДУ с приемником радиосигнала к линиям GPIO, настроенным на input.
Пульт для простоты использовал самый дешёвый и довольно распространённый - вот такой:

https://portal-pk.ru/news/276-radiopult ... duino.html

Я уже ранее использовал его в одном проекте с Laurent-5G от KernelChip вот тут https://habr.com/ru/articles/531690/

Тут всё просто. Подключаем "пины" приемника +5В и GND к соответствующим штекерам разъема GPIO RBM33G. Подключаем пины управления к программируемым пинам GPIO RBM33G. Я использовал Pin3 и Pin5 и только первые два канала радиопульта.

Теперь настраиваем Pin3 и Pin5 RBM33G на вход:

Код: Выделить всё

/iot gpio digital set pin3 direction=input
/iot gpio digital set pin5 direction=input
Теперь при зажатии соответствующей кнопки пульта на соответствующей линии появляется логическая единица. Это легко проверить:

Код: Выделить всё

:put [/iot gpio digital get pin3 input]
Чтобы при нажатии на кнопку пульта выполнялось какое-то действие пишем простенький скрипт, который помещаем в Планировщик с минимальным интервалом исполнения (к сожалению 1 секунда):

Код: Выделить всё

:do {
:if  ([:tonum [/iot gpio digital get pin3 input]]=1) do={
     :log info ""
     :log error "Кнопка A"
     :log info ""
         }
} on-error={}

:do {
:if  ([:tonum [/iot gpio digital get pin5 input]]=1) do={
     :log info ""
     :log warning "Кнопка B"
     :log info ""
       }
} on-error={}
Единственный минус - чтобы скрипт "засёк" нажатие на кнопку пульта её придется немного подержать в нажатом состоянии. Но есть другие виды программируемых пультов, в которых можно настраивать алгоритм выдачи логической единицы при нажатии на кнопку.

Или можно использовать другой подход
- присвоить конкретной линии GPIO свой скрипт командой:

/iot gpio digital set pin12 script="Name1"

Тогда при "переходе" состояния линии из 0 в 1 и из 1 в 0 будет выполняться данный скрипт. Тут нужно учесть, что скрипт будет выполняться именно всякий раз при переходе "туда" или "обратно" (хотя это зависит от варианта настройки приемника, есть и другие режимы). То есть в случае с пультом при нажатии и отпускании кнопки. Если нужно регистрировать только нажатие это нужно учесть в скрипте, написав его так, чтобы он выполнял действие при нажатии и ничего не делал при отпускании. Но этот подход лишен недостатка необходимости "подержать" кнопку, так как переход состояния линии отслеживает сам Микрот на "аппаратном" уровне.

Теперь могу, например, переключать свои ранее настроенные реле блока MP701, подключенного также к GPIO RBM33G с пульта ДУ. Используем ранее написанную функцию управления реле блока MP701, вызовы которой вставляем в выше написанный скрипт Шедуллера:

Код: Выделить всё

:global iotReleMP701
:do {
:if  ([:tonum [/iot gpio digital get pin3 input]]=1) do={
     :log info ""
     :log warning "Кнопка A"
     :local ReleStat1 ([$iotReleMP701 status 1]->"output")
     :if ([:tonum $ReleStat1]=0) do={[$iotReleMP701 on 1]; :log error "Включение реле 1"} else={[$iotReleMP701 off 1]; log warning "Выключение реле 1"}
     :log info ""
     }
} on-error={}

:do {
:if  ([:tonum [/iot gpio digital get pin5 input]]=1) do={
     :log info ""
     :log warning "Кнопка B"
 :local ReleStat2 ([$iotReleMP701 status 2]->"output")
     :if ([:tonum $ReleStat2]=0) do={[$iotReleMP701 on 2]; :log error "Включение реле 2"} else={[$iotReleMP701 off 2]; log warning "Выключение реле 2"}
     :log info ""
    }
} on-error={}
В данном скрипте используется проверка: если реле выключено, оно включается кнопкой и наоборот.

Вставил плату приёмника радиосигнала пульта управления прямо внутрь корпуса RBM33G. Сигнал с 10 метров берет без проблем. Внешний вид пульта и дальность конечно оставляют желать лучшего. Но тут уж ничего не попишешь.

Попробую найти другой пульт с приемником, поэстетичнее и помощнее.
Последний раз редактировалось Sertik 16 ноя 2023, 14:38, всего редактировалось 4 раза.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Вот более стильные варианты с программированием режима кнопок:

https://aliexpress.ru/item/100500600447 ... 4aa6BE8Yjp

https://aliexpress.ru/item/400113163486 ... 6beeZg31H9

https://aliexpress.ru/item/32842794493. ... 6beeZg31H9


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Было бы интересно подключить к GPIO Микротик различные датчики, не только "порогового" типа - то есть "есть логическая единица при срабатывании или нет", а и те, которые могут передавать данные по rx/tx.
Например, датчик определения присутствия человека https://aliexpress.ru/item/10050052444 ... 4aa6wLktIE


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1601
Зарегистрирован: 15 сен 2017, 09:03

Для определения превышения порога заданной температуры в корпусе RBM33G можно (если нужно) использовать вот такой датчик:
https://robot-kit.ru/3115/
порог задаётся подстроечным резистором. На определенном контакте датчика появляется "логическая единица" (+5В) при превышении установленного порога температуры. Остаётся соединить этот контакт с программируемым пином RBM33G, настроенным на вход и мы будет знать о факте превышения порога температуры. При этом можно програмно включить реле, управляющее вентилятором (при установке роутера в шкаф). Наверное существуют температурные датчики. которые могут сигнализировать о снижении температуры ниже определенного порога. Тогда Микротик может включить реле нагрева шкафа.
То есть никаких термореле и прочей фигни. Всё Микротик может делать сам. Существенное снижение затрат на обогрев/охлаждение сетевого шкафа.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Ответить