Введение
Здравствуй, читатель. Эта статья пишется, чтобы поделиться простым, но полезным лайфхаком, который я недавно ввел в пробную эксплуатацию.
Требовалось решить следующую задачу. Для очень пожилой родственницы, не приемлющей сотовые телефоны (тем более смартфоны) надо было сделать носимую кнопку экстренного вызова, которая может быть использована, чтобы оповестить родных, например, о том, что она упала в пределах квартиры, передвигаясь на ходунках, и не может встать/добраться до телефона (собственно, с такого случая задача и возникла).
Забегая вперёд, скажу, что в итоге получилось более широкое решение, которое может использоваться, чтобы быстро и незаметно оповестить кого-то о том, что что-то произошло, не доставая сотовый телефон. И всё это без «ещё одного устройства, которое надо заряжать».
Фраза «на всём готовом» подразумевает, что всё железо можно найти почти без дополнительных затрат. Своих приложений писать не надо. Программировать — графически, паять — по желанию. Короче, всё просто.
Идея
Несмотря на то, что рынок насыщен устройствами, подходящими для решения задач срочного оповещения, все они, от детских часов-трекеров до различных BLE-кнопок, обладают существенным недостатком: забыл зарядить/поменять батарейку вовремя — прощай главная функция. Функционал часов при этом явно избыточен, а управление — усложнено.
У BLE-кнопок явное преимущество — одна кнопка, и живёт она несколько месяцев на одной батарейке типа CR2032. Собственно, пока выбирал, какую кнопку заказать, всё и придумалось, и необходимость заказа отпала.
А придумалась следующая простая идея: блютус устройству экстренной связи не только не обязательно, но даже вредно быть включённым в «мирное время». Пусть сигналом тревоги будет сам факт включения и подсоединения устройства к смартфону. Таким образом, устройство всегда готово к выполнению своей, пусть нечастой, но архиважной функции (при работающем смартфоне с блютус). И получается, теоретически, даже неважно, что это за устройство. Обнаружили Bluetooth-соединение с заданным устройством — запустили процесс экстренного оповещения. Впрочем, выбор в качестве устройства блютус гарнитуры позволяет добавить к основному функционалу полезных плюшек.
Реализация
Итак, система экстренного внутриквартирного оповещения может быть запущена на Android-смартфоне в почти произвольном состоянии (лишь бы работал блютус и сотовая связь), стоящем на вечном приколе на зарядке в центральной комнате, куда достреливает блютус со всех концов квартиры.
В качестве блютус устройства использовано ухо от сломанных блютус наушников. Аккумулятор из второго уха благополучно влез в первое. Приделал шнурок на шею — получился оберег.
Как обычно, забыл сфотографировать конечный результат.
Программная часть — чудесное приложение Automate, позволяющее алгоритмизировать и автоматизировать различные процессы с использованием возможностей смартфона. Давно хотел попробовать, да времени и случая не было. Что могу сказать — очень круто. Сразу множество идей возникает, что ещё можно сделать.
Для Automate написано два процесса («flow» в терминлогии приложения) «Bluetooth connection alert» — для оповещения и «Auto answer» для приёма входящих звонков:
Сценарии выглядят очень просто, блоки конфигурируются интуитивно, в программе доступна справка по функциям и конфигурации блоков.
MAC-адрес гарнитуры для конфигурации блока Device Connect можно узнать с помощью программы типа Bluetooth Device Info.
После соединения — цикл рассылки SMS по номерам массива, звонок на заданный номер и цикл ожидания отключения блютус устройства для перехода в состояние нового ожидания.
Сценарий 2) Автоответ на звонок с любого номера из списка — работает независимо от состояния тревоги.
Блок Incoming Call возвращает аргумент строковой записи номера, который потом проверяется на членство в заданном массиве номеров. В случае нахождения номера в массиве вызов автоматически принимается.
Automate конфигурируется на запуск при загрузке телефона, при старте запускаются запущенные в последний раз сценарии. Ограничения свободной версии (лимит одновременных потоков, лимит на отправку СМС и проч.) не препятствуют нормальной работе системы экстренного оповещения.
Отмечу, что блок автоответа (об этом предупреждает и Automate) может работать не на всех телефонах. Например, на старом Fly iQ411 (Android 4.3) на котором была запущена система оповещения, автоответ работает, на тестовом LG G4 (Android 6) — нет.
Что получается в итоге:
При происшествии достаточно зажать кнопку устройства на несколько секунд до его включения. Обнаружив подключение Bluetooth-устройства с заданным адресом, смартфон рассылает оповещения и набирает номер. При этом, раз устройство — гарнитура, то звук идёт через неё, и её микрофон работает, что позволяет тому, чей номер набран, слышать происходящее, а вызвавшему- общаться с ним, приложив «оберег» к уху. Если же номер не ответил, то при звонке любого доверенного лица телефон автоматически примет вызов, опять же через гарнитуру.
Если к телефону подключить колонки, можно звонить и обращаться к родственнику через автоответ по громкой связи в «мирное время», когда блютус-устройство не активировано и звук воспроизводится через колонки.
Пути развития:
Списки номеров которые заданы в виде массива строк, потенциально можно читать из адресной книги, фильтруя по определённым пометкам (типа тега «SOS» в примечаниях). Это вынесет конфигурацию номеров из приложения Automate и позволит использовать один и тот же универсальный сценарий на разных телефонах.
Применительно к мобильному использованию оберега ребёнком, можно запускать GPS, считывать и отсылать GPS координаты происшествия, инициировать процесс периодической посылки новых координат при перемещениях.
Применительно к мобильному использованию автоответ, конечно, имеет смысл делать условным — чтобы он работал только в состоянии тревоги.
Для пожилых родственников можно добавить сценарий Automate для дистанционного отключения блютус гарнитуры после её случайного включения, чтобы не садилась батарейка: Посылка специальной команды через СМС отключает на телефоне блютус на несколько минут > Гарнитура, потеряв телефон, отключается сама.
Вот и всё. Может кому пригодится.
Комментарии (29)
tmin10
27.01.2017 13:49+1Возможно было проще воспользоваться Amazon Dash Button, она работает по WiFi.
AlexLysenko
27.01.2017 13:56Да, хорошая штука, спасибо. Но применительно к моему случаю — радиуса блютус хватало. Да и голосовые функции очень кстати пришлись.
wild_one
27.01.2017 13:57+1А еще хотелось бы сделать датчик падения. Чтобы если человек упал — тревога подавалась автоматически через несколько секунд.
tmin10
27.01.2017 14:04+1А я всё жду, когда уже допилят до продаж устройства http://www.emeraldforhome.com, которое основано на WiTrack. А то работа по RF-Capture давно, выглядит очень привлекательно, но готовой реализации так и нет…
AlexLysenko
27.01.2017 14:17Спасибо, не слышал о таком. По ролику смотрится фантастически привлекательно.
AlexLysenko
27.01.2017 14:10Думал об этом. На кикстатрере наклейка на вело-шлем с таким датчиком удара была, помнится. Но тут без разряда аккумулятора обойтись. Если форм-фактор часов, то можно по типу вечно-живущих часов на элементе Пельте сделать устройство без необходимости подзаряда. Но это уже не лайфхак а целый гаджет будет. И диагностических функций тогда хочется больше, чем просто акселерометр.
SunX
27.01.2017 14:00Дак в итоге заряжать гарнитуру-то все равно надо, хоть и очень редко
AlexLysenko
27.01.2017 14:04После использования — да, заряд теряется. Но это экстренный случай, и после использования о ней вспоминаешь и подзаряжаешь. Имеется в виду, что «на один выстрел» её хватает гарантированно даже через год, а при хорошем аккумуляторе с низким саморазрядом и дольше.
SunX
27.01.2017 14:37Вот кстати не факт. Как показывает практика все долгоживущие вещи помирают в самый нужный и неподходящий момент. Особенно это касается аккумуляторов, которые имеют особенность неплохо так деградировать за год неиспользования. Т.е. конечно, если Вы (Молодой и ботрый родственник пожилой женщины с ходунками) поставите себе напоминалку и раз в пару месяцев будете проводить диагностику гарнитуры, то все ок, а в противном случае — через год-другой, когда она действительно понадобится, гарнитура немного не сработает.
Вот потому я бы порекомендовал батарейку из серии CR — ее можно раз в пол года просто выкидывать и ставить новую (ну или чаще, если гарнитура пользуется активно) и не думать о том, на сколько ее хватит, так как стоимость у них копеечная.AlexLysenko
27.01.2017 14:42Резонно. И периодическая диагностика конечно нужна. Хотелось в первую очередь избежать необходимости обслуживания силами пользователя.
Gutt
29.01.2017 08:32+1Первичный литий живёт лет по 10--15 в устройстве при отсутствии утечек в выключенном состоянии, поэтому его любят использовать для всевозможных аварийных фонариков и маяков. Так что несколько первичных литиевых элементов в параллель + первоначальный контроль утечки в выключенном состоянии. Или найти устройство «always on» и разорвать цепь питания механическим выключателем.
KonstantinSpb
27.01.2017 16:04А если частоты bluetooth глушить будут?
AlexLysenko
27.01.2017 16:12Не сработает кнопка. А если GSM глушить будут, то SMS не отправится.
KonstantinSpb
27.01.2017 18:23Да, поэтому все эти штуки хороши для дел не связанных с риском для жизни.
Автоугонщики давно используют глушилки, думаю что и домушники тоже их могут использовать.
Tenebrius
27.01.2017 17:10А почему не сделать наоборот? Девайс всегда подключен, а в случае форсмажора отключается? Даже если будет случайное срабатывание (батарейка села) лучше перебдеть. Кроме того в таком случае можно позвонить проверить.
AlexLysenko
27.01.2017 17:39В этом есть своя логика. Но мне почему-то кажется, что ложных тревог будет больше. А в ситуации с форс-мажором выйдет, что как раз голосовая связь отключена.
dron_k
28.01.2017 00:28>>>Для очень пожилой родственницы, не приемлющей сотовые телефоны (тем более смартфоны) надо было сделать носимую кнопку экстренного вызова.
В таком случае где гарантия что ваш оберег не станет также неприемлем как и телефон,
будет жаль если вложив силы в создание гаджета вы столкнетесь с исходной проблемой — человеческим фактором.AlexLysenko
28.01.2017 09:47Это уже проверил, одна кнопка — нормально воспринимается. Установка уже работает. Родственница вполне осознает необходимость экстренного канала связи. Да и сил в создание вложено не очень много )
tormozedison
28.01.2017 11:41+1Для однокомнатной квартиры с тонкими межкомнатными дверями и смартфона с достаточно чувствительным микрофоном систему можно ещё упростить, отказавшись от гарнитуры. Написать программу, совершающую звонок при произнесении кодового слова. В случае опасности необходимо произнести кодовое слово громко и для надёжности несколько раз.
Revertis
Отличное решение, скажу я вам! Жаль только, что радиус блузуба небольшой, в частном доме может недотянуться до «базы» :-/
AlexLysenko
Да, в большом доме придётся апгрейдить решение. Если, например, гарнитура имеет память на несколько спаренных устройств, можно раскидать несколько телефонов по дому :)