findme

Добрый день!

Хочу представить Вам приложение (а точнее сервис), которое позволит показать местоположение Вашей таблетки на карте в реальном времени. Приложение посылает GPS координаты устройства на удаленный сервер, который сохраняет их. Отображением устройства на карте занимается web-сервис.

Зачем это надо?
Сервис был реализован для использования в личных целях. Идея возникла после того, как одного из разработчиков постоянно доставали звонками с вопросом \"Где ты?\".

Какие устройства поддерживаются?
В данный момент у нас есть приложения для телефонов Nokia (j2me, позволяет работать как с внешним GPS, так и со встроенным) и для Nokia n8xx (OS2008, тестировался на n810). Так же есть вероятность, что приложение заработает на других телефонах, которые поддерживают j2me и bluetooth :).

Использование клиента для Maemo
Для начала нам надо скачать приложение findme с сайта (http://gtracker.ru/?page=download) и установить его. В принципе это все :)
После 1-го запуска Вашей таблетки назначится уникальный ID устройства. Этот ID необходимо ввести в поле \"Устройство\" на сайте gtracker.ru. После чего Вы сможете наблюдать за передвижением таблетки :)

findme версия: 1.3.1
скачать

Если есть вопросы или предложения, то пишите их прямо в теме, либо на почту inndie[соб@ка]gmail.com с темой gtracker.ru
Отличная работа!

На гуглокарту на сайте я бы вернул привычные элементы управления (disableDefaultUI: false)
Mitrandir:Отличная работа!

На гуглокарту на сайте я бы вернул привычные элементы управления (disableDefaultUI: false)


Это можно. Проверяйте :)
Ай как хорошо :) Спасибо
На самом деле я сейчас пользуюсь N900, а как я понял по исходникам, работа с GPS сделана только для N8x0. Так что мои пожелания можно в серьёз не принимать, я ещё пока не пользователь :)

