01
Задача
Цель проекта — сделать небольшой трекер для Garmin Watch, который может брать GPS-координаты с часов и отправлять их на собственный сервер.
Вместо стороннего сервиса используется собственная связка Garmin Connect IQ → REST API → Laravel → Joomla. Это позволило изучить API Garmin Connect IQ и серверную часть Laravel.
02
Приложение на часах
Клиентская часть написана на Monkey C с использованием Garmin Connect IQ SDK. Приложение работает с позиционированием устройства и коммуникациями.
Monkey CConnect IQ SDK
03
Отправка координат
Для получения GPS координат необходимо запустить скомпилированное приложение на часах и синхронизировать с телефоном.
Приложение соединяется с VPS сервером посредством API Connect IQ и отправляет данные.
Laravel обрабатывает полученные данные и записывает в базу данных таблицы Joomla.
Одной из практических задач стала отладка поведения, которое отличалось в симуляторе и непосредственно на Fenix 7X.
04
REST API
На сервере Laravel предусмотрен endpoint для приёма координат и записи в таблицу базы данных Joomla. Запрос содержит идентификатор устройства и координаты.
{
"device_id": "...",
"latitude": 0.0,
"longitude": 0.0
}
Laravel валидирует входные данные, после чего он записывает их в базу данных.
05
Отладка
Самой сложной частью проекта стала отладка реального устройства. В процессе встречались ошибки Monkey C и некорректное функционирование приложение на часах.
07
Результат
Получилась связка носимого устройства и собственного backend API. Проект стал практикой работы с нестандартной платформой, сетевыми запросами, GPS и серверной валидацией данных.