1

Тема: findme

Добрый день!

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

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

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

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

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

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

2

Re: findme

Отличная работа!

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

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

3

Re: findme

Mitrandir пишет:

Отличная работа!

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

Это можно. Проверяйте smile

4

Re: findme

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

А так как проверить мне не на чем, несколько вопросов:

  1. Требует ли клиент постоянного подключения к интернету? Что он будет делать, если подключения к сети нет? Будет постоянно стучаться или будет ждать пока появится интернет?

  2. Сохраняет ли сервер траектории, или только текущее местоположение? Запоминает ли клиент свою траекторию пока связи с сервером нет?

  3. Предположим девайс без интернета. Покажет ли сервер его в данном случае на карте? Отметит ли, что информация о положении устарела? Покажет ли время последнего обновления?

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

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

5

Re: findme

Mitrandir пишет:

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

А так как проверить мне не на чем, несколько вопросов:

  1. Требует ли клиент постоянного подключения к интернету? Что он будет делать, если подключения к сети нет? Будет постоянно стучаться или будет ждать пока появится интернет?

  2. Сохраняет ли сервер траектории, или только текущее местоположение? Запоминает ли клиент свою траекторию пока связи с сервером нет?

  3. Предположим девайс без интернета. Покажет ли сервер его в данном случае на карте? Отметит ли, что информация о положении устарела? Покажет ли время последнего обновления?

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

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

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

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

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

Если интересно, то мы могли бы открыть исходники серверной части. Они написаны на erlang-е.

6

Re: findme

Как задать findme чтобы через minigpsd работало?
GTracker/Find Me.conf
Собственно если будут исходники, то вопросов будет меньше smile

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

Был бы у Чехова автомобиль, поворотник бы Чехов включал.
N810 (DIABLO_5.2008.43-7)

7

Re: findme

svs57 пишет:

Как задать findme чтобы через minigpsd работало?
GTracker/Find Me.conf
Собственно если будут исходники, то вопросов будет меньше smile

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

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

Что бы работало с gpsd:

[GPS]
type=GPSD
...
// необязательная секция, если параметры GPSD установлены по-умолчанию
[GPSD]
hostname=localhost
port=2947

8

Re: findme

На самом деле идеи по развитию сервиса есть, включая установки пароля к доступу данных. Некоторые идеи реализованы на серверной стороне, но не реализованы на стороне web-сервиса.

9

Re: findme

Ok. Спасибо. Помучаю на досуге. smile
А по поводу применения findme как "Найди вора" не думали?
Старт без ГУИ, при соединении с Интернетом  - сброс всех треков.
Еще вопрос. Под симбиан есть версия?

Был бы у Чехова автомобиль, поворотник бы Чехов включал.
N810 (DIABLO_5.2008.43-7)

10

Re: findme

svs57 пишет:

Ok. Спасибо. Помучаю на досуге. smile
А по поводу применения findme как "Найди вора" не думали?
Старт без ГУИ, при соединении с Интернетом  - сброс всех треков.
Еще вопрос. Под симбиан есть версия?

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

Версия под симбиан - j2me. Она успешно работает на Nokia E71 (со встроенным GPS). Была попытка скомпилировать нативную версию (maemo-вариант), но что то не заработало.

11

Re: findme

Я имел в виду не постоянно включенный GPS, а если он включен, но демон записывает трек. А при включении Интернета, передает на сервер

Был бы у Чехова автомобиль, поворотник бы Чехов включал.
N810 (DIABLO_5.2008.43-7)

12

Re: findme

Насколько активно используется ваш сервис? Это только начало проекта?
Мне очень интересно как вы решаете проблемы нагрузки. На какое количество устройств и веб-клиентов вы расчитывали вашу систему?
Веб-клиент получает обновления координат объектов без перезагрузки страницы? Если да, то каким образом это реализовано? Polling или comet/long-polling?

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

13

Re: findme

Mitrandir пишет:

Насколько активно используется ваш сервис? Это только начало проекта?
Мне очень интересно как вы решаете проблемы нагрузки. На какое количество устройств и веб-клиентов вы расчитывали вашу систему?
Веб-клиент получает обновления координат объектов без перезагрузки страницы? Если да, то каким образом это реализовано? Polling или comet/long-polling?

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

Что касается web-сервиса... Да, клиент получает обновление координат без перезагрузке страницы, с помощью ajax. Скрипт на страничке запрашивает обновления каждые 5 секунд. Сейчас данные храняться в mysql, но в будущем, когда возникнут проблемы с перфомансом,  мы планируем заменить DB на распределенную ФС.

14

Re: findme

1) Зачем ему libqt4? На N810 пришлось скачать и установить 36Mb библиотек, а память на мобильных устройствах не резиновая. Интерфейс элементарный, можно было бы и на GTK сваять.
2) Можно сайт сделать без совершенно ненужных серых отступов по краям, только карта. Влезал бы в экран таблетки 800x480.
3) Хотелось бы чтобы работала демоном со значком в статусбаре.
4)Нужно ещё чтобы карту в виде виджета на свой сайт можно было вставлять, типа "Я сейчас здесь".

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

15

Re: findme

Veska, спасибо за критику.

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

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

16

Re: findme

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

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

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

17

Re: findme

Всем привет!
Я так понимаю, что сервис дальнейшего развития не получил? Жаль...