Умная колонка своими руками на ардуино

Добавил пользователь Алексей Ф.
Обновлено: 19.09.2024

В субботу я побывал в Яндексе на конференции Яндекс.Железо. Там представили новый продукт, который порадует многих, кто делает что-то электронное своими руками. Это голосовой интерфейс для самоделок Aliceduino.

Эта штука делает очень простую снаружи (и очень сложную внутри) вещь. Передаёт через UART любому микрокомпьютеру текстовую строку того, что сказал пользователь (после ключевого слова Алиса или Яндекс). Фактически, это кусочек Яндекс.Станции для применения в самоделках.

С помощью неё можно собрать робота на Arduino, который будет управляться голосом. Можно сделать любую систему управления чем-либо с голосовым управлением. Можно встраивать голосовое управление в любое устройство.

Такой штуке будут очень рады как любители, так и кружки робототехники. На заглавной фотографии у меня в руке первый и пока единственный экземпляр Aliceduino. Серийные наборы появятся к новому году, точная цена пока не известна.

Микрофоны специально вынесены, чтобы их и платы можно было разместить в разных частях самоделки. Кстати, микрофоны цифровые (в каждый микрофон встроен АЦП).

Favorite

В закладки

Как я собираю умный дом с Алисой за копейки. Впечатления

У нас периодически выходят статьи на тему сборки умного дома, но лично я заморачиваться с их сложной настройкой через Rapsberry Pi и другие сторонние девайсы не очень хотел.

Давно уже думал над тем, чтобы попробовать собрать нечто подобное, но чтобы не так сильно заморачиваться. Раньше это казалось чем-то недостижимым, футуристичным, дорогим и не очень полезным для квартиры. Но теперь все более, чем реально.

Пока собрал только небольшой фрагмент умного дома, но это только начало. И мне уже нравится результат. Особенно при работе с Алисой от Яндекса.

Зачем вообще брать технику со встроенной Алисой

Знаете вариант получше, говорящий на русском языке? Я — нет. Приятнее всего работать именно с нормально общающейся Алисой, умеющей базовые вещи для управления умным домом.

Она совместима с самыми популярными брендами:

▪️ Elari
▪️ Philips
▪️ Redmond
▪️ SmartThings
▪️ Xiaomi
▪️ Z.Wave
▪️ Rubetek

Думаю, 4 из них вы точно знаете. И все эти девайсы настраиваются прямо в приложении Яндекса, которое и является неким хабом для управления умным домом.

Да, Алиса не обладает огромным функционалом, но что-то всё-таки умеет, чего мне пока хватает. И со временем она все равно научится большему (я в это верю).

Google Assistant? В топку, полноценно не управляет техникой на русском языке. Siri? Для работы с приложением Дом нужно миллион переключателей и переходников, совместимых с HomeKit.

Что в итоге я выбрал


Говорю сразу, это не реклама, а чисто мне мнение. Почитав о Xiaomi у нас же на сайте, я решил, что с их техникой слишком много заморочек, которыми я вовсе не горю желанием заниматься.

Хочется простоты — вставил, подключил, работает. Без костылей и прописывания тонн строчек кода для грамотной работы устройств. Но это не значит, что я вовсе отказался от китайцев, у них, наверное, самый широкий выбор умных девайсов. Так что отложил их просто на потом.

Почему не Яндекс? Алиса же!

Во-первых, у него пока особо нет умной техники. У компании всего три умных устройства:

▪️ Смарт-лампочка: 1190 руб.
▪️ Смарт-розетка: 1190 руб.
▪️ Пульт для управления умным домом: 1390 руб.

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

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

В общем, у кого-то техника Яндекса работает, а у кого-то нет. Отзывы слишком смешанные, и рисковать я не стал.



Умный цоколь

Поэтому пока остановился на российской Redmond, у которой относительно недорогая техника. А выбор не такой мелкий, как может показаться: от умных розеток и лампочек до смарт-чайников и кофеварок.

Собственно, я и решил строить себе умный дом с малого. Купил для старта 2 цоколя, 2 розетки, кофеварку и чайник. Ими можно управлять через приложение Ready for Sky от Redmond, в нем возможна более тонкая настройка, нежели через Алису.

К примеру, можно установить температуру нагревания воды в чайнике, изменить его подсветку по RGB-палитре и так далее.

Но это мелочи, которые лично мне не очень-то и нужны.

Конкретно, что я взял себе:

