Электронный компонент:Адаптер Xadow для смарт-часов Pebble Time

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Адаптер Xadow для смарт-часов Pebble Time[1]

Адаптер Xadow для смарт-часов Pebble Time является частью набора RePhone Strap Kit for Pebble Time (можно перевести как «Ремешковый набор устройств RePhone для смарт-часов Pebble Time»). С его помощью маленькие и тонкие Xadow-модули (Xadow-платы) Xadow GPS v2 и Xadow NFC v2 можно встраивать в экосистему смарт-часов Pebble, тем самым дополняя их новым функционалом. Коммуникация между Pebble Time и модулями Xadow осуществляется при помощи последовательного протокола 1-Wire.

Купить набор RePhone Strap Kit for Pebble Time, частью которого является этот адаптер, можно по этой ссылке.

Зарядный порт

На задней стороне адаптера есть контакты PWR и GND. Это значит, что если вы захотите зарядить Pebble Time, то снимать адаптер будет необязательно.

Устройство и сборка

Используемые модули равномерно расположены по бокам от циферблата и соединены друг с другом при помощи FPC-кабелей. Соединение между модулем и адаптером специально сделано с запасом, чтобы избежать случайного отключения. Зарядные порты Pebble Time выведены на заднюю сторону адаптера – чтобы часы можно было заряжать, не снимая адаптер.

На схеме ниже показан процесс сборки адаптера и сопутствующих устройств из набора RePhone Strap Kit for Pebble Time.

Загрузка демо-приложения Xadow App на Pebble Time

Демо-приложение Xadow App для смарт-часов Pebble Time позволяет получать доступ к GPS-данным и узнавать идентификатор NFC-тега.

Скачать его можно по этой ссылке. Его можно загрузить сразу на смартфон или сначала на ПК, а уже потом на смартфон. Затем откройте на смартфоне скачанный файл при помощи приложения Pebble – там должна быть опция установки демо-приложения Xadow App на смарт-часы Pebble Time. С ее помощью установите демо-приложение Xadow App на смарт-часы.

Коммуникация с адаптером

В прошивке адаптера реализован протокол, описанный в официальной документации Pebble.

Благодаря ему со стороны смарт-часов можно записывать и считывать следующую информацию:

Сервис Атрибут Запись, чтение Тип данных Данные и примечания к использованию
0x0. «Сырые» данные 0x0. «Сырые» данные Запись, чтение uint8 *buffer «Сырые» данные, т.е. данные без служебной информации. Этот сервис можно использовать для передачи сообщений, которые не подходят под формат других профилей. Со стороны адаптера функций-обработчиков для этого сервиса нет, поэтому разработчику прошивки адаптера нужно написать их самостоятельно.
0x2003. Сервис батареи 0x1001. Считывание данных о напряжении батареи Чтение uint16 Напряжение батареи, питающей ремешок. Указывается в вольтах, но в соотношении 1/100 (к примеру, значение «370» означает 3.7 вольта).
0x2003. Сервис батареи 0x1002. Включение и выключение зарядки Pebble через батарею ремешка Чтение, запись uint8 Значение «0» – не заряжать Pebble, значение «1» – заряжать Pebble.
0x2001. Сервис расположения и навигации 0x0001. Расположение Чтение sint32[2] Долгота и широта в градусах, но в соотношении 1/107. Сначала идет широта, а потом долгота. К примеру, штаб-квартира Pebble находится по координатам (37.4400662, -122.1583808), но в данных это будет представлено как {374400662, -1221583808}.
0x2001. Сервис расположения и навигации 0x0003. Скорость Чтение uint16 Текущая скорость объекта, рассчитываемая в м/сек, но в соотношении 1/100. К примеру, значение «150» будет означать скорость 1.5 м/сек.
0x2001. Сервис расположения и навигации 0x1001. Высота Чтение uint16 Текущая высота объекта в метрах, но в соотношении 1/100. К примеру, значение «10000» означает 100 метров.
0x2001. Сервис расположения и навигации 0x0101. GPS-спутники Чтение uint8 Количество GPS-спутников, находящихся в пределах видимости. Эти данные передаются, как правило, в формате NMEA.
0x2001. Сервис расположения и навигации 0x0102. Режим определения GPS-координат Чтение uint8 Режим определения GPS-координат (передается в формате NMEA). Допустимые значения смотрите в документации NMEA (подробнее о нем читайте по ссылке под таблицей).
0x1E01. Сервис NFC 1x1001. Идентификатор NFC-тега Чтение uint8 * Размер данных для идентификатора может варьироваться, и его можно задать в функции-обработчике SmartstrapReadHandler при помощи параметра length. Кроме того, для этого атрибута можно задать уведомления при помощи функции-обработчика SmartstrapNotifyHandler.
0x1E01. Сервис NFC 1x1002. Чтение данных NDEF Чтение uint8 * Размер данных NDEF может варьироваться, и его можно задать в функции-обработчике SmartstrapReadHandler при помощи параметра length.
0x1E01. Сервис NFC 1x1003. Запись данных NDEF Запись uint8 * Выполняет запись данных из uint8-буфера в NFC-тег.
0x1E01. Сервис NFC 1x1004. Удаление данных NDEF Запись Любой тип данных Чтобы запустить удаление, запишите любые данные (можно пустые).

Статья о формате NMEA.

Исходный код демо-приложения Xadow App можно найти в этом GitHub-репозитории. Это приложение лишь частично демонстрирует использование атрибутов, поэтому можете проявить фантазию и создать собственное Pebble-приложение, использующее GPS, NFC и т.д.

Программирование адаптера

Адаптер создан на основе чипа LPC11U35 и работает на программном обеспечении mbed. Исходную версию прошивки можно найти на mbed.org, а если точнее – по этой ссылке. Схемы адаптера в формате EagleRAR-архиве) можно скачать отсюда.

Разработав прошивку и конвертировав ее в двоичный код, можно приступить к ее записи на адаптер. Для этого нужно выполнить следующие действия:

1. Разрежьте USB-кабель и припаяйте провода к контактным площадкам адаптера (см. схему ниже).

2. Убедитесь, что отключили батарею, и воткните USB-разъем в USB-порт ПК.

3. Замкните контакты ISP и GND.

4. Подключите батарею, чтобы запитать адаптер.

5. Операционная система должна показать появление нового USB-диска. Откройте его и удалите все его содержимое. Затем скопируйте на него свою прошивку.

6. Выключите питание, потом снова включите.

Готово! Прошивка установлена.

Полезные ссылки

См.также

Внешние ссылки