Умные розетки для homekit

Тестируем Apple HomeKit на примере умной розетки Koogeek SmartPlug P1

Если достало непонятное приложение «Дом» на рабочем столе вашего iPhone, то читаем дальше. Я заморочился и купил специальный аксессуар для умного дома, совместимый с Apple HomeKit. Протестировал его и теперь готов рассказать, что это за тема такая и насколько она реально полезная. Поехали!

Пролог

Apple HomeKit — это программная платформа, которая объединяет множество устройств в одну беспроводную сеть. Главная цель — создание умного дома с бесконечным множеством всяких датчиков, умных лампочек и розеток, «мозгом» которого в идеале должен быть Apple TV 4-ого поколения. Управление всем этим хозяйством осуществляется с iPhone или iPad как раз через то самое приложение «Дом».

Аксессуаров, совместимых с Apple HomeKit не сказать, что много, но они есть. Сама Apple их не производит, этим занимаются сторонние компании. В России официально продаётся крайне мало датчиков для умного дома по версии Apple — всего 5 штук и все от компании Elgato.

Apple Homekit для России

Переходим на зарубежную страничку и видим, что аксессуаров оказывается пруд пруди.

Apple Homekit для Америки

Однако и этим дело не ограничивается. Самый доступный способ попробовать HomeKit — заказать какой-нибудь совместимый гаджет из Китая. Я остановил свой выбор на самом простом устройстве — умной розетке Koogeek SmartPlug P1.

Что это такое?

С компанией Koogeek я уже сталкивался ранее. Было дело — тестировал их умные весы, которые по функционалу легко заткнули за пояс своего главного конкурента в лице Xiaomi Mi Smart Scale. Вот тут можете почитать масштабный обзор-сравнение обоих гаджетов.

Именно по этой причине мне было не страшно покупать что-либо от этой фирмы. Сразу скажу, что их продукция, конечно, не самая топовая, но среди китайских аналогов она на голову выше всех остальных, практически на уровне всяких умных аксессуаров от Xiaomi. У последних, правда, и сами устройства, и приложения выглядят чуточку более стильно, однако у Koogeek они, как правило, локализованы. В общем, паритет.

Вторая причина, почему я остановил свой выбор именно на Koogeek SmartPlug P1 — цена. Сейчас купить эту умную розетку можно за $35. В рублях это примерно 2 000 рублей без учёта кэшбэка. Ко мне розетка приехала из этого магазина, поэтому его и буду советовать.

Я выбрал белый, но есть и чёрный вариант. Всё зависит от конкретного интерьера.

А теперь для сравнения посмотрим, сколько стоит аналог, официально продающийся в России — 6 990 pyблей придётся выложит за умную розетку Elgato Eve Energy. Готовы ли вы пойти на эксперимент, начав именно с такой суммы? Я нет, а 35 баксов — этим можно рискнуть, чтобы потешить своё любопытство.

Функции

Тут в общем-то особо не разгуляешься — функция всего одна, но давайте обо всём по порядку.

Вставляешь гаджет в свою обычную розетку, заходишь в приложение «Дом» на iPhone, добавляешь аксессуар путём сканирования таблички с уникальным цифровым кодом и готово.

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

Подробнее на примере электрического чайника. Раз и навсегда подключаешь его к этой умной розетке, переводишь выключатель на самом чайнике в положение «On», выключаешь SmartPlug и идёшь спать. Проснулся утром, взял iPhone, тыкнул на «ВКЛ» и чайник начал кипятить воду. В результате, пока доползёшь до кухни — кипяток уже будет готов для заварки чая.

Точное такую же процедуру можно проделать с любым бытовым прибором — телевизором, стиральной машиной, кондиционером и так далее. Другими словами, за $35 можно любой бытовой прибор превратить в умный.

Разумеется, всё это работает только при прямом подключении по Wi-Fi. Включить умную розетку по дороге с работы через сотовую сеть нельзя. Для этого нужно, чтобы дома стояла Apple TV, которая и будет служить удалённым хабом управления всего этого HomeKit. У меня приставки нет, поэтому такую фишку я проверить не смог.

Что ещё?

Можно ограничиться только лишь приложением «Дом», а можно ещё скачать утилиту непосредственно от Koogeek. Она по большей части дублирует функционал штатной программы, просто даёт возможность войти в учётную запись и всё там синхронизировать. Имеет смысл, когда у тебя несколько устройств от этих китайцев, как, например, у меня.