▪️ Умный цоколь REDMOND SkySocket 202S: 599 руб.
▪️ Умная розетка REDMOND SkyPort 103S: 599 руб.
▪️ Умный чайник-светильник REDMOND SkyKettle G213S: 3495 руб.
▪️ Умная кофеварка REDMOND SkyCoffee M1509S: 4990 руб.

За всё вышло 10 881 руб. Плюс взял Яндекс.Станцию для голосового управления из любой комнаты, чтобы умными гаджетами могла пользоваться вся семья. Это ещё дополнительно 9990 руб.

Итого: 20 871 руб.

Можно взять вариант попроще со встроенной Алисой, это даже разумнее для больших квартир, где одной колонки не хватит.

Например, Irbis A за 3000 руб. — штуки три на квартиру будет достаточно. Хоть эта колонка звучит объективно плохо, зато ее громкости и мощных микрофонов достаточно для общения с голосовым помощником.

Как настраивал


Здесь все оказалось несложно. Для связи гаджетов между собой хватает приложения Ready for Sky, но для нормальной интеграции с головным управлением через Алису этого мало.

2. Переходим во вкладку Устройства в дополнительном меню, скрытом за иконкой с тремя палочками.

3. Открываем Умный дом —> Добавить устройство —> Ready for Sky.

4. Нажимаем Oбьединить аккаунты, вас перекинет в приложение Ready for Sky и предложит соединить учетные записи Яндекса и Redmond.

После этого, казалось бы, Алиса должна заработать с умной техникой. Но как бы не так.



Идеальная связка для дистанционного управления техникой Redmond

Для управления всеми гаджетами требуется создать мост. И здесь есть 2 варианта: либо докупить пульт управления от Redmond, либо взять в руки смартфон на Android.

Я воспользовался вторым вариантом, поскольку дома есть HTC One M8. Он и выступил в роли моста, соединяющего Алису и технику. Связываются устройства между собой и цифровым ассистентом через приложение R4S Gateway.

Настройка несложная — включил Bluetooth, неспаренные гаджеты нашлись, нажал Подключить и зажал на каждом гаджете кнопку включения на 3-5 секунд. Через пару мгновений все сконнекченно.

Важно: нельзя использовать приложения Ready for Sky и R4S Gateway на одном Android-смартфоне. Это может привести к сбоям и ухудшению работы устройств. Но никто не запрещал устанавливать Ready for Sky на iPhone.

Либо если у вас нет Android-смартфона, можно поставить любой популярный эмулятор Android на Mac или PC и управлять с ноутбука техникой по Bluetooth.

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

Правда, тонко управлять им ассистент ещё не умеет. Пока доступно только включить-выключить. Так что свет/розетки/чайник/кофеварка работают только в одном предварительно настроенном режиме.

1. В приложении Яндекса создаете группу Коридор (или какую вам требуется).

2. Переименовываете цоколь в Коридор (или где у вас находится устройство).

Что в планах по развитию умного дома


Сейчас думаю взять умный пылесос Xiaomi Mi Robot Vacuum Cleaner и добавить побольше розеток для управления имеющейся техникой в доме.

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

Плюс хотелось бы докупить смарт-замки Xiaomi Aquara Smart Door Lock, но для них потребуется создать отдельную защищённую сеть, чтобы никто не смог просто так войти домой. Ну и бонусом — умные жалюзи.

Об этом я расскажу позднее, когда реализую свои идеи.

Общие впечатления

Да, это не приложение Дом от Apple. Гаджеты не поддерживают HomeKit и не управляются с Apple Watch. Но при наличии колонок с Алисой мне вполне хватает и такого решения.

Кому интересно больше про умный дом:

Favorite

В закладки

Если у вас есть тяга к технологиям (или ребёнок с такой тягой), рассмотрите Arduino. Эта штука озадачит вас и ребёнка на много часов, а на выходе получатся удивительные проекты.

10 интересных вещей, которые можно сделать на Arduino

Что за Arduino

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

К Arduino есть много плат расширения и датчиков. Сферы применения платы почти безграничны: автоматизация, системы безопасности, умный дом, музыка, робототехника и многое другое. Вот что можно делать на этой умной итальянской плате и на её российских и зарубежных клонах.

1. Робот-бармен с Bluetooth-управлением

Сложность: 4/5.

Время: 5/5.

Робот-бармен с Bluetooth-управлением

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

Главная сложность при изготовлении — инженерная. Нужно точно прикрутить все детали и соединить их между собой, чтобы ёмкость оказывалась точно под нужными бутылками.

