- Новый подход к устройствам домашней автоматизации с использованием Chirp
- Воспроизведение Chirp Audio с помощью Google Assistant
- Подготовка Arduino Nano 33
Недавно я был заинтригован всеми новыми продуктами домашней автоматизации на рынке, и поэтому я купил Google Home Mini и несколько других интеллектуальных устройств для управления освещением, вентиляторами, кондиционером и т. Д. Хотя это действительно работало, и всем было весело пользоваться, я немного беспокоился о том, что все эти беспроводные соединения происходят вокруг меня. Только в моей спальне было 5 умных устройств, включая мой ноутбук и телефон, в общей сложности вокруг меня будет 7 беспроводных устройств, которые всегда будут подключены к моему маршрутизатору. Я волновался, что все эти сигналы Wi-Fi могут быть вредными для нашего здоровья, и эта исследовательская статья на Sciencedirect добавила доказательства в мои мысли. Именно тогда я начал думать об альтернативном решении для беспроводной домашней автоматизации, для работы которого не требуется Wi-Fi / Bluetooth.
Новый подход к устройствам домашней автоматизации с использованием Chirp
Ранее мы создали проект домашней автоматизации с дистанционным управлением, который может работать без Wi-Fi или Bluetooth, но это уже не круто, и я хотел управлять устройствами с помощью голоса. Я искал способ, чтобы Google Home mini мог напрямую связываться с интеллектуальными устройствами, поэтому в основном мне нужен метод беспроводной связи Machine to Machine без использования Wi-Fi или BLE.
Именно тогда я вспомнил интервью с Дэном Джонсом, техническим директором Chirp, в котором он представил Chirp как «Chirp - это способ передачи информации с помощью звуковых волн. В отличие от Wi-Fi или Bluetooth, которые используют радиочастоты, Chirp кодирует данные в тонах, которые можно воспроизводить (передавать) с помощью любого компьютерного динамика и получать через любой компьютерный микрофон без необходимости наличия какого-либо дополнительного оборудования, такого как RF-чипы. Это позволяет использовать Chirp на любом потребительском устройстве, в котором есть динамик и микрофон, например на мобильных телефонах, ноутбуках, системах громкой связи и т. Д., И может передавать информацию даже через поток YouTube или телетрансляцию ». Это означает, что мы можем использовать наш Google Home mini для прямого разговора (с помощью chirp) с нашим интеллектуальным устройством.Все, что нам нужно, - это микрофон и процессор внутри этих интеллектуальных устройств, чтобы декодировать звуковые данные щебета и выполнять необходимые действия. Chirp также недавно объявил об интеграции передачи данных поверх звука для Arduino, это означает, что мы сможем использовать новую сенсорную плату Arduino nano 33 BLE для запуска Chirp SDK для нашего проекта.
Итак, в этом проекте мы создадим устройство акустической домашней автоматизации, с помощью которого мы сможем управлять этим интеллектуальным устройством без использования каких-либо беспроводных соединений, таких как Wi-Fi или Bluetooth. Мы будем использовать Actions для Google и Dialogflow, чтобы создать тестовое приложение для нашего Google Assistant, чтобы он воспроизводил закодированный звук (Chirp). Затем этот звук будет записан сенсорной платой Arduino nano BLE, на которой запущена программа Chirp Arduino, на основе сообщения, закодированного в данных, которые плата Arduino может выполнять любое действие, например, переключение нагрузки переменного тока, управляющее светодиодом RGB, и т. Д. Это может звучать как много, но это относительно просто, а подробные инструкции приведены ниже. Итак, приступим.
Воспроизведение Chirp Audio с помощью Google Assistant
Самый простой способ создать домашнюю автоматизацию с голосовым управлением - использовать IFTTT с Google Assistant для домашней автоматизации. Но на момент написания этой статьи у Chrip не было апплета на IFTTT, поэтому мы будем использовать собственные действия для платформы Google. Есть большая вероятность, что Chirp предоставил собственный апплет в IFTTT в то время, когда вы читаете эту статью, так что обязательно проверьте это. Если нет, давайте приступим к действиям для Google, чтобы создать приложение Google Assistant.
Шаг 1: Откройте консоль Dialogflow. Возможно, вам придется зарегистрироваться, если вы еще этого не сделали. Затем нажмите «Создать нового агента», как показано ниже.
Шаг 2: Дайте вашему новому агенту имя и нажмите «Создать». Я назвал своего агента «Circuitdgest_Automation»
Шаг 3: Теперь вы попадете в раздел намерений. Здесь вы тренируете своего нового агента для различных целей. В нашем случае мы напишем два намерения: одно - включить свет, а другое - выключить свет. Вы можете написать любое количество намерений на основе приложений и команд, которые должен понимать ваш агент. По умолчанию у вас будет приветственное намерение, но давайте создадим новое намерение, чтобы включить свет, нажав «Создать намерение», и я назову это намерение «Включены».
На новой странице нажмите «Добавить обучающие фразы» и введите команду, которую должен понять ваш помощник в этом случае: «Включите свет». Вы можете написать любое количество обучающих фраз, которые передают значение одного и того же намерения.
Шаг 4: Теперь прокрутите вниз и нажмите «Добавить ответ». Здесь мы говорим помощнику, как ответить, если сработало это конкретное намерение. По умолчанию вы можете ввести здесь текстовый ответ, но нам нужен звук, чтобы воспроизводить наш помощник, поэтому нажмите на символ «+» рядом с вкладкой «По умолчанию» и выберите Google Ассистент, а затем часы «Добавить ответы» и выберите «Простые ответы» ». Внутри текстового поля простого ответа введите в этом коде
Это простой код SSML для воспроизведения звука с URL-адреса и последующего произнесения «Включен свет». Это аудио должно быть закодированным аудио из Chirp и должно быть загружено на jovo.tech.
Получение закодированного звука из chirp:
Этот кодированный звук можно получить из приложения Chrip для Android. Установите приложение, введите сообщение, которое нужно закодировать, и нажмите кнопку «Отправить», чтобы прослушать закодированный звук.
Здесь я набрал «Свет включен». Точно так же вы можете ввести любое сообщение и нажать кнопку «Отправить», чтобы проверить закодированный звук. Затем мы можем сохранить этот аудиофайл (формат mp3) с помощью любого диктофона. Я записал два таких аудиофайла с закодированными сообщениями «Свет включен» и «Свет выключен». Вы можете скачать их отсюда, если хотите сэкономить время. Когда вы будете готовы с аудиофайлами, перейдите в аудио конвертер jovo tech, чтобы загрузить свои mp3-файлы и получить ссылку на него.
Обратите внимание, что это инструмент для тестирования, и ваши файлы будут доступны только в течение 24 часов. Если вам нужно, чтобы он работал в течение длительного времени, вы должны использовать свой собственный веб-сервер, такой как Google fire-base, например, этот пример интерфейса Google Assistant для firebase. Теперь, когда у вас есть ссылка, ваш ответ в диалоговом окне должен выглядеть примерно так
Убедитесь, что вы нажали «Сохранить», чтобы сохранить это намерение.
Шаг 5: Аналогичным образом создайте еще одно новое намерение выключить свет. Снова введите свою тренировочную фразу, а также свой ответ. На этот раз вставьте ссылку на другой аудиофайл и попросите его сказать «Свет выключен», как показано ниже.
Снова убедитесь, что вы сохранили и это.
Шаг 6: Теперь с левой стороны щелкните вкладку интеграции и выберите Google Ассистент. Это поможет нам протестировать приложение с помощью Google Assistant. Выберите приложение Google Assistant и нажмите «ТЕСТ».
Шаг 7: Это займет некоторое время, после чего вы увидите тестовый экран, как показано ниже. В левом углу вы можете увидеть текстовое поле, где вы можете ввести свои тестовые команды и посмотреть, как приложение реагирует. Вы также можете найти некоторые приложения для отладки в левой части экрана.
Когда вы набираете «включить лампы для чтения», он должен воспроизводить звуковой сигнал и говорить, что свет включен, аналогично тому, как это должно происходить в случае «Выключить лампы для чтения». Как только он заработает здесь, вы можете попробовать его на любом устройстве Google Assistant, таком как ваш телефон или Google Home Mini, подключенное к вашему Gmail ID. Просто скажите поговорите с моим тестовым приложением и начните управлять устройством.
Подготовка Arduino Nano 33
Что касается аппаратного обеспечения, то все стало довольно просто благодаря плате Arduino Nano 33 BLE Sense. Поскольку на плате есть встроенный микрофон и библиотеки щебета, готовые к развертыванию прямо из вашей Arduino IDE. Если вы новичок в этой плате, рекомендуется прочитать статью «Начало работы с Arduino Nano 33 BLE», чтобы понять