udvnl

 
<<< Back

Где Телефон?

Небольшая заметка по реализации поиска телефона с помощью MajorDoMo и Умного Дома Яндекса (УДЯ).
Основная идея заключается - научить Яндекс колонку искать мобильный телефон.
Работоспособность проверена на RPI базовый образ 4_44.
Потребуется установка консольного клиента для Linux Linphonec (для систем на Win можно попробовать клиента MicroSIP с возможностью совершения вызовов из командной строки) и два SIP аккаунта.
Постараюсь описать пошагово и доступно.

В процессе баловства с SIP сервером и УД MajorDoMo возникла идея а что если умный дом научить находить телефон у меня достаточно часто бывает закинул где то телефон и потом ходишь просишь домочадцев позвонить на него. Сейчас надеюсь такой проблемы не будет.
Итак в первую очередь нам понадобится два SIP аккаунта, если у вас есть свой SIP сервер, то это не проблема. Если нет, то используем внешний. Я протестировал на провайдере Zadarma.com. Проще всего сделать две регистрации. Однако и при использовании одного аккаунта можно создать свою бесплатную АТС до 30 номеров (думаю для УД хватит с избытком).
После регистрации и последующей авторизации на сайте SIP провайдера, можно перейти в настройки Моя АТС и создать нужное количество номеров. Итак у вас имеется основной шестизначный номер формата ХХХХХ и несколько дополнительных YYYYYY-100, YYYYYY-101, YYYYYY-102 и т.д. Обратите внимание на адреса серверов, при использовании своей мини АТС они несколько отличаются от прямого номера.
Однако я использую свой сервер FreeSWITCH, поэтому примеры настройки могут немного отличаться, но принцип один и тот же.

Установка консольного Sip клиента