2. Светящийся куб на 512 светодиодов

Сложность: 3/5.

Время: 3/5.

Светящийся куб на 512 светодиодов

Красивая штука, которая может светиться в такт музыке как трёхмерный эквалайзер и показывать 3D-анимацию. А ещё это может работать как необычный ночник.

3. Взломщик кодовых замков

Сложность: 5/5.

Время: 4/5.

10 интересных вещей, которые можно сделать на Arduino

Этот проект разработал хакер Сэми Камкар, и мы приводим его только в демонстрационных целях. Для взлома, кроме платы Arduino, автор взял серво- и шаговый двигатели для перебора комбинаций и соединил всё на самодельном шасси из алюминия. В основе алгоритма — простой перебор всех комбинаций, но робот это делает быстрее человека.

4. Nod Bang — киваем головой и делаем бит

Сложность: 2/5.

Время: 3/5.

Nod Bang — киваем головой и делаем бит

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

В наушники он встроил акселерометр, кнопки отвечают за выбор звука, а Arduino — за воспроизведение звука на компьютере через MIDI-интерфейс. Чтобы всё выглядело эффектнее, у кнопок есть подсветка, и они тоже делают бит.

5. Поющее растение

Сложность: 2/5.

Время: 2/5.

Поющее растение

По сути это терменвокс, который сделали в виде растения. Все остальные принципы работы остались теми же: звук возникает при движении рук, и разные движения генерируют разную мелодию.

Плата регистрирует изменение амплитуды сигнала, для чего автор использует самодельный сенсорный детектор для анализа прикосновений к цветку. Кроме этого понадобилась плата расширения Gameduino и сам цветок.

6. Замок, который открывается на секретный стук

Сложность: 3/5.

Время: 2/5.

Замок, который открывается на секретный стук

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

Чтобы установить новый стук на открытие, нужно зажать кнопку на ручке и постучать по двери новым способом. Пьезосенсор распознаёт вибрации и записывает их в память платы.

7. Горшок для цветов с автополивом

Сложность: 4/5.

Время: 3/5.

10 интересных вещей, которые можно сделать на Arduino

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

Основные характеристики чудо-горшка:

  • встроенный резервуар для воды;
  • датчик контроля уровня влажности почвы;
  • насос для подачи воды;
  • датчик уровня воды в резервуаре;
  • светодиод, информирующий о недостатке воды в резервуаре.

8. Драм-машина

Сложность: 1/5.

Время: 2/5.

Простая драм-машина на Arduino. Проект интересен тем, что это не обычный перебор записанных семплов, а настоящая генерация звука с помощью встроенного железа. Ещё здесь есть анализатор спектра звука: через видеовыход можно посмотреть на диаграммы и частотные характеристики.

Математическая основа этого устройства — разложение в ряд Фурье, которое решается подключением стандартной библиотеки.

9. Шагающий робот

Сложность: 2/5.

Время: 1/5.

Шагающий робот

Простой в изготовлении четырёхногий робот, который шагает и самостоятельно преодолевает препятствия в сантиметр высотой.

Чтобы его сделать, вам понадобятся сервомоторы для ног, немного проволоки и любой пластик, из которого делается шасси. Для питания — аккумулятор любой модели, который крепится на спине робота.

10. Робот-пылесос

Сложность: 4/5.

Время: 5/5.

Робот-пылесос

Дмитрий Иванов из Сочи собрал настоящий робот-пылесос, который делает всё то же самое, что и промышленные устройства, только с возможностью тонкой настройки под себя и свою квартиру.

Основные детали — плата Arduino, 6 инфракрасных датчиков, турбина с двигателем и щётками и аккумулятор. Ещё у робота есть датчики столкновения, которые помогают объезжать препятствия, и контроллер аккумулятора, который следит за уровнем батарей и предупреждает о том, что пылесос надо зарядить.

Arduino-umniy-dom

Электробезопасность

Что такое Arduino

Arduino – открытая небольшая электронная плата с простым в использовании процессором и программным обеспечением. Платформа считывает входящую информацию, затем по заранее введенному алгоритму переформировывать команды к различным устройствам, работающим от электричества. Для этого используется язык программирования Arduino и ПО Arduino (IDE) на базе проекта Processing.

Открытый код платы позволяет использовать составляющие различных производителей. Для конструирования системы Умный дом на Ардуино легко подобрать устройства под запросы пользователя. Людям с минимальными знаниями в программировании и электрике стоит обратить внимание на эту систему.