А так как проверить мне не на чем, несколько вопросов:
[list=1]
[*]Требует ли клиент постоянного подключения к интернету? Что он будет делать, если подключения к сети нет? Будет постоянно стучаться или будет ждать пока появится интернет?[/*]
[*]Сохраняет ли сервер траектории, или только текущее местоположение? Запоминает ли клиент свою траекторию пока связи с сервером нет?[/*]
[*]Предположим девайс без интернета. Покажет ли сервер его в данном случае на карте? Отметит ли, что информация о положении устарела? Покажет ли время последнего обновления?[/*]
[/list]

Есть ли планы портировать клиент на N900? Нужна ли помощь в этом?
Дело в том, что я активно интересуюсь отраслью онлайн-GPS-мониторинга, так как по работе сейчас создаю точно такую же систему отслеживания местоположения автомобилей, с разными дополнительными плюшками для автомобилистов.
Mitrandir:Ай как хорошо :) Спасибо
На самом деле я сейчас пользуюсь N900, а как я понял по исходникам, работа с GPS сделана только для N8x0. Так что мои пожелания можно в серьёз не принимать, я ещё пока не пользователь :)

А так как проверить мне не на чем, несколько вопросов:
[list=1]
[*]Требует ли клиент постоянного подключения к интернету? Что он будет делать, если подключения к сети нет? Будет постоянно стучаться или будет ждать пока появится интернет?[/*]
[*]Сохраняет ли сервер траектории, или только текущее местоположение? Запоминает ли клиент свою траекторию пока связи с сервером нет?[/*]
[*]Предположим девайс без интернета. Покажет ли сервер его в данном случае на карте? Отметит ли, что информация о положении устарела? Покажет ли время последнего обновления?[/*]
[/list]

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


На данный момент findme может работать с GPS напрямую, через /dev устройство, так и через демон GPSD (например miniGPSD). Это конфигурируется (но пока нигде не описано). Я думаю, что в n900 принципиально схема работы с gps не изменилась по сравнению с n810.

Теперь ответы на вопрос:
1. Клиент не требует постоянного подключения к инету, но будет стучаться раз в 5 секунд. Если GPS определил координаты, то они будут сохраняться во временном файле и при появлении соединения будут посланы с учетом временных меток. Но к сожалению тщательно этот функционал не тестировался.
2. Да, сервер сохраняет траектории. Так же есть возможность дать читаемое имя треку.
3. Если девайс не в сети, то сервер скажет, что девайс не в онлайне и последнюю отметку нужно смотреть в архиве.

Можете поиграться с сервисом. Вот вам мой id: KSERGEY_0916.

В принципе портировать на n900 можно. Для этого, кмк, нужно его просто скомпилировать под n900.

Если интересно, то мы могли бы открыть исходники серверной части. Они написаны на erlang-е.
Как задать findme чтобы через minigpsd работало?
GTracker/Find Me.conf
Собственно если будут исходники, то вопросов будет меньше :)

ИМХО
Хорошо бы пароль добавить к id
svs57:Как задать findme чтобы через minigpsd работало?
GTracker/Find Me.conf
Собственно если будут исходники, то вопросов будет меньше :)

ИМХО
Хорошо бы пароль добавить к id


Исходники есть (svn): http://gtracker.ru/svn/gtracker/clients/maemo

Что бы работало с gpsd:
[GPS]
type=GPSD
...
// необязательная секция, если параметры GPSD установлены по-умолчанию
[GPSD]
hostname=localhost
port=2947
На самом деле идеи по развитию сервиса есть, включая установки пароля к доступу данных. Некоторые идеи реализованы на серверной стороне, но не реализованы на стороне web-сервиса.
Ok. Спасибо. Помучаю на досуге. :)
А по поводу применения findme как \"Найди вора\" не думали?
Старт без ГУИ, при соединении с Интернетом - сброс всех треков.
Еще вопрос. Под симбиан есть версия?
svs57:Ok. Спасибо. Помучаю на досуге. :)
А по поводу применения findme как \"Найди вора\" не думали?
Старт без ГУИ, при соединении с Интернетом - сброс всех треков.
Еще вопрос. Под симбиан есть версия?


Не думал, т.к. это тяжело будет для таблетки. Постоянно включенный GPS быстро сажает батарейку. А так. это не проблема. Работы на пол дня. И сервер поддерживает триггеры, т.е. при появлении устройства в сети может посылать sms/tweet с координатами.

Версия под симбиан - j2me. Она успешно работает на Nokia E71 (со встроенным GPS). Была попытка скомпилировать нативную версию (maemo-вариант), но что то не заработало.
Я имел в виду не постоянно включенный GPS, а если он включен, но демон записывает трек. А при включении Интернета, передает на сервер
Насколько активно используется ваш сервис? Это только начало проекта?
Мне очень интересно как вы решаете проблемы нагрузки. На какое количество устройств и веб-клиентов вы расчитывали вашу систему?
Веб-клиент получает обновления координат объектов без перезагрузки страницы? Если да, то каким образом это реализовано? Polling или comet/long-polling?
Mitrandir:Насколько активно используется ваш сервис? Это только начало проекта?
Мне очень интересно как вы решаете проблемы нагрузки. На какое количество устройств и веб-клиентов вы расчитывали вашу систему?
Веб-клиент получает обновления координат объектов без перезагрузки страницы? Если да, то каким образом это реализовано? Polling или comet/long-polling?

Сервис используют только 2 человека :), но по тестам спокойно держит 100 клиентов (машинка на атоме :)). Нагрузки небольшие на самом деле. Устройство посылает координаты максимум раз в секунду.

Что касается web-сервиса... Да, клиент получает обновление координат без перезагрузке страницы, с помощью ajax. Скрипт на страничке запрашивает обновления каждые 5 секунд. Сейчас данные храняться в mysql, но в будущем, когда возникнут проблемы с перфомансом, мы планируем заменить DB на распределенную ФС.
1) Зачем ему libqt4? На N810 пришлось скачать и установить 36Mb библиотек, а память на мобильных устройствах не резиновая. Интерфейс элементарный, можно было бы и на GTK сваять.
2) Можно сайт сделать без совершенно ненужных серых отступов по краям, только карта. Влезал бы в экран таблетки 800x480.
3) Хотелось бы чтобы работала демоном со значком в статусбаре.
4)Нужно ещё чтобы карту в виде виджета на свой сайт можно было вставлять, типа \"Я сейчас здесь\".

А вообще софтина полезная - аналог GPSGate. Я пытался настроить в MinigGPSD GPSGate, но он у меня так и не заработал. Кстати, у кого-нибудь GPSGate работает?
Veska, спасибо за критику.

1. QT использовали, потому что на нем проще всего. Можно сделать и на GTK, но у меня малый опыт разработки на нем.
2. Сервис планировалось использовать только на ПК. В данный момент есть возможность посмотреть сохраненный трек в полноэкранном режиме (пример). В будущем будет реализована возможность так же смотреть real-tiem перемещение.
3. Идея интересная. Это можно сделать.
4. Идею понял. Возможно в будущем реализуем.

В данный момент над проектом работают 2 человека, тратя не более 2-4-х часов в день. По этому физически не можем реализовать все и сразу. Если Вы могли бы помочь проекту - wellcome!
indie
Просто у меня стоит задача выдержать пару десятков тысяч устройств и пятьсот браузеров (с реалтайм-обновлением) одновременно. И тут уже начинаются очень интересные задачи... В частности, от регулярного поллинга пришлось отказаться в пользу самодельного лонг-поллинг-сервера.

Кстати, насчет БД. Я пришел к выводу, что базу стоит использовать только для хранения истории перемещений. Обновления в реальном времени в идеале должны попадать в веб-клиент не через базу, а напрямую, через какую-нибудь сообщений (я использую redis).
А для хранения истории, при очень больших объемах таблиц с GPS-координатами (тестировал на миллиарде записей, база в сто гигабайт) хорошо работает прием упаковки данных за некоторый период (сутки, неделя) в большие блоб-поля. При этом тот же самый MySQL начинает работать с по сути тем же объемом данных на несколько порядков быстрее. Я поэтому пока от SQL-базы не отказываюсь.
Всем привет!
Я так понимаю, что сервис дальнейшего развития не получил? Жаль...