Устанавливаем на малинку консольный SIP клиент Linphonec. Из пакетов версия несколько устаревшая и имеет проблемы с приемом входящих звонков. Но для поиска номера её достаточно.
В части установки эта заметка дублирует мою предидущую про создание голосового оповещения: [](В части установки эта заметка дублирует мою предидущую про создание голосового оповещения: Создание голосового оповещения MajorDoMo
Поэтому буду только необходимые действия без пояснений писать.
Установка клиента:
sudo apt-get install linphone-nogtk
даём следующую команду уже в самом клиенте:
register sip:xxxxxx@sip.zadarma.com sip.zadarma.com PASSWORD
смотрим статус:
status register
Выходим из клиента (при этом клиент сохраняет настройки в файл .linphonerc текущего пользователя
register sip:xxxxxx@sip.zadarma.com sip.zadarma.com PASSWORD
Для запуска и управления Linphonec в режиме демона, используется утилита Linphonecsh. Первоначально при запуске необходима инициализация клиента linphonecsh -init. При выполнении этой команды происходит запуск консольного клиента, без загрузки конфигурационного файла.

Чтобы при запуске выполнялось чтение конфигурации запустим с флагом с:

linphonecsh init -c /home/pi/.linphonerc
Прописываем следующую строку в crontab (при загрузке ПК, загружается консольный клиент:

crontab -e
@reboot sudo -u pi linphonecsh init -c /home/pi/.linphonerc

Итак большая часть сделана. Перейдём к настройкам Majordomo.

Создание Простого Устройства

Создаем простое устройство, я обозвал его "Поиск телефона Вити" тип клавиша (запуск действия)

В методе pressed прописываем команду (пример)

exec ("sudo -u pi linphonecsh dial sip:1011@192.168.1.121");
1011 номер мой АТС, при использовании того же zadarma указываем его номер и адрес сервера АТС.
Сейчас у нас есть простое устройство, при нажатии иконки происходит звонок на указанный номер.

Настройка телефона Android

Настроим SIP клиента Android имеющегося уже по умолчанию в телефоне.
Перейдем в настройки смартфона.
В зависимости от телефона путь межет быть несколько другим, у меня:
Приложения - Системные приложения - Вызовы - Расширенные настройки - Прочие настройки
Настроек там немного: номер, адрес сервера и пароль.
Можно воспользоваться любым sip клиентом для Android, функционала гораздо побольше, мне понравилось приложение MizuDroid. Но для напоминалки достаточно и встроенного в ОС клиента.

Пробуем позвонить нажав иконку ПУ. На телефон идёт стандартный вызов.

Последнее действие. Связываем свой MajorDomo с УДЯ.
Для связи я использую сервис CONNECT.
Добовляем в приложении Яндекса новое устройство Умного Дома, навык Устройства - MajorDoMo .
И создаём простой сценарий:
Если я скажу "Где телефон Вити" то "Поиск телефона Вити" включится.


Пришлось немного побороться с Алисой, т.е. Колонкой Яндекс Мини. Из приложения и браузера команда выполняется без проблем, а вот колонка всё мудрила с семантикой. Некоторые словосочетания никак не хотела выполнять, например: Найди Телефон Вити, Поиск Витиного телефона и т.д. Остановился на фразе, которая заработала корректно: Где телефон Вити.

Ну и в конце небольшое дополнение. Для пользователей Windows можно попробовать использовать приложение MicroSip. С возможностью вызова из командной строки:
Command line
Call a number: microsip.exe number
Hang up all calls: microsip.exe /hangupall
Answer a call: microsip.exe /answer
Start minimized: microsip.exe /minimized
Exit: microsip.exe /exit

https://www.microsip.org/help

Discuss (4) (4)

See also:
2023-11-03 Пару мыслей о совместном применении SIP телефонии и систем «Умного Дома», а также немного об организации независимого от Internet канала связи с УД.
2023-10-14 Контроль SystemD и инструмент работы с системными логами через веб браузер
2023-10-10 Установка SIP сервера FreeSWITCH 1.10.10 на Raspberry Pi OS Lite (Debian11)
2023-01-03 Установка MajorDoMo с помощью скрипта от SergeJey на Raspberry Pi
2022-05-30 Вариант установки Majordomo на Windows 10 с использованием пакета XAMPP. Немного о переносе и создании тестовой копии системы с Raspberry PI на Windows
2022-03-09 Небольшие заметки по подключению и использованию сервиса CONNECT
2022-02-27 Zigbee2mqtt, немного о стиках CC2531 и Sonoff USB Zigbee 3.0 Dongle Plus (сравнение, подключение, тестирование).
2021-09-23 Второй раз в первый класс. Часть 1: начало работы c базовым образом для RPi.
2020-12-31 Возможность создания канала управления через телефонные сети для системы домашней автоматизации.
2020-07-06 Чтение файлов из образа img Операционной системы. Возможность записи образа на меньшую по размеру SD карту памяти
2020-06-19 Raspberry Pi: немного о резервном копировании и актуальной копии системы
2020-05-07 Установка VoIP сервера FreeSWITCH с частичной интеграцией в систему MajorDoMo
2020-04-28 Установка базового образа MajorDoMo на Raspberry Pi. Начало первые шаги.
2019-10-07 Возможность создания видео звонков у MajorDoMo (RPI +WebCam)
2019-09-11 Создание голосового оповещения MajorDoMo
2019-08-21 Установка USB аудиокарты и настройка звука в Raspberry Pi
2019-04-04 Сертификация в Z-Wave
2019-03-11 RPI Monitor полезное ПО для Raspberry PI и Orange Pi
2019-02-04 Тестирование пропускной способности канала Ethernet (Wi-Fi) с помощью утилиты IPerf
2018-12-23 Пошаговая инструкция с картинками по установки MajorDoMo на Raspberry Pi 3 с помощью скрипта от Immortal
2018-10-20 Установка Freeswitch 1.8.2 на Debian 9 (Raspbian Stretch) на базовый образ системы «Умного дома» MajorDomo
2018-08-14 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение первого устройства Z-Wave и первые шаги по автоматизации
2018-07-08 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение контроллера RaZberry и первые шаги по Z-Wave
2018-06-29 Пошаговая инструкция по установке образа Majordomo на Raspberry Pi
2018-06-21 Удаленное наблюдение за близкими, но к сожалению, больными людьми.

Минск, Беларусь

На форуме: udvnl