Arduino-bazoviy-nabor

Преимущества системы Arduino

  1. Низкая стоимость по отношению к другим вариантам плат: готовые модули стоят 10 долларов.
  2. Межплатформенность ПО позволяет работать с операционными системами Windows, MacOSX, Linux.
  3. Интегрированная среда разработки IDE подходит для начинающих программистов, которые решили сделать Умный дом на Ардуино своими руками.
  4. Возможность создать небольшой проект за считаные минуты с помощью стандартных библиотек.
  5. Удобная в плане конструирования и соединения.

Принцип работы системы

Питание Ардуино

Чтобы при подключении к питанию плата не сгорела и работала без глюков, необходимо уделить отдельное внимание источникам питания и тому, как их подключать.

Arduino-podkluchenie

На плате Ардуино возможно подключение питания 3 способами:

Arduino-podkluchenie-pitanie

  1. Через внешний адаптер в пин Vin (и GND), который ведет ток через бортовой стабилизатор напряжения Arduino. Рекомендуемое напряжение – 7–12 В. Данный тип подключения подходит для Ардуино проектов с не очень большой нагрузкой.
  2. С помощью порта USB, что удобно при тестировании или программировании через ПК.
  3. Прямая подача на пин 5V. Этот способ обходит стабилизатор входного напряжения, поэтому может вывести плату из строя. Однако для питания больших Ардуино проектов Умный дом – это наиболее подходящий вариант подключения.

Arduino-nano-pitanie

Интересно: чтобы не превысить максимальное напряжение в 5,5 В, можно воспользоваться самым популярным решением – взять блок питания зарядки смартфона (диапазон от 300 мА до 3 А потянет практически любой проект).

5V – с этого пина подается питание внешним устройствам.

3.3V – на этот пин через внутренний стабилизатор подается напряжение 3.3 В.

GND – вывод на ноль.

VIN – пин для подачи внешнего напряжения.

IREF – пин для передачи информации о напряжении на внешние приборы.

Какие решения предлагает Arduino

Датчики и устройства, совместимые с Ардуино, выпускают многие производители, поэтому ассортимент комплектующих для системы Умный дом на Arduino внушительный:

  • Сенсоры для отслеживания температуры, освещенности в разное время суток, влажности, осадков и атмосферного давления.
  • Сенсоры реагирования на движение.
  • Аварийные датчики.
  • Другие устройства и пульты.

В набор Arduino Start (у большинства производителей – StarterKit) включена часть индикаторов и датчиков.

Для исполнения команд, направляемых системой Умный дом на базе Arduino, требуются:

  • реле и переключатели;
  • вентили;
  • электромоторы;
  • 3-ходовые клапаны с сервоприводом;
  • диммеры.

Примечание: для освещения в системе Умный дом своими руками на базе Arduino используются светодиоды, так как лампы накаливания при подключении через реле сразу горят.

Виды плат для сборки умного дома

Платы для создания системы Умный дом на Ардуино своими руками с нуля не любят компактность – все задачи лучше разнести по различным блокам. А вот много памяти для ПО и хранения информации не нужно. Чаще всего при самостоятельной сборке используются такие виды плат:

Arduino Leonardo и Micro

Плата Arduino Leonardo довольно мощная по сравнению с другими. Она популярна при создании игровых устройств, определяет мышь, клавиатуру и игровые джойстики.

  • чипсет ATMega32u4 (8 bit, 16 MHz);
  • цифровые порты – 20, с поддержкой ШИМ – 7 из них;
  • аналоговые порты – 12;
  • флеш-память – 32 КВ;
  • быстрая Sram для хранения программных данных – 2,5 КВ;
  • медленная Eeprom, где хранится информация – 1 КВ.

Эту модификацию можно нагружать множеством датчиков благодаря наличию портов.

Arduino Micro – мини-аналог платформы Leonardo. Различие в том, что порт USB заменен на мини-USB и отсутствует питание от 12 В.

Примечание: модель Leonardo Esplora заточена исключительно под игры, поэтому для Умного дома не подходит.

Arduino 101, Arduino Zero и Arduino MKR1000

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

Количество портов для подключения датчиков примерно как у Leonardo, а остальные параметры мощней.

У Arduino 101 есть дополнительные чипсеты и порт USB.

  • процессор Intel Curie (32 bit, 32 MHz);
  • память flash – 196 КВ;
  • Sram: 24 KB;
  • Eeprom: нет;
  • Bluetooth Low Energy для подключения готовых решений.