Для использования SmartPlug можно создавать разные профили, которые будут работать в зависимости от времени суток.

Если подобных аксессуаров несколько, то каждый из них можно переименовать, а заодно указать, в какой комнате они расположены.

Конечно, доступно управление через Siri. Например, я назвал розетку, как «Чайник» и могу сказать ей следующую фразу: «Siri, включи чайник». Думаю, что происходит дальше, понятно и так.

Неудобства

А они, к сожалению, есть. Точнее, один единственный неприятный момент — Koogeek SmartPlug не предназначен для наших розеток, только для китайских. Для подключения аксессуара нужен переходник — продаётся в хозяйственном по 45 рублей за штуку. Второе — у него у самого нестандартный вход. То есть нужен ещё один адаптер (китайская вилка на выход). Обзавёлся двумя переходниками, теперь всё заведётся. Однако выглядеть это будет не так уж и кошерно, как задумывалось изначально.

Однако смартфоны Xiaomi, которые я заказываю пачками из Китая, отлично подходят для этого гаджета, ибо все они комплектуются зарядными устройствами с китайскими вилками.

Вообще, в природе существует версия для Eвропы — с нормальной вилкой и подключением, однако я видел такую только на картинке непосредственно в самом приложении. Даже на официальном сайте такого приборчика нет. Может ещё не произвели?

Koogeek реально заморачиваются со всякими хитровыдуманными аксессуарами. У них есть и умный термометр, и не глупые лампочки, и выключатели специально для HomeKit и много чего ещё. У нас уже готовится к выходу обзор тонометра. Дальше больше.

Меня порадовало, что Koogeek P1 отлично справляется со своей задачей. Подключил к розетке, настроил один раз и забыл. В дальнейшем ничего не глючит, не подвисает, задержка включения может быть две-три секунды — не больше.

Koogeek SmartPlug P1 — это однозначно один из самых доступных способов завести у себя дома хоть что-нибудь с поддержкой платформы Apple HomeKit. Первый шаг к умному дому, который стоит приемлемых денег — $35.

Все авторизованные аксессуары стоят несравнимо дороже. Взять хотя бы Elgato Eve Energy стоимостью в 7 000 рублей. Думаю, учитывая такую разницу, можно и потерпеть небольшие неудобства, связанные с подключением SmartPlug P1 к нашим сетевым розеткам. Дешево и сердито, так сказать.

Источник

Приручение дикой зверушки: добавляем поддержку Homekit в «умную розетку» Redmond SkyPlug RSP-100S

Предыстория

Впервые про данную розетку я узнал из статьи Умная розетка Redmond SkyPlug RSP-100S Анализ конструкции и схемы электрической принципиальной. Выявление недостатков. Помню, что прочитав ее, в первую очередь заинтересовался схемой бестрансформаторного источника питания и тем, насколько компактно размещены элементы в корпусе розетки при том, что внутри полноценное реле, а не, скажем, симистор.

О каких-то попытках перепрограммировать Bluetooth-модуль и речи не было, тк программирование BLE устройств исторически было делом очень непростым. Вот пример: Разработка IoT устройств с использованием Bluetooth LE, явно не DIY уровень.

Однако, за прошедший год ситуация кардинальным образом изменилась…

Началось все с того, что индийский программист Sandeep Mistry (на фото)…

. портировал Wiring, он же Arduino framework, он же просто «ардуино» на чипы Nordic Semiconductor nRF51822 и nRF52832, написав до кучи еще и библиотеку BLEPeripheral для создания на вышеупомянутых чипах периферийных устройств с поддержкой BLE4.x

Потом компания Arduino AG (ex-arduino.org) вступила в коллаборацию с Nordic и выпустила плату Arduino Primo…

… основанную на чипе nrf52832. Интересно, как быстро вы найдете на плате собственно nRF52832 (подсказка: большой слева — это не он). Для совместимости с Ардуино плата использует код, созданный Сандипом, а самого его приняли в штат. Повторяется история с espressif, esp8266 и Иваном Грохотковым (igrr), где все так же начиналось с «народных» наработок.

Adafruit и Sparkfun вскоре тоже отметились выпуском плат на nRF52.

В общем, похоже, что семейство nRF5 (nRF51822 и nRF52832) сейчас самый «модный» чип среди всех мейджоров, которые определяют электронный DIY-рынок. Под «мейджорами» я имею в виду Arduino, Adafruit и Sparkfun. Азиаты в лице ITEAD или SEEED пока отстают, но, думаю, это ненадолго. По крайней мере, noname китайцы с Али вовсю штампуют модули на этих чипах, причем, если модули на nRF51822 были довольно несуразными, то модули на nRF52832 отличные.

Что же за чип такой примечательный и почему, судя по всему, у него есть большие шансы наконец-то заменить собой знаменитую atmega328 в DIY-поделках?

nRF5 SoC

Общее описание

nRF52832 — новая мощная, малопотребляющая и гибкая «система на кристалле» с поддержкой протоколов Bluetooth Smart, ANT и проприетарных стеков собственной разработки пользователя в частотном диапазоне 2.4GHz.

nRF52832 построен на 32-разрядном процессорном ядре ARM Cortex-M4F с 512kB Flash и 64kB RAM памяти. По протоколу работы nRF52832 полностью совместим с предыдущими сериями nRF51, nRF24L и nRF24AP производства Nordic Semiconductor.

Вот это тоже очень важно, например, у меня вся домашняя автоматизация сделана на nRF24L01 и такая обратная совместимость позволяет легко заменить комбинацию atmega328+nRf24 на один nRF5

Повышенная производительность процессора

nRF52832 содержит мощное процессорное ядро ARM Cortex-M4F, соответствующее требованиям многих требовательных к вычислительной производительности, но при этом компактных приложений, способных работать на одном кристалле. Ядро способно решать задачи цифровой обработки сигналов, выполнять операции с плавающей точкой, выполнять операции с мультиплексированием и накоплением в пределах одного рабочего цикла, аппаратно поддерживает энергетически эффективно реализованную операцию деления в вещественной и комплексной формах.

Мультипротокольная радио часть

Радиочасть 2.4 ГГц совместима со стеками протоколов Bluetooth Smart, ANT и любыми проприетарными стеками. Радио имеет встроенный регистр RSSI высокого разрешения с возможностью автоматической работы в режиме EasyDMA для прямого доступа к памяти в момент приема и передачи данных по радиоканалу. Nordic предоставляет стеки протоколов Bluetooth Smart, ANT и Gazel (2.4GHz) в качестве загружаемого контента на своем официальном веб-сайте.

Стек Bluetooth в версии Nordic называется SoftDevice, запомните это слово, оно нам сегодня еще встретится.

Энергетическая эффективность

nRF52832 является сверхмалопотребляющей системой на кристалле, способной использовать питание в диапазоне от 1.7В до 3.6В. Вся периферия и тактовые генераторы могут оперативно отключаться в автоматическом режиме с целью сведения энергопотребления до минимального уровня. Встроенное процессорное ядро имеет автоматизированную адаптивную систему управления энергопотреблением. Энергопотребление автоматически регулируется в зависимости от операций, выполняемых в данный момент процессорным ядром при обращении к периферийным устройствам таким образом, чтобы работали только те составные части системы, которые необходимы для выполнения текущей задачи.

Добавлю: возможность переназначения пинов, поддержка до 8 прерываний и прочая, прочая, прочая. Практически идеальный чип 🙂

Превращение начинается

Но вернемся к нашей розетке. Как выяснилось, она идеально приспособлена для DIY, не хуже, чем культовые модули Sonoff от ITEAD. Разъем для программирования любезно вынесен и обозначен как XP1:

Порядок пинов, естественно не подписан, но это не беда, ведь у нас есть схема. В ней есть одна маленькая неточность, правильный порядок пинов такой (слева направо):

  • vcc
  • swdio
  • swdclk
  • gnd

Отладочный интерфейс — SWD. Итак, поехали:

    В Arduino IDE заходим в Preferences и добавляем url sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json в поле «Additional Board Manager URL»


Устанавливаем поддержку nRF5 через Board Manager


Устанавливаем библиотеку BLE Peripheral либо через Sketch|Libraries|Manage Libraries:

Либо через скачивание и добавление через Add .zip library


Выбираем плату Generic nRF51 и вариант 16kB RAM, 256kB flash (xxaa)


