Схема: Raspberry Pi 3 Model B (+Relay Board) ↔ Ubuntu 18.04 Server (MajorDoMo)

Хочу раз и навсегда подготовить для себя пошаговое руководство, что и как нужно сделать дабы управлять нагрузкой приходящей на реле через систему Raspbian (действия идентичны что для Jessie, что для Stretch) установленную на миникомпьютер Raspberry Pi 3 Model B

Схема:

Этап №1: Вилка от компьютера, обрезана часть которая вставляется в компьютер.

Этап №2: Затем кабель от пункта 1 подключен к автоматам на 16 Ампер которые установлены в металлический бокс на DIN рейке.

Этап №3: На DIN рейке установлены две колодки, одна (левая) это приходит из автомата фаза, вторая (правая) — это приходить земля.

Этап №4: От колодки с фазой теперь выходит кабель сечением 2.5мм (меньше нельзя или на свой страх и риск) и подключается в центральную колодку RelayBoard (на 8 штук) разъема K1

Этап №5: К плате RelayBoard я подключаю розетку (на 2 подключения), фазный провод вставляется в разъем K1 на RelayBoard который у нас обозначается, как нормально разомкнутый (normal open, NO).

Подключение реле к 220В

Выделенный квадрат это фазный провод от розетки. Центральный разъем — это фаза от колодки приходящей с автомата.

Этап №6: Земля от розетки идет в колодку с землей приходящей от автомата.

Этап №7: Далее нужно подключить Relay Board к Raspberry Pi 3 Model B

  • VCC (Relay Board) — к 5V (Raspberry Pi 3 Model B) (четвертый пин)
  • GND (Relay Board) — к GND (Raspberry Pi 3 Model B) (шестой пин)
  • IN1 (Relay Board) — к GPIO 4 (Raspberry Pi 3 Model B) (седьмой пин)

Этап №8: Подключаюсь по SSH к Raspberry Pi 3 Model B со своего рабочего места под управлением Ubuntu 18.04 Desktop amd64 и устанавливаю необходимые пакеты посредством которых можно осуществлять GPIO:

Этап №9: Проверяю, что могу подать питание на седьмой пин GPIO 4

  • pi@raspberrypi:~ $ gpio -g mode 4 out
  • pi@raspberrypi:~ $ gpio -g write 4 1 → на розетку подается питание в 220 Вольт, проверяю мультиметром напряжение, да есть
  • pi@raspberrypi:~ $ gpio -g write 4 0 → размыкаю Relay, проверяю мультиметром напряжение, нет.

На заметку: Очень важно, если поднести щуп от мультиметра к соединениям на Relay Board куда подключена нагрузка и розетка, то на соединениям обнаруживается 220В. А потому все части не должны контактировать с металлом и должны быть заизолированы. Вот почему я использую автомат, как для фазы так и для земли. И прежде чем производить какие-либо работы всегда выключаю автомат, проверяю что действительно нет нагрузки и только потом приступаю к взаимодействию.

Работает!

Создаю сценарий включения реле

Нужна теперь проверка, состояние GPIO:

Теперь проверка если значение High то реле включено, если значение Low то реле выключено.

Relay 1 Включено Так а как чтобы в MajorDoMo отображался статус, к примеру при использовании «Шаблоны поведения»

Шаг №1: Создаем сценарий:

  • Название: RelayStatus
  • Код (PHP):

$relaystatus = shell_exec("sshpass -p 712mbddr@ ssh -o StrictHostKeyChecking=no pi@172.33.33.10 '/home/pi/relaystatus'");

say($relaystatus,5);

И нажимаем «Сохранить»

Шаг №2: Создаем «Шаблон поведения»

  • Название: Статус реле
  • Выполнить при совпадении: Сценарий и выбираю созданный в шаге №1 сценарий, т. е. RelayStatus
    и нажимаем «Сохранить»

теперь переходим на «Веб-сайт»

Пишу "Статус реле" и нажимать "Отправить"

и при отправке набранного «Статус реле» получаю:

Шаблон поведения отрабатывает - реле выключено

Отлично! Расширенное использование «Шаблоны поведения» у меня отработано в разобранных заметках.

Итого: я разобрал как получать статус реле которое подключено к Raspberry Pi 3 Model B, как через MajorDoMo управлять реле: включение или выключение. Пусть не слишком сильно автоматизировано но все же кое-что. На этом у меня всё, с уважением Олло Александр aka ekzorchik.

от ekzorchik