Параметры аналогичной Arduino Zero:

  • процессор: SAM-D21 (32 bit, 48 MHz);
  • flash-накопитель: 256 KB;
  • Sram: 32 KB;
  • Eeprom: нет;
  • встроенный отладчик EDBG для поиска ошибок программирования.

Arduino MKR1000 – мощная платформа-аналог Zero. Особенности:

  • чип Wi-Fi с протоколом 802.11 b/g/n;
  • поддержка алгоритма SHA–256 для защиты передачи данных.

Платы дополнения (шилды)

шилды

Для расширения вспомогательного функционала используются дополнительные платы – шилды. Ниже приведен список самых интересных:

  • LCD Shield определяет метеорологические показатели в помещениях: влажность, скорость ветра, температуру.
  • Motor Shield обеспечивает управление скоростью и оборотами моторов. Есть модели с поддержкой нескольких приводов.
  • Data Logging Shield предназначена для записи и хранения информации до 32 Gb.
  • Relay Shield самая востребованная в системах Smart Homе, рассчитана на обслуживание приборов мощностью 1 КВт.
  • Ethernet Shield от Ардуино обеспечивает независимость Умного дома от ПК, настраивает интернет-связь.
  • Wi-fi Shield нужен для передачи шифрованных данных между Arduino и устройствами.
  • Energy Shield позволяет разнообразить источники питания для подключения проекта.
  • GPRS Shield используется для связи Умного дома с телефоном владельца.

Составление проекта Arduino

При создании системы Умный дом на Ардуино своими руками с нуля проект должен включать такие функции (пример):

  • отслеживание колебаний температуры на улице и внутри здания;
  • функция открытия и закрытия окон;
  • изменения погоды;
  • реагирование датчиков слежения при активной сигнализации.

Мониторинг работы системы проверяется через телефон и веб-браузер.

Компоненты для системы Умный дом

Стоимость элементов проекта составляет примерно 90–100 долларов:

Какие датчики и контролеры можно подключать и как они работают

Микроконтроллер с помощью ПО обрабатывает данные с датчиков и управляет устройствами. Их подключают через шилды:

  • Сенсоры контроля изменений в окружающей среде.
  • Сенсоры пространственной ориентации объекта.
  • Индикаторы движения объектов.
  • Датчики контроля аварийных ситуаций.

Подключение исполнительных и сенсорных устройств

ustanovka-umnogo-doma

Разработка программного кода

Установка клиентского приложения на смартфон (для ОС Android)

Для отслеживания и управления Умным домом со смартфона нужно:

  • загрузить файл SmartHome.apk;
  • разрешить установку софта на телефон;
  • активировать и настроить приложение.

Работа с роутером

Для настроек маршрутизатора:

  • зайти в настройки устройства;
  • прописать IP адрес Arduino;
  • указать переход на чипсет Адруино по порту 80.

На чем лучше написать десктопное приложение под устройство на Arduino

В Arduino стоят МК AVR, поэтому без проблем можно писать на С (без плюсов) в AVRStudio, CodeVisionAVR, AtmelStudio. Для загрузки полученного кода в МК потребуется внешний программатор, для него почти на всех платах есть разъем ISP (6pin).

Также нужно учитывать, что язык в Arduino IDE понимает классы и формально основан на С/С++. Искать что-то еще другое не имеет смысла.

Если нужно соединить Arduino с ПК, то софт для компьютера можно написать на любом удобном языке программирования. Для мобильных гаджетов существует масса приложений.

Дистанционное управление умным домом

Открыть платформе доступ в интернет можно через:

  • Wi-Fi-адаптер;
  • Wi-Fi роутер;
  • Bluetooth.

Для управления с телефона пригодятся приложения:

  • Blynk;
  • Virtuino;
  • Bluino Loader – Arduino IDE;
  • Arduino Bluetooth Control;
  • RemoteXY: Arduino Control;
  • Bluetooth Controller 8 Lamp;
  • BT Voice Control for Arduino;
  • IoT Wi-Fi контроллер.

Для управления платой Умный дом данные системы размещаются на самостоятельно созданном веб-сервере.

sistema-umniy-dom

На платформу добавляется разъем RJ-45 на Arduino Ethernet Shield.

Плата с помощью кабелей подключается к USB-разъему и роутеру. Потом в среде разработки IDE прописать код для создания сервера и передачи информации на сервер.

Подробнее о том, что представляет собой система умный дом, читайте здесь.

Читайте также: