udvnl

 
<<< Назад

Где Телефон?

Небольшая заметка по реализации поиска телефона с помощью 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

Обсуждение (4) (4)

Смотрите так же:
21.06.2024 Послеустановочные заметки
21.05.2024 RHVoice установка, проверка и прочее
03.11.2023 Пару мыслей о совместном применении SIP телефонии и систем «Умного Дома», а также немного об организации независимого от Internet канала связи с УД.
14.10.2023 Контроль SystemD и инструмент работы с системными логами через веб браузер
10.10.2023 Установка SIP сервера FreeSWITCH 1.10.10 на Raspberry Pi OS Lite (Debian11)
03.01.2023 Установка MajorDoMo с помощью скрипта от SergeJey на Raspberry Pi
30.05.2022 Вариант установки Majordomo на Windows 10 с использованием пакета XAMPP. Немного о переносе и создании тестовой копии системы с Raspberry PI на Windows
09.03.2022 Небольшие заметки по подключению и использованию сервиса CONNECT
27.02.2022 Zigbee2mqtt, немного о стиках CC2531 и Sonoff USB Zigbee 3.0 Dongle Plus (сравнение, подключение, тестирование).
23.09.2021 Второй раз в первый класс. Часть 1: начало работы c базовым образом для RPi.
31.12.2020 Возможность создания канала управления через телефонные сети для системы домашней автоматизации.
06.07.2020 Чтение файлов из образа img Операционной системы. Возможность записи образа на меньшую по размеру SD карту памяти
19.06.2020 Raspberry Pi: немного о резервном копировании и актуальной копии системы
07.05.2020 Установка VoIP сервера FreeSWITCH с частичной интеграцией в систему MajorDoMo
28.04.2020 Установка базового образа MajorDoMo на Raspberry Pi. Начало первые шаги.
07.10.2019 Возможность создания видео звонков у MajorDoMo (RPI +WebCam)
11.09.2019 Создание голосового оповещения MajorDoMo
21.08.2019 Установка USB аудиокарты и настройка звука в Raspberry Pi
04.04.2019 Сертификация в Z-Wave
11.03.2019 RPI Monitor полезное ПО для Raspberry PI и Orange Pi
04.02.2019 Тестирование пропускной способности канала Ethernet (Wi-Fi) с помощью утилиты IPerf
23.12.2018 Пошаговая инструкция с картинками по установки MajorDoMo на Raspberry Pi 3 с помощью скрипта от Immortal
20.10.2018 Установка Freeswitch 1.8.2 на Debian 9 (Raspbian Stretch) на базовый образ системы «Умного дома» MajorDomo
14.08.2018 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение первого устройства Z-Wave и первые шаги по автоматизации
08.07.2018 Создание беспроводного «умного дома». На основе технологии Linux, Z-Wave и ПО MajorDoMo. Включение контроллера RaZberry и первые шаги по Z-Wave
29.06.2018 Пошаговая инструкция по установке образа Majordomo на Raspberry Pi
21.06.2018 Удаленное наблюдение за близкими, но к сожалению, больными людьми.

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

На форуме: udvnl