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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

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

  1. Не гибко

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

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

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

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

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

  1. Cделать 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 устройства, прям сейчас могу зарегистрировать устройство в базе и передать токен, будем вместе тестировать. Не думаю что это сильно тяжелая задача.

Мой контакт

Источник: https://habr.com/ru/post/655269/


Интересные статьи

Интересные статьи

Он нажал пробел и новые потоки экранной боли хлынули через глазки прямо к мозгу. Я думал: «Ну как можно быть таким именитым тренером и показывать такую дрянь на проекторе!?»  На меня смотрели мил...
Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знако...
Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль Холивар. История рунета. Часть 3. ...
Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандле...
Сегодня мы продолжим разговор об использовании форм в React. В прошлый раз мы рассматривали особенности взаимодействия компонентов и текстовых полей. Здесь же мы обсудим работу с другими элемента...