Содержание
Apple HomeKit / Хабр
В данной статье речь пойдет про Apple HomeKit Accessory Protocol (HAP): внутренности и разработку контроллера.
Apple HomeKit создан для взаимодействия контроллера (по умолчанию iOS-устройства, приложение Home) и множества устройств(аксессуаров). Протокол открыт для некоммерческого использования, загрузить его можно с сайта Apple. На основе этой версии протокола создано несколько open-source проектов, и когда говорят про HomeKit на каком-нибуль Raspberry Pi обычно подразумевают установку homebridge и плагинов для создания совместимых аксессуаров.
Обратная же задача — создание контроллера — не такая распространенная и из проектов мне удалось найти лишь pypi.org/project/homekit/.
Поставим задачу создать контроллер, например, для управления аксессуарами с Android-телефона и попробуем ее решить. Для простоты будем работать только с IP-сетями, без Bluetooth.
Как это должно работать?
Обнаружение устройства
Для того, чтобы начать работать с аксессуарами, их необходимо первым делом обнаружить. Устройства рекламируют себя в соответствии с протоколами Multicast DNS и DNS service discovery.
Говоря проще, можно в локальной сети обнаружить устройство, отправив multicast запрос _hap._tcp.local по адресу 224.0.0.251, и, получив ответ, распарсить DNS записи A, SRV, TXT. После этого можно подключаться к сервису, используя полученную информацию.
Установка защищенного соединения
Возможно два сценария: устройства уже связаны, либо связь (pairing) надо только установить. В первом случае нужно перемещаться к шагу /pair-verify, в случае же установления нового соединения, первым делом надо выполнить шаг /pair-setup.
Apple HomeKit использует протокол Stanfordʼs Secure Remote Password (SRP) с использованием пароля (пин-кода).
Работа с аксессуарами, характеристиками и их значениями.
/pair-setup
Коммуникация происходит по установленному TCP соединению. Все запросы в данном шаге — это обычные HTTP POST запросы с типом данных application/pairing+tlv8 и соответственно с телом в TLV-кодировке.
Далее кратко что происходит на данном этапе:
M1: контроллер отправляет запрос на установление связи (SRP Start Request)
M2: аксессуар инициирует новую сессию SRP, генерирует необходимые рандомы и ключевую пару. В ответ контроллеру отправляется сгенерированный публичный ключ и соль. (SRP Start Response)
M3: контроллер отправляет запрос на проверку данных (SRP Verify Request). На данном шаге контроллер генерирует свою сессионную ключевую пару , спрашивает пользователя ввести пин-код, считает общий ключ SRP сессии и пруф (SRP proof). Аксессуару отправляется сгенерированный публичный ключ и пруф.
M4: аксессуар проверяет пруф контроллера отправляет свой пруф в ответ (SRP Verify Response).
M5: контроллер -> аксессуару (‘Exchange Requestʼ). Первым делом контроллер проверяет пруф аксессуара. После этого генерируется долгосрочная ключевая пара (LTPK и LTSK) на кривой ed25519. Контроллер формирует новый ключ (HKDF) из сессионного ключа, конкатенирует его с идентификатором контроллера(iOSDevicePairingID) и его публичным ключом (iOSDeviceLTPK), подписывает секретным LTSK. Идентификатор, публичный ключ и подпись записываются в TLV-сообщение, шифруются алгоритмом ChaCha20-Poly1305 с использованием общего сессионного ключа. Зашифрованное сообщение опять записывается в виде TLV-сообщения и отправляется аксессуару.
M6: аксессуар -> контроллер (‘Exchange Responseʼ). Здесь же аксессуар извлекает информацию (iOSDeviceLTPK, iOSDevicePairingID), проверяет подпись. Далее, аналогично, подписывает и отправляет свой идентификатор, долгосрочный публичный ключ, подпись.
После успешного выполнения всех шагов M1-M6, контроллер и iOS устройство сохраняют идентификаторы и публичные ключи (LTPK) друг друга на долгий срок.
/pair-verify
Процедура используется каждый раз для установления защищенного соединения. Здесь же шагов уже меньше (M1-M4).
Каждый участник: и Контроллер, и Аксессуар генерируют Curve25519 ключевые пары, отправляют друг другу публичные ключи и вырабатывают симметричный общий ключ, из которого формируется сессионный ключ. Долгосрочные ключи (LTPK и LTSK) используются лишь для проверки подписей.
Защищенное соединение
После успешного завершения процедуры pair-verify соединение TCP остается открытым и все данные внутри него зашифрованы сессионным ключом. Получается, что Keep-Alive HTTP-соединение «обновляется» (аналогично вебсокетовскому Upgrade) и теперь для получения корректного HTTP данные необходимо прежде расшифровать.
Данные — точно так же HTTP запросы и ответы, но уже стандартный json.
Начало решения: выбор
Выбор остановился на Go и brutella/hap пакете. Модуль не содержит в себе реализации контроллера и планов на добавление нет, поэтому необходимо все будет сделать самому. Но это просто, учитывая то, что все криптографические процедуры реализованы для серверной части.
В пользу решения на Go говорило и то, что на нем можно писать графическую часть в том числе и для Android (fyne.io, gioui.org).
Модуль форкнут, удалено лишнего, добавлены файлы для части контроллера.
Реализация:
По реализации подробно расписывать не буду, только несколько моментов.
При обнаружении устройств контроллер по очереди для разных ip-адресов устройства пробует подключиться по TCP. После первой удачной попытки данные сохраняюся для последующего установления постоянного соединения.
Поскольку все запросы — это http, то можно использовать родную для Go реализацию http.Client. Возник вопрос как заставить его работать с обычным TCP-соединением? Для этого необходимо поддержать интерфейс RoundTripper:
func (c *conn) RoundTrip(req *http.Request) (*http.Response, error) { err := req.Write(c) if err != nil { return nil, err } if c.inBackground { res := <-c.response return res, nil } rd := bufio.NewReader(c) res, err := http.ReadResponse(rd, nil) if err != nil { return nil, err } return res, nil }
После этого можем назначать http.Client и использовать его:
d.httpc = &http. Client{ Transport: c, } // использовать: res, err := d.httpc.Get("/accessories") ...
И самое интересное. Если посмотреть на код выше, то можно заметить условие на флаг inBackground. Ведь можно же было обойтись одним http.ReadResponse. И на этапе pair-setup и pair-verify это работает. Проблема возникает уже после установления безопасной сессии. Дело в том, что аксессуары могут отправлять уведомления об изменениях значений. И такие уведомления выглядят так:
EVENT/1.0 200 OK Content-Type: application/hap+json Content-Length: <length> { ”characteristics” : [{ ”aid” : 1, ”iid” : 4, ”value” : 23.0 }] }
Что мы имеем? Во-первых, все данные надо читать в цикле, чтобы не пропустить уведомления. Во вторых, http.ReadResponse не может с ним справиться, поскольку EVENT — не стандартный для http заголовок.
С первым справится просто — запускаем горутину, считывающую данные:
func (c *conn) backgroundRead() { rd := bufio. NewReader(c) for { b, err := rd.Peek(len(eventHeader)) // len of EVENT string if err != nil { fmt.Println(err) if errors.Is(err, io.EOF) { return } continue } if string(b) == eventHeader { // обработка события // трансформируем событие (заменяем EVENT на HTTP) // читаем с res := http.ReadResponse() // читаем all := io.ReadAll(res.Body) // присваиваем res.Body = io.NopCloser(bytes.NewReader(all)) // вызываем колбэк } else { // обработка ответа // читаем с res := http.ReadResponse() // читаем all := io.ReadAll(res.Body) // присваиваем res.Body = io.NopCloser(bytes.NewReader(all)) } } }
Каждую итерацию проверяем заголовок на совпадение с EVENT и в таком случае — «трансформируем» — заменяем EVENT на HTTP для успешной обработки методом http.ReadResponse. Для замены пишем структуру с реализацией интерфейса io.Reader.
Следующая возникшая проблема: в некоторых случаях (длинный ответ) при итерации цикла возникала ошибка на неверный заголовок HTTP. Проблема в том, что ReadResponse возвращает ответ с полем Body, в котором данные не читаны, а значит не читаны они и в нашем соединении. Решение — прочитать полностью res.Body и только после этого можно переходить на следующую итерацию.
Графическое приложение
Для наброска графического приложение использовался модуль gioui.org. На функционал приложение на данный момент небогато — обнаружение устройств, аутентификация и установление соединения, управление аксессуарами реле и лампами (Вкл-Выкл).
Работа приложения проверялась в паре с homebridge.
PS: к сожалению, при запуске на Android, приложение не смогло обнаружить ни одно устройство.
avc: denied { bind } for scontext=u:r:untrusted_app:s0:c31,c257,c512,c768 tcontext=u:r:untrusted_app:s0:c31,c257,c512,c768 tclass=netlink_route_socket permissive=0 b/155595000 app=localhost.hkapp
Ссылки
github.com/hkontrol/hkontroller собственно, реализация контроллера
github.com/hkontrol/hkapp графический интерфейс
Заинтересованных в open-source разработке приглашаю принять участие.
Контроллер умного дома HomeBridge Apple HomeKit
Уважаемые клиенты, с 31 декабря по 8 января наш магазин не работает. Заказы оформленные в этот период будут обработаны 9 января.
Каталог
Главная —
Контроллеры — Контроллер умного дома HomeBridge Apple HomeKit
Контроллер умного дома HomeBridge Apple HomeKit
HomeBridge мост для подключения Z-Wave контроллеров Fibaro Home Center 3, Home Center 2 и Home Center Lite к Apple Homekit, голосового управления Siri и Яндекс Алиса.
Производитель:
G-on
Артикул: BRIDGE
7 750 .-
шт.
+-
В корзину
- Описание
Инструкция HomeBridge Fibaro AppleHomeKit
Что такое Homebridge и как он работает?
Приложение Apple Home позволяет легко управлять всеми технологиями «умного дома» прямо с вашего iPhone, но существуют некоторые ограничения в работе с Apple. Самым большим недостатком является то, что Home работает только с небольшим количеством умных устройств одобренных HomeKit.
Это часто означает доплату, чтобы остаться в экосистеме Apple, но есть способ обойти ограничения HomeKit. Все, что нужно, это программа под названием Homebridge.
Homebridge это сервер , который работает на Node.js . Как видно из названия, он действует как мост между Apple HomeKit и другими устройствами.
Готовый контроллер для Умного Дома для подключения системы умного дома в приложение Apple Home. Homebridge позволяет интегрироваться с устройствами умного дома, которые не поддерживают протокол HomeKit.
Для установки контроллера необходимо подключить его в локальную сеть и следовать инструкцией заполнив логин пароль и локальный адрес вашего контроллера. Дальше Вам необходимо добавить устройство в приложение Apple Home и все устройства которые есть в вашей экосистеме подтянуться в приложение Home.
С помощью контроллера homebridge Вы сможете управлять голосом через приложения Siri и Яндекс Алиса Вашим умным домом. Например: Привет Сири, включи свет в гостиничной на 30%.
На данный HomeBridge уже установлен плагин для контроллеров Fibaro HC2/Lite, таким образом, с системой Fibaro HomeBridge работает «из коробки». Для других контроллеров (например, Vera) необходимо установить плагин из вебинтерфейса HomeBridge.
В случае возникновения сложностей с использованием и настройкой HomeBridge можно обратиться за поддержкой и удаленной настройкой.
В комплект входит:
Микроконтроллер
Зарядное устройство microUSB
SD карта c записным образом системы
Кабель Ethernet
Суперпредложения
Комплект Zipato: контроллер Zipamicro + 3 датчика движения + 2 датчика дыма
Комплект Zipato: контроллер Zipamicro + 3 датчика движения + 2 датчика дыма
12 400 .-
24 800 .-
В корзину
Замок Danalock V3 с цилиндром M&C
Замок Danalock V3 с цилиндром M&C.
30 700 . —
36 124 .-
В корзину
Кодовая клавиатура Philio
Кодовая клавиатура Philio
9 600 .-
12 089 .-
В корзину
Контроллер Z-Wave.Me Hub
Уникальный Контроллер на Z-Way с Wi-Fi и встроенным аккумулятором. Управление умным домом на Z-Wave.
11 150 .-
12 298 .-
В корзину
Клавиатура Danapad
Клавиатура Danapad. Работает в системе «умный дом».
10 300 .-
12 859 .-
В корзину
Комплект «Алиса, включи свет!»
Комплект для управления светом с помощью голосового помощника Алисы
23 490 .-
29 413 .-
В корзину
Панель управления FIBARO SWIPE
Панель управления умным домом с помощью движения руки
16 030 . —
18 865 .-
В корзину
Замок Danalock V3
Умный замок Danalock V3
16 100 .-
20 119 .-
В корзину
Датчик движения 4 в 1 FIBARO Motion Sensor
Z-Wave датчик движения, температуры, оcвещенности и вибраций FIBARO Motion Sensor
7 000 .-
7 950 .-
В корзину
Настенный семидневный термостат SCS C17
Термостат c расписанием на неделю для управления отоплением удаленно с помощью Z-Wave. Термостат отправляет команды на включение или выключение реле или другим устройствам Z-Wave и может использоваться для управления котлами, теплым полом, обогревателями и т.д.
6 224 .-
7 780 .-
В корзину
Универсальный модуль Danalock V3
Универсальный модуль Danalock V3
13 700 . —
16 160 .-
В корзину
Датчик открытия двери/окна FIBARO Door/Window Sensor
Z-Wave датчик открытия двери/окна FIBARO Door/Window Sensor
2 990 .-
3 283 .-
В корзину
Встраиваемый диммер FIBARO Dimmer 2
Диммер служит для плавной регулировки света в помещении, изменения уровня освещенности по времени.
7 030 .-
7 865 .-
В корзину
Модуль-выключатель в розетку FIBARO Wall Plug с измерением энергопотребления
Z-Wave модуль-выключатель FIBARO Wall Plug Z-Wave с энергоизмерением. Работает в системе «умный дом».
7 000 .-
7 950 .-
В корзину
Расширитель сети Aeotec
Усиленный рестранслятор Z-Wave.
5 371 .-
В корзину
Мультисенсор 6 в 1 Aeotec Multisensor 6
Датчик движения, температуры, освещенности, влажности, вибрации, ультрафиолетовый датчик
6 670 . —
В корзину
Замок с пин-код панелью
Замок с пин-код панелью. Работает в системе «умный дом».
14 000 .-
17 545 .-
В корзину
Датчик движения Philio для крепления на поверхность
Датчик движения Philio на магнитной подложке.
4 200 .-
5 280 .-
В корзину
Модуль-выключатель в розетку Z-Wave.Me Plug-in Switch IP44
Модуль-выключатель Z-Wave.Me Plug-in Switch IP44 — это переходник-реле, включаемое в розетку для управления любыми электрическими или осветительными приборами максимальной мощностью до 3,5кВт. Работает в умном доме Z-Wave.
3 860 .-
В корзину
Привод перекрытия воды Z-Wave.Me GR-105
Привод перекрытия воды предназначен для автоматического перекрытия воды или газа. Работает в умном доме Z-Wave.
5 190 .-
6 490 .-
В корзину
Тревожная кнопка Philio
Тревожная кнопка Philio PHI_PSR03-С
3 500 .-
4 400 .-
В корзину
Адаптер питания с 5В на 3В Philio
Адаптер питания с 5В на 3В Philio PHI_ME004-A
840 .-
1 188 .-
В корзину
Настенный двухклавишный выключатель на батарейках Z-Wave.Me Dual Paddle Wall Controller
Настенный одноклавишный выключатель на батарейках Z-Wave.Me Dual Paddle Wall Controller
3 970 .-
В корзину
Настенный выключатель на батарейках Z-Wave.Me Single Paddle Wall Controller
Настенный одноклавишный выключатель на батарейках Z-Wave.Me Single Paddle Wall Controller. Работает в умном доме Z-Wave.
3 375 .-
3 970 .-
В корзину
Настенный выключатель на батарейках Z-Wave.Me Single Paddle Wall Controller
Настенный одноклавишный выключатель на батарейках Z-Wave.Me Single Paddle Wall Controller. Работает в умном доме Z-Wave.
3 375 .-
3 970 .-
В корзину
Настенный двухклавишный выключатель на батарейках Z-Wave.Me Dual Paddle Wall Controller
Настенный двухклавишный выключатель на батарейках Z-Wave.Me Dual Paddle Wall Controller. Работает в системе «умный дом»
3 970 .-
В корзину
Датчик углекислого газа Philio
Датчик углекислого газа Philio
11 600 .-
14 509 .-
В корзину
Датчик качества воздуха Philio
Датчик качества воздуха Philio
5 790 . —
7 249 .-
В корзину
Датчик угарного газа Philio
Датчик угарного газа Philio
10 600 .-
13 299 .-
В корзину
Электропривод для управления шаровыми кранами
Привод перекрытия воды предназначен для автоматического перекрытия воды или газа. Работает в умном доме Z-Wave.
4 900 .-
В корзину
Датчик температуры для термостата FIBARO Room Sensor
Датчик температуры для термостата FIBARO Room Sensor
2 400 .-
3 100 .-
В корзину
3+1! Датчик движения 4 в 1 FIBARO Motion Sensor
Z-Wave датчик движения, температуры, оcвещености и вибраций FIBARO Motion Sensor
21 750 .-
29 000 .-
В корзину
Контроллер FIBARO Home Center 2 — уцененный
Контроллер Z-Wave FIBARO Home Center 2.
Уцененный товар. Прошел гарантийное обслуживание в официальном сервисном центре Fibaro.
29 990 .-
59 980 .-
В корзину
Датчик дыма FIBARO Smoke Sensor уцененный
Датчик дыма FIBARO Z-Wave Smoke Sensor.
Уцененный товар. Прошел гарантийное обслуживание в официальном сервисном центре Fibaro.
4 900 .-
9 815 .-
В корзину
Авторство материалов подтверждено в Google и Yandex.
Level Lock+ с поддержкой Home Key — серый
Аксессуары для умного дома
329,95 $
Серебристо-Черный
Цвет
Нужна помощь?
Связаться с нами.
(Открывается в новом окне)
Информация о продукте
Обзор
Встречайте Level Lock+, следующее поколение лучших в отрасли интеллектуальных замков Level Home, теперь оснащенных домашними ключами Apple. Level Lock+ совершенствует нашу известную невидимую технологию и выводит ее на новый уровень, органично интегрируя домашние ключи.
Ключи «Домой» позволяют просто и надежно запирать и открывать дверь, нажав Level Lock+ на совместимом iPhone или Apple Watch. Level Lock+ предлагает безопасность мирового класса, повседневное удобство и красивый дизайн.
Основные моменты
Ключи «Домой» позволяют использовать iPhone или Apple Watch так же, как вы платите за продукты с помощью Apple Pay — просто коснитесь кнопки Level Lock+, чтобы запереть и отпереть дверь.
Испытайте множество функций, в том числе запас хода, при котором использование кнопки «Домой» остается включенным на вашем iPhone в течение нескольких часов после того, как его необходимо зарядить.
Люди, с которыми вы делитесь приложением «Дом», также могут добавлять домашние ключи в свой кошелек.
Создавайте мощные сцены и средства автоматизации и управляйте ими из любого места с помощью приложения «Дом» — даже попросите Siri заблокировать или разблокировать устройство одним голосом.
С помощью приложения Level вы можете поделиться доступом к своему дому с другими, включая друзей, посетителей и людей, которым вы доверяете.
Вы также можете заблокировать или разблокировать прикосновением пальца, используя прилагаемые карты с программируемым ключом (NFC) или обычные ключи.
Открывайте дверь автоматически при приближении с помощью функции Auto-Unlock.
Никогда не забывайте запирать с помощью Auto-Lock.
Простая установка. Заменяет стандартный американский засов.
Сертифицирован BHMA AAA и соответствует самым высоким стандартам безопасности, долговечности и отделки.
Комплектация
Блокировка уровня+
2 ответные планки
6 винтов
2 ключа
2 ключевые карты
батарея CR2
Технические характеристики
Другие особенности: Bluetooth, совместимость с HomeKit
Доступ в Интернет: некоторые функции требуют доступа в Интернет
Соединения: Bluetooth
Совместимость Bluetooth: Bluetooth 4.0, Bluetooth 5.0
Источник питания: Батарея
Батарейки: литиевые CR2
Высота: 2,8 дюйма / 6,9 см
Длина: 2,8 дюйма / 6,9 см
Ширина: 4,5 дюйма/11,4 см
Вес: 24 унции. / 680 г
Системные требования
Операционная система: iOS 11.4 или новее
Требования Другое: Bluetooth 4.0 или новее (рекомендуется Bluetooth 5.0)
Совместимость
Модели iPhone
- Айфон 14 Про
- Айфон 14 Про Макс
- айфон 14
- айфон 14 плюс
- айфон 13 про
- Айфон 13 Про Макс
- айфон 13 мини
- айфон 13
- iPhone SE (3-го поколения)
- iPhone 12 Pro
- iPhone 12 Pro Max
- iPhone 12 мини
- iPhone 12
- Айфон 11 Про
- Айфон 11 Про Макс
- айфон 11
- iPhone SE (2-го поколения)
- айфон хз
- айфон хз макс
Модели iPad
- iPad Pro 12,9 дюйма (5-го поколения)
- iPad Pro 12,9 дюйма (4-го поколения)
- iPad Pro 12,9 дюйма (3-го поколения)
- iPad Pro 12,9 дюйма (2-го поколения)
- iPad Pro 12,9 дюйма (1-го поколения)
- iPad Pro 11 дюймов (3-го поколения)
- iPad Pro 11 дюймов (2-го поколения)
- iPad Pro 11 дюймов (1-го поколения)
- iPad Pro 10,5 дюйма
- iPad Pro 9,7 дюйма
- iPad Air (5-го поколения)
- iPad Air (4 поколения)
- iPad Air (3 поколения)
- Айпад Эйр 2
- iPad Air (1-го поколения)
- iPad (9-го поколения)
- iPad (8-го поколения)
- iPad (7 поколения)
- iPad (6 поколения)
- iPad (5-го поколения)
- iPad mini (6-го поколения)
- iPad mini (5-го поколения)
- айпад мини 4
- айпад мини 3
- айпад мини 2
- iPad mini (1-го поколения)
Модели Apple Watch
- Apple Watch серии 8
- Apple Watch SE
- Apple Watch Ультра
- Apple Watch серии 7
- Apple Watch серии 6
- Apple Watch серии 5
- Apple Watch серии 4
Модели Apple TV
- Apple TV 4K (2-го поколения)
- Apple TV 4K (1-го поколения)
- Apple TV HD
Модели HomePod
- HomePod
- HomePod мини
Модели iPod
- iPod touch (7 поколения)
Погода накануне — Apple
Аксессуары для умного дома
79,95 $
Нужна помощь?
Связаться с нами.
(Открывается в новом окне)
Информация о продукте
Обзор
Eve Weather — подключенная метеостанция
С помощью Eve Weather вы можете отслеживать текущую температуру наружного воздуха, влажность и атмосферное давление, а также сразу видеть тенденции погоды — на своем iPhone или прямо на дисплее. Просматривайте текущие и прошлые климатические данные, предоставляя вам информацию о погоде на вашем пороге. Или спросите Siri, какая температура на улице, чтобы вы могли одеться по погоде дня, прежде чем отправиться в путь.
Eve Weather автоматически присоединяется к вашей сети Thread и поддерживает Apple HomeKit, что упрощает использование с iPhone, iPad и Apple Watch. И самое лучшее во всех аксессуарах Eve — это то, как они защищают вашу конфиденциальность: Eve не собирает ваши личные данные, и у Eve нет облака, поэтому ваши данные не будут раскрыты.
Основные моменты
Отслеживайте наружную температуру, влажность и барометрическое давление с течением времени
Просматривайте тенденции погоды с первого взгляда — на вашем iPhone или прямо на дисплее
Спросите Siri о температуре и уровне влажности прямо у вашего порога
Получайте ценную информацию и просматривайте свои данные по дням, месяцам или годам в приложении Eve.
Элегантный и утонченный дизайн и защита от атмосферных воздействий IPX4; полностью беспроводной со сменной батареей
Автоматически присоединяется к вашей сети Thread / поддерживает Bluetooth и Thread
Мгновенно приступайте к работе благодаря быстрой и простой настройке и отсутствию необходимости в мосте или шлюзе.
Поддержка Apple HomeKit для исключительной простоты использования и повышенной безопасности
Наслаждайтесь максимальной конфиденциальностью данных: без облака Eve, без регистрации и без отслеживания, поэтому ваши данные не будут раскрыты
Что в коробке
Ева Погода
1x батарея CR2450
Краткое руководство
Технические характеристики
Другие особенности: Совместимость с HomeKit, Требуются батареи, Bluetooth, Водонепроницаемость
Доступ в Интернет: требуется доступ в Интернет
Соединения: Bluetooth, беспроводное
Совместимость Bluetooth: Bluetooth 4.0
Источник питания: Батарея
Тип батареи: CR2450
Батареи: литиевая батарея
Высота: 2,1 дюйма / 5,4 см
Длина: 2,1 дюйма / 5,4 см
Ширина: 0,6 дюйма/1,6 см
Вес: 1,5 унции.