Привязываем датчик движения HC-SR501 к Majordomo


Я уже писал про говорящие датчики дыма, а в этой статье я хотел бы описать похожую реализацию, но уже с датчиком движения. На алиекспрес я купил датчик SR501 HC-SR501 вот тут всего за $2.22. Это самая дешёвая цена, которую я смог найти на момент покупки. Так же для реализации своего проекта говорящего датчика движения вам необходимо купить микроконтроллер Arduino Nano, купил я его вот тут за $2.80. Что удобно, продавец за эту цену прилагает и USB кабель для подключения к компьютеру для заливки прошивки и питания одновременно. И Ethernet шилд для передачи данных с самого датчика в сеть. Я его купил вот тут за $3.84. Итого выходит $8.86. Вы скажите, что зачем мне городить весь этот конструктор если я могу купить за те же $10 датчик движения Xiaomi. Я купил и собрал оба варианта и вот вам моя сравнительная характеристика плюсов и минусов.

Кастомный датчик своими руками.

датчик движения

Плюсы:
– работоспособность не зависит от китайского сервера
– нет жёсткой привязки по софту к экосистеме от Xiaomi
– не требует дополнительный шлюз (+$28) и полностью автономен
– данные передаются не по воздуху, а по кабелю
– возможность разобрать комплектующие и применять в других проектах
– возможность переписывать прошивку под новые проекты
– прокачка в сборке умных вещей и создание прошивок 

Минусы:
– стоимость соизмерима с готовым коммерческим решением
– нет красивого дизайна и коробки
– занимает больше места
– сложность в сборке для новичка

Датчик от Xiaomi

Плюсы:
– красивый дизайн
– соизмеримая стоимость с кастомной реализацией
– возможность быстро добавить в сценарии экосистемы Xiaomi
– лёгкость в настройке и подключение

Минусы:
– работа зависит от китайского сервера
– для работы необходим шлюз (+$28)
– если не заставили работать плагин Majordomo то датчик можно использовать исключительно в экосистеме Xiaomi (как у меня 

Если несмотря на все трудности вы всё таки решили собрать свой датчик, то читаем дальше.
Как подключать сами провода к микроконтроллеру я описывать не буду, в сети множество статей и видео на эту тему. Я же просто предложу использовать мою версию прошивки. Как она работает? Когда датчик зафиксирует движение, то значение 1 будет передано по протоколу MQTT в брокер. В своём примере я использую бесплатный сервис cloudmqtt.com, но вам настоятельно рекомендую использовать свой сервер. Например Mosquitto. В скетче, вот в этой строке

if (client.connect("Client", "login", "password"))

вам нужно будет указать свой логин и пароль к брокеру. В Majordomo у вас должен быть установлен модуль MQTT.

Его так же нужно настроить на ваш брокер указав все настройки. После этого в Majordomo будет приходит значение 1 всякий раз когда ваш датчик зафиксирует движение. В настройках модуля MQTT Majordomo, нужно приязать значение в какому-нибуть свойству, после чего вы сможете использовать его в своих сценариях. Либо вы можете сразу указать что бысрабатывал метод, как только значение измениться. А в самом методе написатьчто-то в роде:

if(gg("Kitchen.HCSR501")=='1'){
say("Зафиксировано движение",2);}
sg("Kitchen.HCSR501","0");

где Kitchen.HCSR501 имя свойства указанное в модуле MQTT куда приходит значение с датчика.
Вот и всё, если у вас возникли какие-нибудь вопросы, то задавайте в комментариях, я постараюсь ответить. Так же рекомендую посмотреть видео, ссылку на которое я оставил в самом начале поста. В нём я детально показываю всё тоже самое, но с датчиками дыма.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *