smartthings framework что это за программа на андроид
990x.top
Простой компьютерный блог для души)
SmartThings Framework — что это за программа и нужна ли она?
Приветствую уважаемые!
SmartThings Framework — компонент, отображающий пользовательский интерфейс для управления устройствами SmartThings из нескольких приложений.
Официальное описание на самсунговском веб-сайте (только там на английском):
Интеллектуальными устройствами SmartThings могут быть девайсы включения/выключения света, телевизора, колонки, бытовая техника и другие.
SmartThings Framework создано именно для телефонов Самсунг. На других эта программа может работать нестабильно (или вообще не работать).
SmartThings — что это?
Фирменная система от Самсунга для домашней автоматизации. Позволяет контролировать и отслеживать работу устройств, которые находятся дома, при помощи специального приложения, установленного на смартфоне.
Можно сказать что эта технология в некотором смысле — пульт от вашего дома. Многое, что вы делали раньше вручную — можно теперь автоматизировать по расписанию. Например утром открыть шторы, включить телевизор, а перед сном телефон может сам отключаться, шторы закрываться. Важное условие — чтобы управлять устройствами, они должны поддерживать систему умного дома.
Поэтому нужно сперва обзавестись умными девайсами, после чего можно будет использовать систему SmartThings.
Надеюсь данная информация оказалась полезной. Удачи.
SmartThings Samsung — что это за программа на телефоне?
Воу, воу, привет ребята!
Как вы, все норм? Надеюсь да. Так, что у нас сегодня? Сегодня дело об программе SmartThings, которую можно найти на телефонах фирмы Самсунг
Выяснил — SmartThings это фирменное интеллектуальное приложение для интеллектуальных устройств. Понимаем — прога не для всех, так как все эти интеллектуальные устройства… короче они не особо популярны так бы сказать, да и не так уж нужны..
Не буду тянуть КОЕ-КОГО за хвостик — SmartThings это приложение, так бы сказать центр управления умными устройствами Самсунг. При помощи него можно управлять другими супер интеллектуальными устройствами в доме. Типа умный дом.
Читаю, что SmartThings поддерживает все устройства, на которых написано Works with SmartThings. Какие это могут быть устройства? Может быть телевизор — например поддерживается модель Samsung 9 Series (55):
Знаете что? При помощи SmartThings ваш тел может стать пультом управления! В итоге для телевизора — будут сенсорные кнопки регулировки громкости, переключение каналов, еще присутствует кнопка выключения.. смотрите:
Также поддерживается кондишн, стиралка, холодильник, робот-пылесос и Smart home apadter — правда не совсем понятно что это..
Вот пример как можно управлять холодильником (REFRIGERATOR):
Наверно.. так можно и температуру изменить? Вот технологии, удивлен..
Точно не скажу, возможно при помощи приложения телефон может стать пультом от многой техники. Круто ребята
Добавление нового устройства
Появилось новое интеллектуальное устройство? Приложение на телефоне сообщит вам, предложит добавить его:
Будут отображены три кнопки — CANCEL (отменить), LATER (напомнить позже), ADD (все таки добавить).
Что еще может SmartThings?
На данной картинке видим что SmartThings может показывать температуру, не трясет ли дом, закрыты ли двери или окна? Смотрите — все показывается в удобном оформлении:
Где можно скачать приложение SmartThings?
В интернете нашел два официальных источника
Настоятельно не советую качать с сомнительных/непроверенных сайтов. В таких приложения запросто могут быть вирусы либо прочие угрозы. Я вас предупредил!
Тонкости, о которых вам следует знать
Советую обратить внимание вот на это:
SAMSUNG SmartThings Starter Kit
Обалдеть. Существует набор для умного дома — можно заказать в интернете (например на Амазоне). Называется SAMSUNG SmartThings Starter Kit, вот как выглядит:
SAMSUNG SmartThings Starter Kit — фирменный набор, вот что входит в него:
Журнал уведомлений SmartThings
Вы ведь не можете всегда следить за всем — вы занятый, деловой чел, поэтому в приложении присутствует журнал событий — можно посмотреть какие изменения происходили с вашим домом, сколько раз. Все записывается в удобном виде с приятным оформлением на вкладке Activity Feed — даже время указывается/тип суток (PM или AM):
Итоговые мысли
Как оказалось приложение достаточно полезное, уникальное. Все что я рассказал — только малая часть. Вы знаете, на самом деле, если собрать всю систему умного дома на основе SmartThings — жить реально станет намного легче..
И я сам уже подумываю об этом, а то устал уже дверь закрывать-открывать, свет включать-выключать, регулировать температуру холодильника.. ведь все вручную! Нелегко однако..
А вот мои мыслишки:
Будем заканчивать. Удачи, пусть у вас все будет хорошо, будьте счастливы! Прощайте
Встраиваем своё устройство «Умного дома» в экосистему SmartThings
Платформы «Умного дома» позволяют интегрировать устройства и создавать новые сценарии их взаимодействия. Известен эффект платформ: пользователи скорее выберут ту, с которой уже совместимы имеющиеся у них устройства, нежели перейдут на какую-либо новую. Поэтому для разработчиков новых гениальных девайсов может оказаться выгоднее встраиваться в уже готовую платформу, сосредоточив внимание на «железном» продукте, нежели разрабатывать свои собственные «велосипеды» в виде еще одних облачных экосистем и личных кабинетов.
Рассмотрим, как встроить свое собственное устройство с платформой «Умного дома» Samsung SmartThings. Мы реализуем вариант прямого (Direct) подключения для управления устройством «Умного дома» на примере кнопки-выключателя и трехцветной лампочки.
Зачем вообще нужны платформы «Умного дома»?
Сейчас гаджетов и умных устройств в продаже — сколько хочешь. Не проблема купить чайник с управлением по Bluetooth или лампочку с WiFi. Но делает ли это ваш дом «умным»? Нередка ситуация: лампочка управляется только через мобильное приложение от производителя. Это создает неудобства, если вы пытаетесь сочетать хотя бы несколько разных брендов. Поэтому идеальная платформа – это та, которая дает возможность управлять единообразно устройствами разных производителей.
Более того, хотелось бы видеть «растворенный в повседневности компьютер», как мечтал об этом Марк Вайзер из Xerox PARC: не управлять через специальное приложение, не распылять свой фокус внимания. Хотелось бы естественного взаимодействия с умной средой, не меняющего наших привычек. Как реализовать это технически? Например, это могут быть сценарии, где вовлечены разнородные устройства в доме: вы проснулись – носимое устройство это детектировало и включился чайник; вы пришли домой – датчик на двери это зафиксировал, с учетом времени суток задернулись шторы, лампа включилась, с учетом температуры включился кондиционер.
Сценарии становятся ещё более полезными, если мы задействуем Интернет: например, чтобы дистанционно проверить, выключена ли розетка с утюгом. Или банальный пример: ваш умный дом посмотрел прогноз погоды и выдал вам совет, как лучше одеваться. А можно еще добавить управление голосом через умную колонку.
Для всего этого предназначены платформы «Умного дома». Рассмотрим, что умеет платформа Samsung SmartThings.
Предыстория – что такое SmartThings?
SmartThings начинался как стартап. На тот момент, когда он появился, в 2012 году в США, тема «Умного дома» ещё не была на вершине хайпа, не было ещё умных колонок и разнообразия гаджетов в магазинах. Идея пришла основателю стартапа, Алексу Хокинсону, после одного случая: дом его семьи в Колорадо пострадал оттого, что после временного отключения электричества водопроводные трубы сильно замерзли, их прорвало, и весь этаж залило. Тогда он подумал, что мог бы предотвратить проблему, если бы знал о происходящем в доме.
Залогом успеха на Кикстартере было наличие работающих прототипов железа и софта, и дружественность к мейкерскому сообществу
Создатели стартапа вышли из DIY-среды, поэтому они последовательно развивают концепцию открытого API для гиков-мэйкеров, способных на ранней стадии выступить как early adopters. В кампании на Kickstarter был и шилд для Arduino, и различные облачные модули для беспроблемного подключения вашего стороннего устройства. В Интернете вы сможете найти множество примеров самодельных устройств, совместимых со SmartThings, будь то управляемая дверь курятника (с решением серьезной жизненной задачи – спасти цыплят от хищной норки), или дистанционная установка кода электронного замка для гостей с Airbnb.
Источник фото: https://www.hackster.io/aaronpk/auto-airbnb-entry-745799
Архитектура SmartThings
Давайте двигаться по схеме слева направо.
Устройства
SmartThings Devices – это могут быть не только устройства из комплекта SmartThings, но и множество сторонних из списка партнёров.
Если устройства нет в списке официально поддерживаемых, вы можете поискать к нему Device Handler — он может быть предоставлен сообществом разработчиков — или написать свой собственный.
Способы подключения
Подключать устройства к платформе вы можете следующими способами:
Обычно для подключения разнообразной аппаратуры у вас дома должен стоять специальный маленький сервер «Умного дома», поддерживающий различные протоколы. Он же – хаб, концентратор, шлюз – названия бывают разные.
Хаб и комплект устройств к нему. Источник фото: IXBT.
Приложение
SmartThings App – это приложение, которое можно установить на основные мобильные ОС и с его помощью: добавлять новые устройства в систему, контролировать уже добавленные, назначать правила автоматизации, получать уведомления через push и SMS, и многое другое.
Абстракции
В SmartThings, как и во многих других платформах умного дома, есть следующие абстракции: комнаты, сцены, сценарии.
Устройства группируются в комнаты (Rooms). Вы просто присоединяете в приложении те или иные гаджеты к одной комнате, и называете её «Кухня», «Ванная», «Прихожая».
Ещё есть сцены (Scenes) – это ситуации: «сон», «отдых», «работа», «просмотр фильма» — каждая из ситуаций характеризуется своим набором состояний устройств.
Сцены и комнаты на экране приложения
И наконец, сценарии (Routines): правила автоматизации «если – то». По умолчанию в программе четыре сценария: «Я вернулся», «Спокойной ночи», «Пока», «Доброе утро». Можно настроить активацию сценария по условию наступления утра, или в случае движения, или в случае открытия двери, и так далее. Нетривиальный пример: когда я вхожу домой — заблокировать сетевой трафик на домашней камере видеонаблюдения, чтобы исключить возможность утечки моих личных видео. Или жестокий воспитательный пример: принудительно отключить планшет от сети, когда наступило 11 часов вечера, чтобы не дать себе залипать в Интернете вместо здорового сна.
Более того, в программе SmartThings на телефоне есть интересная возможность – запоминание типичных действий. Когда часто пользуешься телефоном, он со временем начинает тебе подсказывать, как лучше сконфигурировать сцены, исходя из самых часто запускаемых приложений.
Для добавления в систему новых устройств предусмотрена система плагинов. Разработчик может запрограммировать плагин для своего собственного устройства – пользовательский интерфейс внутри приложения SmartThings и логику работы устройства. По сути, это веб-приложение. С точки зрения разработчика, плагин может подписываться на события или уведомления с устройства, посылать ему сообщение, мониторить статус соединения с устройством. Есть понятная документация о жизненном цикле плагина.
Скачиваются они пользователем из «магазина плагинов» по мере необходимости, чтобы не раздувать приложение на телефоне.
Но сейчас мы никаких плагинов делать не будем, а сделаем проще: добавим самодельное устройство, пользуясь только стандартными средствами платформы.
Делаем своё устройство совместимым со SmartThings
У вас может возникнуть вопрос: а зачем? В чем смысл делать его совместимым, если вы – разработчик устройства?
Что предлагается сделать
SmartThings Device SDK (STDK) был презентован недавно – на Samsung Developer Conference в октябре 2019 года. Ниже мы предлагаем перевод руководства по этому SDK. И не просто перевод: мы всё то же самое проделали и повторили своими руками, поэтому тут будут некоторые комментарии практического характера, выходящие за пределы изначального руководства.
Как будет выглядеть итоговый результат, показано на видео:
RGB-светильник подключается к платформе SmartThings через WiFi, и вы управляете им через телефон. Сам светильник реализуется максимально дешевым и простым способом – на сверхпопулярной микросхеме ESP8266. Железо не принципиально: можно делать на любом микроконтроллере, ведь SDK написан на языке С, выложен в открытый доступ и его можно портировать при желании. В «продакшн» светильник на ESP вряд ли пойдет (начнем с того, что в «Умном доме» удобнее использовать другие интерфейсы, нежели WiFi), но для модели и иллюстрации вполне сгодится.
Функционал получившейся «умной лампочки» будет такой: управление RGB-светодиодом при помощи цветового круга на телефоне. А также ее выключение и включение посредством кнопки.
Процесс разработки показан на схеме:
Показанный процесс не жесткий, некоторые из шагов можно менять местами, что и покажем в руководстве.
Железо
В оригинальном руководстве показано всё на примере платы WeMos D1 Mini, это отладочная плата на основе ESP8266, которую можно вставлять в макетную плату. В общем-то, ничего хитрого в ней нет, это просто модуль суперпопулярного в среде любителей китайского чипа ESP, напаянный для удобства работы на более широкую плату по размеру макетки. Поэтому вы можете делать всё и на любой другой плате.
Слева: WeMos D1, справа – Troyka WiFi Shield
Что нужно для сборки примера:
И прописать путь к этому SDK в переменной IDF_PATH:
И инструменты разработки (компилятор):
Руководство
В качестве примеров будут рассмотрены следующие устройства: умный выключатель и умная лампочка. Мы начнем с умного выключателя, как более простого и не требующего никакой внешней периферии.
Шаг 1. Регистрируем свое устройство.
Работа начинается в SmartThings Developer Workspace, где нужно залогиниться с помощью Samsung Account. Этот аккаунт создается бесплатно, и для его создания не обязательно иметь телефон Samsung.
В Developer Workspace вам сразу же предлагают создать первый проект. Соглашаемся, после чего из двух вариантов проектов нужно выбрать Device Integration.
На выбор будут даны три варианта интеграции устройства:
Добавляем профиль устройства. Если говорить в терминах ООП, то профиль устройства – это такой «класс», а конкретное устройство – «экземпляр класса».
Нам нужно определить функциональные характеристики устройства в терминах SmartThings Capability («способностей»). О том, какие вообще «способности» устройства существуют, можно прочитать в инструкции.
Заполняем поля своими значениями. Для примера, имя профиля можно вписать Test Switch Profile, описание – любой текст, тип устройства – Switch, Vendor ID – любой текст. «Тип устройства» влияет на иконку вашего устройства и на пользовательский интерфейс. В списке не так много возможных типов устройств (хотя есть и экзотические, например WineCellar – винный шкаф), поэтому, если не найдете именно вашего – не расстраивайтесь и просто выберите наиболее близкое и похожее. На последнем экране (Dashboard Control) можно ничего не менять.
После создания профиля, не забудьте нажать на кнопку «Add device profile to project» вверху справа.
И опять же, по аналогии с предыдущим примером, не забудьте нажать кнопку «Add device onboarding to project».
Останется только нажать кнопку Deploy. После этого вы сможете увидеть ваше устройство в приложении SmartThings – но только в режиме разработчика (Developer Mode). Если Deploy не нажимается, и вам пишут «Please add a Model Name» — то это означает, что вы не указали Device Onboarding ID, промотайте страницу ниже и сделайте это – введите любое имя на ваше усмотрение.
Теперь вы можете начать тестирование вашего виртуального устройства на телефоне.
Весь первый шаг подробно показан в видео:
Регистрация устройства в облаке
Прежде, чем приступать к работе с собственно «железом», нужно сделать еще кое-что. После нажатия кнопки Deploy экран будет выглядеть иначе: там появится новое поле Device Identity.
Для аутентификации вашего устройства в облаке SmartThings нужно ввести его серийный номер и публичный ключ (со схемой подписи ED25519). Это делается достаточно легко.
Linux-версия кейгена расположена в st-iot-device-sdk-c-reference/iot-core/tools/keygen/linux либо в st-device-sdk-c/tools/keygen/linux
Серийный номер для тестового устройства будет сгенерирован случайным образом в формате STDK + [MNID] + буквенно-цифровой формат (8 символов). Свой MNID можно узнать в профиле разработчика, в разделе Manage Account.
Далее, чтобы сгенерировать буквенно-цифровую часть, вам нужно ввести ваш MNID (4 символа) как парамер кейгена. В нижеприведенном примере MNID – это fJ*c.
Скопируйте «abed**5c» из выдачи кейгена, и вставьте в поля XXXXXXXX в разделе Device Identity Registration. Появится окно, в котором вас попросят ввести публичный ключ.
Скопируйте публичный ключ из выдачи кейгена («waGgyjWIvHhF1LU***FG2hx/4u***ADFHr/ry0j5jbk=» в этом примере) и вставьте в поле „Device Public Key“.
Шаг 2. Прошивка устройства
Поговорим о коде, который вы будете загружать в устройство.
Примеры прошивки находятся в папке st-device-sdk-c-ref/apps/esp8266/. Нас будет интересовать пример st_switch.
Или то же самое, но покороче:
! Если у вас никак не получается прошить программу – скорее всего, вы забыли перевести плату ESP8266 в режим программирования. Это делается, как правило, нажатием кнопки на самой плате. Например, Wi-Fi Troyka модуль можно перевести, зажав кнопку PROG, и затем нажав и отпустив кнопку RESET.
После того, как закачается прошивка, не забудьте перезагрузить плату.
Шаг 3. Подключение и управление с телефона
Включите режим разработчика в приложении SmartThings на телефоне. Как это сделать, написано на официальном сайте, но проще объяснить словами: входите в настройки через «шестеренку», и жмете 20 секунд кнопку «Сведения о SmartThings». Внизу появится меню «Режим разработчика».
Наше устройство должно быть видно в списке в приложении SmartThings: запускаем приложение, нажимаем „плюс“ и „Добавить устройство“. Проматываем в конец списка вендоров и видим значок „My Testing Devices“. Нажимаем на него и выбираем своё устройство.
Более того: если вы уже активировали режим разработчика, и включили устройство, то у вас возникнет всплывающее меню, предлагающее добавить именно это устройство!
Управление устройством из приложения SmartThings.
Вначале устройство появляется как точка доступа, поскольку ещё не знает пароля от вашего WiFi. В процессе подключения вы укажете сеть, с которой должно соединяться устройство. Если у вас скрытая точка доступа, то у ESP не получится с ней соединиться, поэтому выбирайте открытую точку.
Результат будет такой:
В этом примере (st-switch) вы управляете встроенным на плату светодиодом, нажимая на кнопку на самой плате. Как видите, для этого примера даже не нужно никакой дополнительной периферии, только сама плата ESP8266.
Вы также можете включать/выключать устройство кнопкой на панели управления в мобильном приложении:
И конечно, если вы жмете физическую кнопку, то и в приложении статус лампочки обновляется.
Пример «Умная лампочка»
После того, как вы сделали пример «Умный выключатель», давайте попробуем всё немного усложнить. Будет RGB-светодиод, и включать/выключать будем внешней кнопкой, а также выбирать цвет через приложение.
Железо
Схема подключения будет простая:
И принципиальная схема тоже не помешает:
Если посмотреть исходник (находится по адресу: st-device-sdk-c-ref/apps/esp8266/st_lamp), то подключение там следующее:
#define GPIO_OUTPUT_NOTIFICATION_LED 2
#define GPIO_INPUT_BUTTON 5
#define GPIO_OUTPUT_COLORLED_R 16
#define GPIO_OUTPUT_COLORLED_G 14
#define GPIO_OUTPUT_COLORLED_B 12
#define GPIO_OUTPUT_COLORLED_0 13
Вы можете переназначить выводы согласно тому, какая именно модель платы у вас. Обратите внимание, что на плате система обозначений одна (D1, D2…), а в коде другая, но в этом легко разобраться, просто глядя на документацию к вашей плате.
Программная часть
По программной части у нас поменяется несколько шагов:
Как это выглядит в действии – еще раз гифка:
Заключение
Итак, вы получили готовый работающий пример. Вы видите, что большая часть кода уже сделана за вас – всё, что касается подключения, аутентификации, интерфейса устройства. Пример SmartThings ценен тем, что он не привязан ни к какому аппаратному устройству, и вы можете смотреть и оценивать, какой функционал платформы нужен в 2k20, если вы разрабатываете «Умный дом».
Татьяна Волкова — Автор учебной программы трека по Интернету вещей IT Академии Samsung, специалист по программам корпоративной социальной ответственности Исследовательского центра Samsung