Всем привет! Недавно, я получил в использование робот пылесос Neatsvor x520. Через первые полчаса использования, а также еще получаса знакомства кота с новым жильцом я начал думать о том, что бы такого интересного сделать с пылесосом и решил взаимодействовать с ним с помощью своей самодельной системы умного дома (о ней сегодня мы говорить не будем).

Материалов на русском языке я об этом не нашел, поэтому я решил написать эту статью.

Для своего проекта я использовал Tuya api и консольный инструмент tuya‑cli, и в этой статье я расскажу как получить ключи и как управлять роботом пылесосом или любым другим устройством, что работает с Tuya, прямо из вашей консоли.

Все что указано в статье выполнялось на дистрибутиве Linux Fedora. Туториал предполагает, что вы также используете Linux, а также вы владеете английским языком на базовом уровне.

И так, первое что нам предстоит сделать — зарегистрироваться на сайте Tuya для получения доступа к Api.

  1. Убедитесь, что ваш робот пылесос подключен к приложению Tuya Smart

  2. Зарегистрируйтесь по ссылке на сайте для разработчиков

  3. Далее переходим в «Cloud» и там нажимаем на кнопку Create Cloud Project → для «Industry» выбираем «Smart Home» и PaaS как метод разработки. Остальные поля заполняете по своему усмотрению. Локацию серверов советую выбирать максимально близкую к вам. Следующее окно вы можете пропустить.

  4. Далее, вы будете переадресованы на страницу вашего проекта. Если этого не произошло, заходим в Cloud и в списке выбираем наш проект. Здесь мы получаем Access ID и Access Secret — их мы будем использовать позднее.

  5. Теперь, нам нужно добавить устройство и наш аккаунт Tuya, в котором мы привязали его. Переходим в Service API и нажимаем на «Go to Authorize». Select API — выбираем «Smart Home Basic Service».

  6. Переходим в Devices → Link App Account и нажимаем на кнопку «Add app account». Там нам дадут qr, который нужно просканировать с помощью приложения Tuya Smart. Сканер находится в правом верхнем углу вкладки «профиль». Далее соглашаемся и когда нас спросят выбираем «Automatic link».

Далее, в списке ваших устройств будет доступен ваш пылесос и любое другое устройство, что привязано к вашему tuya аккаунту. Отсюда мы также можем управлять им, а также узнать список команд для последующего использования. Запомните также virtual ID устройства, он нам пригодится в будущем.

Давайте рассмотрим кнопку «Debug Device». При переходе туда мы попадаем на страницу откладки устройства, где мы и сможем управлять им. Здесь вы можете получить некоторую информацию о вашем аккаунте и об устройстве, однако она у нас уже и так есть, поэтому мы сразу же переходим во вкладку «Device Debugging».

В левой части вкладки вы можете вручную выбрать некоторые данные, которые вы хотите передать на ваше устройство (включен ли девайс, режим работы и так далее). Можете потыкать для теста устройства, но мы здесь не для этого. В правой же части, которая называется «Standart Instruction Set» мы получаем полный список значений, которые мы можем использовать в консоли.

Для моей модели пылесоса Neatsvor x520 список выглядит так:

Где mode - режим работы, direction_control - управление как на пульте управления (идет вместе с пылесосом, однако он более отзывчивый, чем при работе с api) и suction - мощность всасывания.
Где mode — режим работы, direction_control — управление как на пульте управления (идет вместе с пылесосом, однако он более отзывчивый, чем при работе с api) и suction — мощность всасывания.

Теперь, давайте подготовим наш консольный клиент.

  1. Вам нужно установить менеджер пакетов npm.

  2. Далее, вводим команду npm i @tuyapi/cli -g

  3. После установки проверяем работу командой tuya-cli.

  4. После успешной установки нам нужно ввести 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» т.е. режим поиска станции зарядки и последующего подключения к ней.

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

Надеюсь, моя статья была кому то полезной, и вы сможете улучшить таким образом свой опыт в работе с умными устройствами.

Если вам интересны другие мои проекты — можете подписаться на мой Телеграм Канал.

Комментарии (2)


  1. alexzzam
    27.08.2024 08:49
    +1

    Надо только иметь в виду, что ключи перестанут работать через полгода. И нужно будет нажать на кнопку "запросить продление лицензии" и вписать текстом, что мол, личный проект, дайте ещё, пожалуйста.


    1. IbragimP
      27.08.2024 08:49

      Не знаю, у меня уже года 3-4 работает написанная на коленке система открывания ворот по распознаванию номеров машин... В качестве непосредственно самой «открывашки» использую с самого начала обычное WiFi реле Tuya, дёргаю его как раз через API туи. Ключ апи как получил в самом начале, так он и не «протухал» ещё за всё это время ни разу.