Всем привет! Недавно, я получил в использование робот пылесос Neatsvor x520. Через первые полчаса использования, а также еще получаса знакомства кота с новым жильцом я начал думать о том, что бы такого интересного сделать с пылесосом и решил взаимодействовать с ним с помощью своей самодельной системы умного дома (о ней сегодня мы говорить не будем).
Материалов на русском языке я об этом не нашел, поэтому я решил написать эту статью.
Для своего проекта я использовал Tuya api и консольный инструмент tuya‑cli, и в этой статье я расскажу как получить ключи и как управлять роботом пылесосом или любым другим устройством, что работает с Tuya, прямо из вашей консоли.
Все что указано в статье выполнялось на дистрибутиве Linux Fedora. Туториал предполагает, что вы также используете Linux, а также вы владеете английским языком на базовом уровне.
И так, первое что нам предстоит сделать — зарегистрироваться на сайте Tuya для получения доступа к Api.
Убедитесь, что ваш робот пылесос подключен к приложению Tuya Smart
Зарегистрируйтесь по ссылке на сайте для разработчиков
Далее переходим в «Cloud» и там нажимаем на кнопку Create Cloud Project → для «Industry» выбираем «Smart Home» и PaaS как метод разработки. Остальные поля заполняете по своему усмотрению. Локацию серверов советую выбирать максимально близкую к вам. Следующее окно вы можете пропустить.
Далее, вы будете переадресованы на страницу вашего проекта. Если этого не произошло, заходим в Cloud и в списке выбираем наш проект. Здесь мы получаем Access ID и Access Secret — их мы будем использовать позднее.
Теперь, нам нужно добавить устройство и наш аккаунт Tuya, в котором мы привязали его. Переходим в Service API и нажимаем на «Go to Authorize». Select API — выбираем «Smart Home Basic Service».
Переходим в Devices → Link App Account и нажимаем на кнопку «Add app account». Там нам дадут qr, который нужно просканировать с помощью приложения Tuya Smart. Сканер находится в правом верхнем углу вкладки «профиль». Далее соглашаемся и когда нас спросят выбираем «Automatic link».
Далее, в списке ваших устройств будет доступен ваш пылесос и любое другое устройство, что привязано к вашему tuya аккаунту. Отсюда мы также можем управлять им, а также узнать список команд для последующего использования. Запомните также virtual ID устройства, он нам пригодится в будущем.
Давайте рассмотрим кнопку «Debug Device». При переходе туда мы попадаем на страницу откладки устройства, где мы и сможем управлять им. Здесь вы можете получить некоторую информацию о вашем аккаунте и об устройстве, однако она у нас уже и так есть, поэтому мы сразу же переходим во вкладку «Device Debugging».
В левой части вкладки вы можете вручную выбрать некоторые данные, которые вы хотите передать на ваше устройство (включен ли девайс, режим работы и так далее). Можете потыкать для теста устройства, но мы здесь не для этого. В правой же части, которая называется «Standart Instruction Set» мы получаем полный список значений, которые мы можем использовать в консоли.
Для моей модели пылесоса Neatsvor x520 список выглядит так:
Теперь, давайте подготовим наш консольный клиент.
Вам нужно установить менеджер пакетов npm.
Далее, вводим команду
npm i @tuyapi/cli -g
После установки проверяем работу командой
tuya-cli
.После успешной установки нам нужно ввести
tuya-cli wizard
, а далее ввести запрошенные данные, что мы подготовили ранее. При правильно заполнении мы должны получить данные устройства, такие как name, id и key.
У нас все готово для того, чтобы начать управлять нашим устройством. Для того, чтобы запустить робот пылесос в моем случае, мне необходимо ввести:
tuya-cli set --id 'id устройства' --key 'ключ устройства' --dps 3 --set smart
Где ‑dps — номер инструкции, в моем случае 'mode' это третья инструкция, поэтому 3. ‑set же, устанавливает значение для инструкции, в моем случае — smart (умная уборка). Рекомендую key устройства писать всегда в кавычках, ведь в нем могут быть спецсимволы, что могут помешать правильному исполнению команды в консоли.
При успешной установке значения мы получим в консоли вывод «Set succeed» и выполнение команды закончиться, а ваш пылесос начнет уборку.
Для того, чтобы отправить его на зарядку я ввожу команду:
tuya-cli set --id 'id устройства' --key 'ключ устройства' --dps 3 --set chargego
Где по аналогии с прошлой командой мы присваиваем «mode» значение «chargego» т.е. режим поиска станции зарядки и последующего подключения к ней.
В зависимости от устройства, что вы используете значения и их количество будут меняться, однако по принципу, указанному выше, вы можете управлять вашим умным помощником как вам угодно.
Надеюсь, моя статья была кому то полезной, и вы сможете улучшить таким образом свой опыт в работе с умными устройствами.
Если вам интересны другие мои проекты — можете подписаться на мой Телеграм Канал.
alexzzam
Надо только иметь в виду, что ключи перестанут работать через полгода. И нужно будет нажать на кнопку "запросить продление лицензии" и вписать текстом, что мол, личный проект, дайте ещё, пожалуйста.
IbragimP
Не знаю, у меня уже года 3-4 работает написанная на коленке система открывания ворот по распознаванию номеров машин... В качестве непосредственно самой «открывашки» использую с самого начала обычное WiFi реле Tuya, дёргаю его как раз через API туи. Ключ апи как получил в самом начале, так он и не «протухал» ещё за всё это время ни разу.