Выбираем Softdevice: «S110»

  • Кликаем на пункт меню nRf5 Flash SoftDevice (это достаточно сделать один раз, в дальнейшем можно заливать разные скетчи, не перепрошивая SoftDevice) Как вы помните, SoftDevice — это закрытый BLE-стек от самой Nordic, который обеспечивает высокоуровневый api для работы с Bluetooth
  • Выбираем Low Frequency Clock:«RC Oscillator»


    Заливаем скетч

    // LED pin
    #define LED_PIN 3
    #define ON_PIN 2
    #define AUTH_PIN 1

    BLEPeripheral blePeripheral = BLEPeripheral();

    BLEService ledService = BLEService(«19b10000e8f2537e4f6cd104768a1214»);
    BLECharCharacteristic switchCharacteristic = BLECharCharacteristic(«19b10001e8f2537e4f6cd104768a1214», BLERead | BLEWrite);

    void setup() <
    // set LED pin to output mode
    pinMode(LED_PIN, OUTPUT);
    //pinMode(ON_PIN, OUTPUT);
    //pinMode(AUTH_PIN, OUTPUT);
    //pinMode(0, INPUT_PULLUP);

    void loop() <
    BLECentral central = blePeripheral.central();

    if (central) <
    while (central.connected()) <
    if (switchCharacteristic.written()) <
    // central wrote new value to characteristic, update LED
    if (switchCharacteristic.value()) <
    // Serial.println(F(«LED on»));
    digitalWrite(LED_PIN, HIGH);
    //digitalWrite(ON_PIN, HIGH);
    //digitalWrite(AUTH_PIN, HIGH);
    >
    else <
    //Serial.println(F(«LED off»));
    digitalWrite(LED_PIN, LOW);
    //digitalWrite(ON_PIN, LOW);
    //digitalWrite(AUTH_PIN, LOW);
    >
    >
    >

    Используя любой программатор с поддержкой SWD, например, SEGGER J-Link. Я использовал J-Link, встроенный в отладочную плату nrf52 Development Kit, он позволяет прошивать не только сам development kit, но и внешние платы.

    На этом программирование собственно розетки можно считать законченным и она УЖЕ работает. Как это проверить?

      скачиваем программу BLEScanner

    → Ссылка для Android
    В списке устройств находим Arduino и нажимаем Connect


    Далее кликаем на поле Custom Service


    И потом на поле Write Value. Теперь, если записать 01, реле включится, 00 — выключится.

    Часть вторая Добавляем поддержку Homekit

    К сожалению, пока не существует общедоступного способа прикрутить поддержку Homekit к BLE устройству напрямую. Это требует сертификации от Apple по программе Mfi, поэтому поддержка возможна только через прокладку в виде Homekit-сервер’a, самым известным из которых является Homebridge.

    Устанавливаем сам homebridge

    У меня успешно работает homebridge на Raspberry pi 2, но для целей данной публикации, я поставил еще один на Raspberry Pi Zero W (в подробности вдаваться не буду, если интересно, готов ответить на вопросы в комментариях)

    Устанавливаем BLE плагин

    1) Ставим javascript библиотеку NOBLE от уже известного нам Сандипа Мистри, он и тут отметился:

    2) Ставим собственно плагин

    Редактируем config.json в папке .homebridge. Если у вас Raspberry Pi 2, то она находится в домашней директории /home/pi

    И заменяем его содержимое на

    Запускаем homebridge в отладочном режиме (ключ -D, буква ПРОПИСНАЯ):

    внимательно следим за сообщениями. Находим строчку “LED — Ignored” и выписываем оттуда BLE адрес нашей розетки (аналог MAC-адреса).

    Альтернативный вариант: запускаем hcitool (утилита для работы с BLE-устройствами)

    и находим адрес в списке устройств.

    Выходим, нажимая Ctrl-C. Меняем адрес в config.json на корректный:

    Снова запускаем homebridge. В этот раз все должно быть ОК, и Homebridge с радостью распознает нашу розетку.

    Заключение

    Писать, как добавить новое устройство в Homekit, думаю, смысла, нет, об этом написано много, включая информацию на сайте самой Apple. Скажу только, что для этого удобнее пользоваться программой Elgato Eve, а не нативным приложением Home.

    Источник

    Читайте также:  Розетка для прикуривания автомобиля