Введение


Здравствуй, читатель. Эта статья пишется, чтобы поделиться простым, но полезным лайфхаком, который я недавно ввел в пробную эксплуатацию.

Требовалось решить следующую задачу. Для очень пожилой родственницы, не приемлющей сотовые телефоны (тем более смартфоны) надо было сделать носимую кнопку экстренного вызова, которая может быть использована, чтобы оповестить родных, например, о том, что она упала в пределах квартиры, передвигаясь на ходунках, и не может встать/добраться до телефона (собственно, с такого случая задача и возникла).



Забегая вперёд, скажу, что в итоге получилось более широкое решение, которое может использоваться, чтобы быстро и незаметно оповестить кого-то о том, что что-то произошло, не доставая сотовый телефон. И всё это без «ещё одного устройства, которое надо заряжать».

Фраза «на всём готовом» подразумевает, что всё железо можно найти почти без дополнительных затрат. Своих приложений писать не надо. Программировать — графически, паять — по желанию. Короче, всё просто.

Идея


Несмотря на то, что рынок насыщен устройствами, подходящими для решения задач срочного оповещения, все они, от детских часов-трекеров до различных BLE-кнопок, обладают существенным недостатком: забыл зарядить/поменять батарейку вовремя — прощай главная функция. Функционал часов при этом явно избыточен, а управление — усложнено.

У BLE-кнопок явное преимущество — одна кнопка, и живёт она несколько месяцев на одной батарейке типа CR2032. Собственно, пока выбирал, какую кнопку заказать, всё и придумалось, и необходимость заказа отпала.

А придумалась следующая простая идея: блютус устройству экстренной связи не только не обязательно, но даже вредно быть включённым в «мирное время». Пусть сигналом тревоги будет сам факт включения и подсоединения устройства к смартфону. Таким образом, устройство всегда готово к выполнению своей, пусть нечастой, но архиважной функции (при работающем смартфоне с блютус). И получается, теоретически, даже неважно, что это за устройство. Обнаружили Bluetooth-соединение с заданным устройством — запустили процесс экстренного оповещения. Впрочем, выбор в качестве устройства блютус гарнитуры позволяет добавить к основному функционалу полезных плюшек.

Реализация


Итак, система экстренного внутриквартирного оповещения может быть запущена на Android-смартфоне в почти произвольном состоянии (лишь бы работал блютус и сотовая связь), стоящем на вечном приколе на зарядке в центральной комнате, куда достреливает блютус со всех концов квартиры.

В качестве блютус устройства использовано ухо от сломанных блютус наушников. Аккумулятор из второго уха благополучно влез в первое. Приделал шнурок на шею — получился оберег.

image

Как обычно, забыл сфотографировать конечный результат.

Программная часть — чудесное приложение Automate, позволяющее алгоритмизировать и автоматизировать различные процессы с использованием возможностей смартфона. Давно хотел попробовать, да времени и случая не было. Что могу сказать — очень круто. Сразу множество идей возникает, что ещё можно сделать.

Для Automate написано два процесса («flow» в терминлогии приложения) «Bluetooth connection alert» — для оповещения и «Auto answer» для приёма входящих звонков:



Сценарии выглядят очень просто, блоки конфигурируются интуитивно, в программе доступна справка по функциям и конфигурации блоков.

