Smart thinq что это
Реалистичный «умный дом» от LG. Никакой фантастики
Обычно, когда говорят об умной бытовой технике, нам представляется управление голосом, огромные экраны, которые сообщают нам всю необходимую информацию, и прочие фантастические штуки. Конечно, сегодня это уже возможно, но для поддержки корректной работы подобной системы понадобится орда системных администраторов и программистов — так что проще держать секретаря и уборщицу. Но необязательно же сразу «есть слона целиком» — можно предварительно разрезать его на кусочки и приближаться к умному дому постепенно, добавляя в привычную нам бытовую технику элементы, облегчающие ее использование и последующую интеграцию.
Ведь, по сути, что такое умный дом? Это такое жилище, которое берет на себя все заботы по обеспечению порядка, чистоты, актуальности покупок, и так далее. Нам не хочется отслеживать, когда закончится чистящее средство или молоко, охота, чтобы об этом просто напомнили в тот момент, когда мы будем проезжать мимо ближайшего гипермаркета.
У LG есть серия Smart ThinQ, в которой вещи будут именно помогать нам, но не делать за нас всю работу. О ней мы и расскажем, и, раз уж заговорили о еде, с нее и начнем. А точнее, с холодильников.
Холодильник из серии Smart TninQ
Казалось бы, это обычный холодильник (разве что, очень большой). Но если присмотреться, то можно заметить, что на нем есть цветной LCD экран. Он сенсорный, и предназначен для управления умными функциями, которые объединены под брендом SmartManager. Одна из них — возможность «рассказать» устройству, что в нем хранится.
Честно говоря, над интерфейсом стоило бы поработать получше: пока что вам приходится после покупки подходить к устройству, выбирать в меню категорию, искать там пиктограммку продукта, вручную вводить количество, срок годности, и так далее. На мой взгляд, разработчику стоило бы оснастить этот мегадевайс сканером штрих-кодов с возможностью автоматического добавления неизвестных продуктов (например, в универсаме, в котором я закупаю еду, наклейки есть на любой еде, даже развесной, а в штрих-коде зашифровано многое, в том числе и масса). Когда-нибудь на продуктах будут «висеть» RFID метки, и тогда все станет совсем просто.
На основе того, что имеется в наличии, вы можете сформировать список покупок.
«Умная» бытовая техника — технология LG THINQ
Привет, Хабр! Здравствуйте, друзья!
Сегодня темой нашего поста будет бытовая техника, причем не простая, а «умная».
Мы расскажем, что могут делать наши новые холодильники, стиральные машины, пылесосы и микроволновые печи. Wi-Fi и Twitter – это только вершина айсберга.
Если вы следите за рынком бытовой техники, увлекаетесь «умными» домами и просто истинный техноман, то наверняка уже успели «затвитить» (или «лайкнуть» что-либо на Facebook), если не с экрана холодильника, то как минимум с экрана телевизора. Весело, необычно, инновационно? Да! Полезно, функционально? Не факт
Мы решились это исправить и добавить максимум полезных функций так или иначе связанных с Интернетом.
Около полугода назад мы (LG Electronics) презентовали свое видение развития бытовой техники – LG THINQ Appliances. Уже в 2012 году большинство флагманских моделей будут оснащены «начинкой» THINQ (а некоторые продукты работают с ней уже сейчас).
Так что же умеет делать наша бытовая техника линейки LG THINQ (ищите стикеры на упаковке)?
• экономить деньги, электроэнергию и воду;
• подстраиваться под ваш ритм жизни;
• поддерживать дом в чистоте без вашего вмешательства;
• контролировать срок годности и наличие продуктов в вашем холодильнике;
• готовить еду дистанционно и именно тогда, когда это нужно вам;
• быть всегда на связи и держать все всегда под контролем через ваш смартфон/планшет;
• проводить самодиагностику, самоочистку и самостоятельно вызывать мастера по ремонту;
• быть красивой;
• быть эффективной.
• предупредят вас, что тот или иной продукт закончился (какой продукт будет отслеживать холодильник – решать вам);
• выведут на экран вашего смартфона или планшета информацию о том, что у вас сейчас есть в холодильнике и в каком количестве;
• покажут точную дату, когда вы поставили тот или иной продукт в холодильник;
• запомнят время, в которое вы их не беспокоите или беспокоите минимально (ночь или рабочий день – для кого как) и будут работать максимально энергоэффективно в период, когда внешняя потеря тепла минимальна;
• при необходимости сами себя продиагностируют (если есть неполадки) и сообщат в сервисный центр точный код проблемы, если проблема минорная (допустим блокировка подачи льда из-за того, что диспенсер забился), то расскажут как устранить ее самостоятельно;
• будут полностью под вашим контролем дистанционно на экране вашего смартфона или планшета.
Наши стиральные машины:
• стирают вещи тогда, когда вам удобно, в любой момент вы можете запустить стирку по любой нужной вам программе в два «тэпа» через приложение на вашем смартфоне/планшете;
• самостоятельно себя диагностируют, самоочищаются по мере необходимости;
• экономят воду благодаря системе анализа веса и объема загруженного белья и выбранной программы;
• сообщают о неполадках в сервисный центр и дают рекомендации по тому как устранить неполадки самостоятельно;
• очень эффективны, бесшумны в эксплуатации, надежны (мы даем 10 лет гарантии), не зря же мы мировые лидеры в этом продуктовом сегменте вот уже на протяжении 4 лет.
Наши микроволновые печи, духовые шкафы и хлебопечки:
• готовят еду, когда вам это удобно, включаясь в два «тэпа». Всё что вам нужно сделать – это «загрузить» продукты заранее и дать «отмашку» в любое удобное для вас время;
• предупреждают вас о готовности еды напоминанием на смартфон;
• подбирают в Интернете оптимальную программу для блюда, которое вы хотите приготовить. Поиск осуществляется по названию блюда в базе данных, если этого блюда в ней нет, то вы можете запрограммировать технику самостоятельно, она запомнит настройки и синхронизирует их с базой данных, которая таким образом постоянно будет пополняться;
• самостоятельно себя диагностируют и самоочищаются по мере необходимости;
• готовят бережно, максимально сохраняя полезные свойства продукта.
Наши пылесосы (речь о пылесосах-роботах, в частности, о модели HomBot):
• убирают квартиру пока вы на работе или в отпуске, включаясь и выключаясь самостоятельно. У пылесоса имеется встроенный микрофон и при отсутствии шумов он принимает решение, что он в доме один и можно начинать уборку (исключением является ночное время, в которое пылесос не работает, если вы не запрограммировали его на обратное);
• самостоятельно возвращаются на место старта для подзарядки аккумулятора;
• управляются с экрана смартфона, полный контроль, в том числе и за передвижением по квартире;
• транслируют изображение со специальной камеры на экран смартфона/планшета. Хотите знать, что происходит в квартире пока вы в офисе? Легко!
• аккуратны, эффективны и очень тихи в работе.
Вот так это всё работает:
Все эти фичеры будут доступны во многих флагманских моделей 2012 года, некоторые вещи есть уже сейчас (диагностика, контроль информации о продуктах в холодильнике и самопрограммирование).
Обновления для «прошивок» будут регулярны, а сама бытовая техника будет умнеть из года в год.
Некоторые могу возразить, что «умные дома» существуют уже не первый год, но мы хотим отметить, что в отличие от сложных и очень дорогих систем, которые были до этого, вся техника LG THINQ будет доступной рядовому пользователю, пойдет в массы и, как мы надеемся, полностью изменит ваше представление о быте.
Что бы вы хотели видеть в новейшей бытовой технике? Каких функций вам не хватает?
Мысли, комментарии, вопросы как всегда приветствуются.
Что такое LG Smart ThinQ
Концепция “умного дома” обсуждается уже несколько лет, и компании LG удалось вплотную приблизиться к реализации этой идеи благодаря инновационной технологии на основе искусственного интеллекта (ИИ), получившей название LG Smart ThinQ или LG ThinQ.
Технология значительно упрощает жизнь владельцев бытовой техники LG, позволяя им делать бытовые домашние дела с большим комфортом и меньшими временными затратами.
Главные преимущества LG Smart ThinQ
При помощи LG ThinQ вы будете получать полные и исчерпывающие рекомендации к использованию, а также сможете проводить диагностику домашней техники и предпринять своевременные шаги при потенциальном возникновении внештатных ситуаций (к примеру, скачков электричества или отключения света. В случае возникновения проблем приложение пришлет вам push-уведомление.
LG ThinQ – одно из приоритетных направлений развития компании, поэтому список техники, поддерживающий технологию, очень широк. В него входят телевизоры, холодильники, стиральные машины, очистители воздуха и кондиционеры, роботы-пылесосы, стайлеры для одежды, климатические комплексы, а также умные колонки.
Получить точную информацию по конкретной модели можно на официальном сайте, где при выборе устройства можно выставить фильтр «Поддерживает Smart ThinQ».
Что можно делать при помощи LG Smart ThinQ?
Для каждого вида бытовой техники предусмотрен широкий выбор действий, которые можно совершать удаленно. Вот самые популярные из них:
При помощи LG ThinQ вы сможете включить или выключить ваш телевизор, управлять настройками его громкости, менять каналы, а также изменять источник сигнала.
Стиральные машины LG
Благодаря Smart ThinQ стало возможно дистанционно запускать процесс стирки, а также выбирать программу. Помимо этого приложение своевременно напомнит о необходимости очистки барабана (как очистить барабан на стиральной машине LG, подробнее можно прочитать здесь.
Приложение Smart ThinQ дает возможность удаленно следить за температурой внутри холодильника, а также при необходимости менять ее, включать функцию быстрой заморозки. К тому же приложение предоставить информацию о состоянии водяного фильтра холодильника.
Всего в один клик в приложении LG Smart ThinQ можно включить или выключить кондиционер, выбрать температурный режим и скорость работы вентилятора или настроить график работы устройства.
LG Smart ThinQ дает возможность включить или выключить пылесос, настроить функцию зонирования, а также передаст информацию об уровне зарядки пылесоса и статуса работы устройства.
Стайлеры для одежды LG
При помощи LG Smart ThinQ можно включить и выключить стайлер для одежды, запрограммировать режим работы устройства, поставить программу на паузу, а также узнать о статусе работы.
Климатические комплексы LG
Помимо стандартного набора опций (включения и выключения, а также настроек режимов работы и скорости вентилятора) из приложения LG Smart ThinQ можно управлять такими настройками климатического комплекса, как включение и выключение ионизатора воздуха, а также получать своевременную информацию о состоянии воздуха в квартире или доме.
С LG Smart ThinQ можно управлять задачами голосом, а также слушать музыку и искать информацию в интернете при помощи голосового помощника (например, “Алисы”).
IFA 2011. «Умные штуки» от LG или Smart ThinQ
LG Smart ThinQ
Smart Manager
Первым в списке экспонатов был холодильник. На его примере описали технологию под названием Smart Manager. В холодильник встроен цветной дисплей с интерфейсом, при помощи которого вы можете вносить в базу данных продукты, указывая окончание их срока годности. И на экране такой продукт начинает мигать или отображается навязчиво, когда подходит окончание его срока годности. Товарищ из LG рассказал как классно можно использовать эту технологию – вот вы купили продукты, принесли в дом и сразу вбили их срок годности в холодильник, чтобы они были съедены не испорченными. Это делается так, в меню выбирается категория, так иконка продукта, забивается его количество, иконка тащится в другую область экрана и указывается срок годности продукта. Вуаля, он в базе! Я сразу представил, как здорово приехать из магазина с 10 пакетами продуктов, сесть на часок перед холодильником и хорошенько вбить их в его базу.
На самом деле у этой функции и правда есть разумные и удобные применения. Можно ведь вбивать срок только скоропортящихся продуктов и это будет полезно. А еще в этой базе вы можете просто хранить все продукты, которые есть в холодильнике, быстро внося их туда без указания срока годности и количества. А потом, когда вы едете в магазин, можно не составлять список, а просто открывать на смартфоне программу, которая подгружает базу продуктов в вашем холодильнике и вы сразу видите, сколько чего есть, а что закончилось и, соответственно, нужно купить. Мне кажется, что вот такой сценарий вполне жизнеспособен. В Smart Manager наверняка будут и другие возможности, что-то вроде рецептов. Рекомендаций по продуктам на завтрак и так далее. Главное эту технологию внедрить, а дальше можно развивать в каком угодно направлении.
Smart Access
Еще одна технология, которая связывает смартфон и бытовую технику. В LG описали несколько сценариев ее применения, например, можно удаленно, с помощью софта на смартфоне, запустить робот-пылесос для уборки в доме, стиральную машину или управлять «микроволновкой». Звучит, конечно, интересно, но в реальности, мне кажется, фишка с пылесосом в России пока едва ли будет востребована. Сами роботы-пылесосы довольно редкое пока явление и пользуется ими очень малое число людей.
А вот сценарии со стиральной машиной и микроволновой печью более реалистичны, можно поставить в печь какую-нибудь «еду» и удаленно включить ее для готовки. Например, когда вы знаете, что через полчаса как раз будете дома. То же самое со стиральной машиной, можно закинуть белье, а режим стирки включить уже с работы, чтобы к вашему приходу белье было постиранным и отжатым.
Smart Diagnosis
По описанию эта система должна помогать пользователю бытовой техники избегать проблем с ней и серьезных поломок. Каким образом? Установленное на телефон приложение начинает пикать-пищать при мелких нарушениях техники эксплуатации прибора. Например, вы оставили открытой дверь стиральной машины или холодильника – на смартфон приходит уведомление и он пищит. Если в технике поломка, то работает система по другой схеме.
У LG, насколько я понял, при неполадке устройства издают определенного типа звуковые сигналы. Так вот, если вы слышите такой сигнал и не знаете, в чем заключается проблема, можно поднести к предмету смартфон с запущенной программой, она запишет тип сигнала и отправит информацию о нем в базу данных. После чего вы получите ответ о типе неполадки и о том, что там вообще сломалось или хочет сломаться. Дальше пользователь волен распоряжаться этими данными по-своему усмотрению, вызывать мастера или брать в руки молоток.
Заключение про «умные штуки»
Также LG демонстрировали и другие системы из этого набора. Smart Adapt для быстрой загрузки свежих данных к разной бытовой технике и инструкций. В качестве примера приводились рецепты разных новых блюд для холодильника. Не знаю, как это будет выглядеть в реальности, но, на мой взгляд, идея интересная. Если будет возможность «залить» в память холодильника много-много рецептов и не искать их каждый раз в сети или в книжках Джейми Оливера.
Система Smart Grid-Ready предназначена для экономного использовании энергии. Так, с ее помощью пользователь может задавать разные режимы работы своей бытовой техники в разное время, чтобы она потребляла меньше энергии, а человек спасал мир. На мой взгляд, это совершенно рекламная «штука», практической пользы от которой не будет, пока весь мир резко не перейдет на такую технологию.
Кроме этой технологии на выставке LG показывала разные новые холодильники с дополнительными дверцами, пылесосы, которые едут за хозяином сами, микроволновые печи нового поколения, шкафы для одежды с автоматическим проветриванием и многое другое. Как и остальные крупные производители, каждый привлекал своими новыми идеями. Я остановился на Smart ThinQ потому что эта идея напрямую связана со смартфонами и планшетами на базе Android и выглядит, в некоторых своих местах, действительно перспективной и полезной.
Встраиваем своё устройство «Умного дома» в экосистему 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