Добрый день, после серии моих статей про ESP ко мне в личку поступило много вопросов по поводу того как сделать Звонок. Сегодня я расскажу как просто и дешево сделать звонок с уведомлениями в HomeKit, через Homebridge или HomeAssistant. Идеально на роль контроллера подойдет ESP01 с его родным Модулем реле 01S Relay, зачастую на Aliexpress продаются вместе. Итак, нам понадобиться:
Приступим к сборке
Как видим схема примитивная. Справиться даже ребенок.Приступим к программной части. Для прошивки ESP01 нам необходимо подключить ее к контроллеру TTL. Схема подключения:
TTL контроллеры для ESP01 - для совсем ленивых.
Программная часть
Первым делом установим MQTT Брокер на Raspberry PI. Подключаемся по SSH к нашей Raspbery pi и далее в терминале
sudo apt update sudo apt install -y mosquitto mosquitto-clients
Во время установки Вам потребуется ввести "Y" и нажать "Enter"
sudo systemctl enable mosquitto.service
Поздравляю вы получили рабочий брокер у себя на Raspbery Pi
Приступим к прошивке ESP8266
Идем по ссылке и качаем самый свежий образ. На момент написания статьи ESPEasy_mega-20181101.zip. Распаковываем архив. Нам понадобиться ESP.Easy.Flasher.exe запускаем ее. И выбираем как на фото ниже вписав свой SSID и пароль роутера.
Нажимаем "Flash ESP Easy FW" и ждем окончания процесса прошивки. После прошивки ESP сама подключиться к вашему Wi-Fi роутеру.
Настройка ESP Easy
В настройках роутера смотрим IP адрес нашей ESP и открываем ее.
Открываем раздел "Config" Вводим Unit Name: "Zvonok" и нажимаем "Submit"
Далее открываем "Controllers" и нажимаем "Edit" Выбираем Протокол: OpenHAB MQTT, вписуем Controller IP: IP адрес малины (Брокера) и порт 1883 и нажимаем "Submit"
Переходим на вкладку "Devices" нажимаем "Edit" и заполняем все как на скриншоте.
На этом настройка Esp Easy закончена, перейдем к добавлению в HomeKit, добавить можно двумя способами.
Способ №1 через HomeBridge
Установим и настроем Plugins Homebridge Я использую homebridge-mqttthing, он мне нравиться больше всех своей простотой и большим количеством поддерживаемых устройств.Подключаемся по SSH к малине и пишем в командной строке:
sudo npm install -g homebridge-mqttthing
далее nano ~/.homebridge/config.jsonи добавляем аксессуары в конфиг:
{
"accessory": "mqttthing",
"type": "motionSensor",
"name": "Zvonok",
"url": "mqtt://127.0.0.1",
"username": "admin",
"password": "admin",
"topics": {
"getMotionDetected": "/Zvonok/Relay/Switch"
},
"integerValue": "true",
"onValue": "1",
"offValue": "0"
}
Перезагружаем homebridge и радуемся проделанной работой.
Способ №2 через Home Assistant
Тут еще проще, для настройки нам необходим отредактировать файл configuration.yaml, добавив в него:
binary_sensor:
- platform: mqtt
name: "motionesp"
state_topic: "/Zvonok/Relay/Switch"
payload_on: "1"
payload_off: "0"
device_class: motion
force_update: false
mqtt:
broker: localhost
port: 1883
protocol: 3.1
discovery: true
После чего перезагрузить Home Assistant.
Вишенка на торте =)
Многие наверно задались вопросом почему мы кнопку "Звонка" объявили "Датчиком Движения"?!...Сделано это было специально т.к. если в HomeKit в одной комнате находятся Датчик Движения и Камера, то при обнаружении движения HomeKit шлет нам push уведомление с изображением с камеры. При условии что в настройках Датчика Движения включено "Доступ уведомлений"
Выгладит это так:
Режим без звука
Если взять 01S Relay 2 Channel, то можно добавить еще и режим без звука.
Схема будет выглядеть так:
где: Relay1 - объявлен как в предыдущем варианте Датчиком ДвиженияRelay2 - Свитч разрывает замыкание звонка При желании ESP можно разместить в самом звонке, и питать от одного Блока питания. В настройках ESP Easy добавить второе реле, по аналоги с первым, обзываем его "Relay2" и указать ему gpio2, а в конфиг Homebridge добавить еще одно реле:
{
"accessory": "mqttthing",
"type": "lightbulb",
"name": "Zvonok Tixo",
"url": "mqtt://127.0.0.1",
"username": "admin",
"password": "admin",
"topics": {
"getOn": "/Zvonok/Relay2/Switch",
"setOn": "/Zvonok/gpio/2"
},
"integerValue": "true",
"onValue": "0",
"offValue": "1"
},
После чего в HomeKit у нас появится "Zvonok Tixo". Таким образом если переключатель "Zvonok Tixo" в состояние "Выключен" push уведомления получать мы будем, но звонок не будет проигрывать мелодию. Тем самым получим "Режим без звука".
Заключение
На этом я думаю можно заканчивать, ставьте лайки, задавайте вопросы, постараюсь всем ответить.
А если звонок на 220 в? То как быть? Если я в вашей схеме в место кнопки поставлю контактор, а сам контактор будет уже подключен к звонку(кнопке, при нажатии на которую на проводах появляется ток)?
Все получиться только зачем контактор щёлкает громко, лучше маломощное реле 220в
Можете посоветовать?
поискав реле в гугле их достаточно, вообще как бы вы не делали будет работать главное чтоб контакты на ESP замыкались, а то через что вы будете это делать уже не важно. Только вот сижу голову ломаю а для чего вам замыкать именно 220В линию? можно ведь отключить 220 и просто замыкать есп.
Да такой звонок уже шел с квартирой и кнопка стоит и звонок, как бы уже готовое решение, если бы кв. Была на стадии стройки тогда да. Единственная терь проблема где взять питание на esp. В данном случае думаю вариант Maxmudjon мне больше подойдет с кнопкой xiaomi.
01S Relay 10a 220v
http://sparks.gogo.co.nz/assets/_site_/downloads/CH340_WINDOWS.zip">драйвера для eps01S
Годнота
Пытаюсь повторить , но не удается прошить после старта прошивки вылетает пишет что ошибка чтения (TTL контроллеры для ESP01) не подскажешь куда смотреть ?
Вот это самый прошивальшик для ленивых ну никак не завелся у меня (( Прошил обычным , все работает сейчас закончу тесты и буду в домофон прилаживать !
а гпио0 замыкал на гнд?
Да чего только не замыкал , я погуглил , говорят проблемы с этим прошивальщиком , то ли ему USB 3 не нравится то ли драйвер нужно какой то другой на 10 винду , сходу решение не нашел и оставил на потом . Обычным прошивается все без проблем. Кстати я купил немного не тот релейный блок , пришлось немного паяльником поработать , но сейчас все работает !
Напиши в личку помогу
ок, 3 го до дома доберусь напишу.
Добрый день, подскажите пожалуйста как прошить Esp8266 на MacOs, чтобы получить такой-же результат? Спасибо
что-то пошло не так, неработает
А как сделать тоже самое но когда звонят в домофон?? Когда в квартире звонить трубка домофона
Не понял, объясни подробнее
через реле
Возможно ли сделать звонок на 220в из Sonoff Basic или ESP01+01S Relay без использования Homebridge?
Как в этой статье (https://sprut.ai/client/article/231">https://sprut.ai/client/articl...)
Можно попробовать прошивку налива собрать, что ДД добавился в кит
Собрал звонок на 220в
Звонок работает как положено но уведомления приходят со второго-третьего нажатия при условии что звонок и IPhone находятся в одной сети WiFi
Это на какой прошивке? Esp easy?
mega-20181101
По такой схеме на мой взгляд было-бы интереснее
1) Не надо блок питания
2) Все в компактном корпусе
3) Звонок можно воткнуть любой на 220 или с минимальными переделками на батарейках
4) Сразу в Homekit малина не нужна
с этой прошивкой https://github.com/RavenSystem/esp-homekit-devices/wiki/RavenCore#8-garage-door">https://github.com/RavenSystem...
Из минусов не работает камера так-как в настройках выбран https://github.com/RavenSystem/esp-homekit-devices/wiki/RavenCore#13-lock-mechanism">Lock Mechanism но уведомления приходят без пропусков и задержек
Повторил предложенную тобой схему - работает) Есть ньюанс: что бы пришло уведомление, надо давить на кнопку около секунды. При кратковременном нажатии звонок срабатывает, но уведомление не летит :(
P.S. кнопку звонка продублировал как датчик движения и, собственно, сам "external toggle".
Так можно ж после прошивки НАА в JSON конфигурации указать сонофу 2 устройства (Дверной звонок - тип 13 и свич для реле). В настройках кнопки на все три значения (нажатие/двойное нажатие/удержание) написать автоматизацию преобразованной в быструю команду - вкл реле->подождать 3-5 сек для звонка->выкл реле.
Для Sonoff Basic JSON выглядит так:
{"c":{"l":13,"b":[{"g":0,"t":5}]},"a":[{
"t": 13,
"f0": [{ "g": 14, "t": 1 }],
"f1": [{ "g": 14, "t": 2 }],
"f2": [{ "g": 14, "t": 3 }]
},{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}]}
Как дойдут руки - проверю все вживую с камерой установленной в коридоре и отпишусь)
Уведомления о звонке приходят, но без картинки с камеры(
Ранее......
В одной комнате находятся Датчик Движения и Камера, Но при обнаружении движения(звонка в дверь) HomeKit шлет push уведомление НО без изображения с камеры. В настройках Датчика Движения включено "Доступ уведомлений"
Решение!!!
"platform": "Camera-ffmpeg",
"cameras": [ {
"name": "Cams",
"videoConfig": {
"source": "-re -i rtsp://admin:asfssdf@192.168.1.41:554/Streaming/ch01/101",
"stillImageSource": "
-i rtsp://admin:asfssdf@192.168.1.41:554/Streaming/ch01/101
-vframes 1 -r 1",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 30
} }
в строке
stillImageSource должно повторяться из строки
source с приставкой
-vframes 1 -r 1
в моем случае это выглядит так
"stillImageSource": " -i rtsp://admin:asfssdf@192.168.1.41:554/Streaming/ch01/101 -vframes 1 -r 1",
Добрый день! сделал поправку, как в этом комментарии, но ничего не изменилось. есть решения еще по этой проблеме?
Дим подскажи что написать в HA, что бы добавить звонок ???
Сделал всё, "как мастер велел" используя
01S Relay 2 Channel. Статусы в HomeBridge отображаются, push-ы приходят, вообщем всё работает, вот только реле
гады
не включаются :((
Причем когда ставлю старую прошивку (ESP_8266_BIN0.92.bin, от 2014 года) и использую убогую прогу "wifi controller" на андроиде, то оба они щелкают по команде!!
Пожалуйста, помогите, что может быть не так??
Для того, чтобы в iOS 13 приходили фотки надо в конфиге добавить "motion": true, и в приложении Дом на iphone сделать автоматизацию
Точное описание по ссылке https://github.com/KhaosT/homebridge-camera-ffmpeg/wiki/iOS-13-and-Photo-Notifications">https://github.com/KhaosT/home...
вид rtsp rtsp://192.168.XX.XX:554/user=user&password=password&channel=1&stream=0.sdp?
есть идеи?
мне помог ресурс https://www.ispyconnect.com/camera/active">https://www.ispyconnect.com/ca... там огромный список камер и возможных способов подключенияhttps://www.ispyconnect.com/camera/active">
Подскажите пожалуйста
как сделать аналогичное уведомление о состоянии пина в Телеграм
например перейти по ссылке
api.telegram.org/bot49891331:AAGHlv59YtCnbzfENdlqCXmHqye0L0h9xE/sendmessage?chat_id=44969854&text=Test
Пытаюсь повторить, но столкнулся с проблемой, esp-шку я прошил прошивкой из указанной ссылки, произвел настройку, в mqtt-брокере топик появился и при нажатии на кнопку у Relay изменяется значение State c нуля на единицу. В homebridge плагин mqttthing установлен и так же настроен по приведенным примерам выше. В homekit'е аксессуары появились, разместил их в одной комнате, но уведомления по нажатию кнопки не приходят... подскажите куда копать?
PS прочитав комментарии наткнулся на инструкцию для ios13 , прописал в камере motion true и другие параметры
это эпл внесла правки, теперь чтоб все также работало нужно чтоб был аксессуар звонок
а как это сделать не подскажите?, в смысле это можно сделать программно или нужно что то прикупить из аксессуаров типо кнопки от xiaomi ?
Отвечу на свой же вопрос, в моём случае все заработало без аксессуара "Звонок" с помощью плагина для камер "homebridge-camera-ffmpeg". В параметрах данного плагина имеются настройки mqtt и возможность включения датчика движения, дверного звонка и обычного переключателя. Включил Enable Doorbell указал какой топик слушать и при каком значении необходимо срабатывать, готово, на телефон приходит уведомление с видео (в уведомлении проигрывается видео и отображаются рядом размещенные приборы умного дома в пределах комнаты)