Как стать автором
Обновить

Пассивная слежка. Часть 1

Геоинформационные сервисы *
Из песочницы

Проблема, решение которое хотели найти

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

Использовать для этого существующее ПО на телефон для нас кажется:

  1. Не гибко

  2. Неприемлемо куда-то постоянно смотреть и отслеживать

По интернетам и барахолкам также побегали, ничего доступного или рабочего сходу не нашли.

Как выглядит решенная задача на словах

Моё чадо выходит за настроенные параметры ожидаемого местонахождения (или динамики изменения данного местонахождения), я получаю уведомления с точк(ой|ами) на карте. Также просто получаю периодические уведомления в соответствии с настройками. В перспективе имею возможность настроить протоколы реагирования и действий, которые активизируются сами в том или ином случае.

На чем остановились для начала

  1. Сделать back на нашем веб-хостинге, который способен принимать гео-показатели конкретного устройства по https (GET)

  2. Сделать прототип клиентского устройства на малинке (raspberry)

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

  4. Сделать простенькие нативные программы для андроид и эпл, которые бы могли вызывать API из пункта 1.

    На этапе написания статьи были сделаны пункты 1-3 с разной степенью готовности

1. back на нашем веб-хостинге, который способен принимать гео-показатели конкретного устройства по https (GET)

Просто web-API, просто "ест" GET с долготой, широтой и токеном устройства и складывает в базу данных. Все есть на картинке

2. Сделать прототип клиентского устройства на малинке (raspberry)

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

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

Тут важно оговориться, что "пущенное в сеть устройство" будет отдавать данные раз в 10 секунд (это сейчас кажется приемлемым), независимо от того зарегистрировали его к чату телеграм или нет. Взаимодействие с устройством через телеграм - это по сути взаимодействие с уже собранными/собираемыми данными на бэк. Сейчас сделано:

1. Регистрация чата по токену устройства (не важно, лично ли боту писать, или добавлять его в общий чат)

2. Настройка задержки отображения в секундах: можно безусловно задать обязательное отображение геолокации раз в столько-то секунд (по факту - не чаще чем /delay n секунд, но не реже n + шаг сбора гео-данных с клиентского устройства)

3. Настройка zoom отображения по Красной площади

4. Отображение истории нахождения устройства по запросу

/hist
число
с_какого_часа
в_течении_какого_кол-ва_часов
сколько_точек_показать

На картинке как раз данные собранные с "чудо-механизма" из пункта два (не того что держит Донни =)

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

Засим все, спасибо что потратили время на чтение. Никогда ничего не делали под мобилку, если кому-то интересно и кто-то может сходу написать службу дергающую API передавая широту и долготу с GPS устройства, прям сейчас могу зарегистрировать устройство в базе и передать токен, будем вместе тестировать. Не думаю что это сильно тяжелая задача.

Мой контакт

P.S. большое спасибо@spc@Olegunза указание на опечатки.

Теги:
Хабы:
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 5.1K
Комментарии Комментарии 4