Немного текста под спойлером
Сценарий 1) Рассылка СМС по списку номеров при соединении с заданным блютус устройством и последующий звонок на заданный номер телефона. На старте конфигурируется массив строк номеров оповещения ["+7номер1", "+7номер2"....], далее — блок проверки соединения блютус устройства, законфигурированный на заданный мак-адрес устройства.

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)


  1. Revertis
    27.01.2017 13:33
    +1

    Отличное решение, скажу я вам! Жаль только, что радиус блузуба небольшой, в частном доме может недотянуться до «базы» :-/


    1. AlexLysenko
      27.01.2017 13:51

      Да, в большом доме придётся апгрейдить решение. Если, например, гарнитура имеет память на несколько спаренных устройств, можно раскидать несколько телефонов по дому :)


  1. tmin10
    27.01.2017 13:49
    +1

    Возможно было проще воспользоваться Amazon Dash Button, она работает по WiFi.


    1. AlexLysenko
      27.01.2017 13:56

      Да, хорошая штука, спасибо. Но применительно к моему случаю — радиуса блютус хватало. Да и голосовые функции очень кстати пришлись.


  1. wild_one
    27.01.2017 13:57
    +1

    А еще хотелось бы сделать датчик падения. Чтобы если человек упал — тревога подавалась автоматически через несколько секунд.


    1. tmin10
      27.01.2017 14:04
      +1

      А я всё жду, когда уже допилят до продаж устройства http://www.emeraldforhome.com, которое основано на WiTrack. А то работа по RF-Capture давно, выглядит очень привлекательно, но готовой реализации так и нет…


      1. AlexLysenko
        27.01.2017 14:17

        Спасибо, не слышал о таком. По ролику смотрится фантастически привлекательно.


    1. AlexLysenko
      27.01.2017 14:10

      Думал об этом. На кикстатрере наклейка на вело-шлем с таким датчиком удара была, помнится. Но тут без разряда аккумулятора обойтись. Если форм-фактор часов, то можно по типу вечно-живущих часов на элементе Пельте сделать устройство без необходимости подзаряда. Но это уже не лайфхак а целый гаджет будет. И диагностических функций тогда хочется больше, чем просто акселерометр.


  1. SunX
    27.01.2017 14:00

    Дак в итоге заряжать гарнитуру-то все равно надо, хоть и очень редко


    1. Loki3000
      27.01.2017 14:02

      Причем, самое противное, наверняка неизвестно когда именно.


    1. AlexLysenko
      27.01.2017 14:04

      После использования — да, заряд теряется. Но это экстренный случай, и после использования о ней вспоминаешь и подзаряжаешь. Имеется в виду, что «на один выстрел» её хватает гарантированно даже через год, а при хорошем аккумуляторе с низким саморазрядом и дольше.


      1. SunX
        27.01.2017 14:37

        Вот кстати не факт. Как показывает практика все долгоживущие вещи помирают в самый нужный и неподходящий момент. Особенно это касается аккумуляторов, которые имеют особенность неплохо так деградировать за год неиспользования. Т.е. конечно, если Вы (Молодой и ботрый родственник пожилой женщины с ходунками) поставите себе напоминалку и раз в пару месяцев будете проводить диагностику гарнитуры, то все ок, а в противном случае — через год-другой, когда она действительно понадобится, гарнитура немного не сработает.
        Вот потому я бы порекомендовал батарейку из серии CR — ее можно раз в пол года просто выкидывать и ставить новую (ну или чаще, если гарнитура пользуется активно) и не думать о том, на сколько ее хватит, так как стоимость у них копеечная.


        1. AlexLysenko
          27.01.2017 14:42

          Резонно. И периодическая диагностика конечно нужна. Хотелось в первую очередь избежать необходимости обслуживания силами пользователя.


        1. Gutt
          29.01.2017 08:32
          +1

          Первичный литий живёт лет по 10--15 в устройстве при отсутствии утечек в выключенном состоянии, поэтому его любят использовать для всевозможных аварийных фонариков и маяков. Так что несколько первичных литиевых элементов в параллель + первоначальный контроль утечки в выключенном состоянии. Или найти устройство «always on» и разорвать цепь питания механическим выключателем.


          1. SunX
            30.01.2017 13:00

            Первичный литий — это не перезаряжаемые литиевые батарейки (типа CR2032)?


            1. Gutt
              31.01.2017 10:35

              Совершенно верно. Он есть в разных форм-факторах и с разными напряжениями. Например, FR6 — АА-батарейка с 1,5 В на выходе.


  1. milssky
    27.01.2017 14:12

    Здорово! Из подножных средств.


  1. savostin
    27.01.2017 15:20

    Почти offtopic, а нет ли такого же мощного Automate для iOS?


    1. AlexLysenko
      27.01.2017 15:57

      Не искал, но подозреваю, что нет


  1. KonstantinSpb
    27.01.2017 16:04

    А если частоты bluetooth глушить будут?


    1. AlexLysenko
      27.01.2017 16:12

      Не сработает кнопка. А если GSM глушить будут, то SMS не отправится.


      1. KonstantinSpb
        27.01.2017 18:23

        Да, поэтому все эти штуки хороши для дел не связанных с риском для жизни.
        Автоугонщики давно используют глушилки, думаю что и домушники тоже их могут использовать.


  1. Tenebrius
    27.01.2017 17:10

    А почему не сделать наоборот? Девайс всегда подключен, а в случае форсмажора отключается? Даже если будет случайное срабатывание (батарейка села) лучше перебдеть. Кроме того в таком случае можно позвонить проверить.


    1. AlexLysenko
      27.01.2017 17:39

      В этом есть своя логика. Но мне почему-то кажется, что ложных тревог будет больше. А в ситуации с форс-мажором выйдет, что как раз голосовая связь отключена.


  1. dron_k
    28.01.2017 00:28

    >>>Для очень пожилой родственницы, не приемлющей сотовые телефоны (тем более смартфоны) надо было сделать носимую кнопку экстренного вызова.

    В таком случае где гарантия что ваш оберег не станет также неприемлем как и телефон,
    будет жаль если вложив силы в создание гаджета вы столкнетесь с исходной проблемой — человеческим фактором.


    1. AlexLysenko
      28.01.2017 09:47

      Это уже проверил, одна кнопка — нормально воспринимается. Установка уже работает. Родственница вполне осознает необходимость экстренного канала связи. Да и сил в создание вложено не очень много )


  1. tormozedison
    28.01.2017 11:41
    +1

    Для однокомнатной квартиры с тонкими межкомнатными дверями и смартфона с достаточно чувствительным микрофоном систему можно ещё упростить, отказавшись от гарнитуры. Написать программу, совершающую звонок при произнесении кодового слова. В случае опасности необходимо произнести кодовое слово громко и для надёжности несколько раз.


  1. iakaba
    28.01.2017 11:58
    -1

    Веб камера и датчик движения решают все вопросы без участия пациента.


    1. SunX
      30.01.2017 13:12

      И как Вы себе это представляете? Нет движения 10 секунд и сразу аларм? Каждую ночь же будет срабатывать. Ну и просто если человек вышел в туалет\на кухню\за почтой\пр.