Голосовий помічник з raspberry pi

51

Хто дивився серіал» локі», той запам’ятав міс хвилину — персонаж штучного інтелекту. Міс хвилина може робити багато чого в серіалі, вона розмовляє, взаємодіє з іншими персонажами і, звичайно ж, збирає і обробляє дані.майстер-саморобник вирішив зробити схожий персонаж і наділити його функціями голосового помічника. Інструменти та матеріали:-3d-принтер;-помаранчева,чорна і біла нитка pla;-петличний мікрофон;-комп’ютерні колонки;-raspberry pi zero w;-зовнішня звукова карта;-адаптер otg;-роз’єм постійного струму;-адаптер постійного струму 5 в;-аудіороз’єм;-клейовий пістолет;-ніж;-маркер білий і чорний;крок перший: проектування корпусас допомогою програми fusion 360 майстер спроектував корпус пристрою. Файли stl можна завантажити ниже.мг minutes body.stl

Крок другий: 3d-друктепер потрібно обробити файл в програмі cura і відправити на друк. Можна надрукувати корпус одним кольором, а потім розфарбувати, або надрукувати корпус різними кольорами.шари розподіляються наступним чином: початковий — помаранчева нитьвторой шар — чорна нитьтретий шар — біла нитьчетвертий шар — чорна нитьдля друку майстер використовував pla і сопло з діаметром 0,6 мм і висотою шару 0,4 мм.на повний друк у цієї моделі пішло приблизно 9 годин.

Після друку необхідно обробити деталі, видалити шари підтримки і напливи. Розфарбувати «обличчя» в потрібну колірну гамму.

Крок третій: raspberry pi zero w + google assistant і аудіопоскольку 3d модель готова, можна приступити до монтажу голосового помічника.у пристрої буде використаний raspberry pi zero w + sdk google assistant.2 роки тому це було б неможливо, тому що sdk google assistant не підтримував raspberry pi zero. Але нещодавно вони випустили нову службу помічника google, яка підтримує всі види обладнання, включаючи raspberry pi zero w.

На жаль, у raspberry pi zero w немає аудіовходу або аудіовиходу.щоб виправити ситуацію майстер використовував звукову карту usb з перехідником мікро-usb-usb. Звукова карта буде приймати аудіо через usb і відправляти його на відповідні периферійні аудіопристрої.для аудіовходу майстер використовує петличний мікрофон, тому що він відмінно впишеться в ніс міс хвилини. Але при цьому необхідно замінити стереороз’єм 3,5 мм, який йде в комплекті з мікрофоном, на інший. А для виведення звуку можна використовувати будь-який звичайний динамік + підсилювач, або готове рішення у вигляді невеликих комп’ютерних колонок з живленням через usb.

Крок четвертий: налаштування динаміка і мікрофона для raspberry pi zero wна сторінці документації служби помічника google є керівництво по обладнанню про те, як налаштувати динаміки і мікрофон.спочатку потрібно встановити на sd-карту ос raspberry pi. Після цього підключаємося по ssh до raspberry pi за допомогою putty.далі.перевіряємо, чи виявляє raspberry pi звукову карту, за допомогою команди.

Показати / приховати текст

Перевіряємо підключення мікрофона і динаміка командою.

Показати / приховати текст

І командою

Показати / приховати текст

Записуємо ідентифікатор карти і ідентифікатор пристрою.отримавши ідентифікатор, потрібно створити новий файл з ім’ям .arecordrc в / home / pi, використовуючи наступну команду

Показати / приховати текст

Вставляємо код в редактор nano

Показати / приховати текст

Замінюємо номер карти і номер пристрою на ідентифікатор. Потім натисніть ctrl + x, щоб вийти, і y, щоб зберегти файл.нарешті, регулюємо гучність за допомогою команди

Показати / приховати текст

Крок п’ятий: тестування звукадля тестування динаміка використовуємо наступну команду:

Показати / приховати текст

Наступна команда для запису аудіо:

Показати / приховати текст

І команда для відтворення аудіо

Показати / приховати текст

Крок шостий: налаштування google assistantщоб використовувати sdk google assistant, потрібно перейти за цим посиланням.потім потрібно створити новий проект і і присвоїти йому ім’я.на наступній сторінці прокручуємо вниз, вибираємо реєстрацію пристрою і налаштовуємо. Як тільки це буде зроблено, завантажуємо облікові дані.переходимо за цим посиланням і включаємо api підтримки google.нарешті, приймаємо умови і все готово.

Крок сьомий: установка sdk google assistantв документації пакети python встановлюються у віртуальному середовищі, але в подальшому це може стати проблемою при запуску скрипта при включенні.майстер використовував наступні команди: оновити ос raspberry pi

Показати / приховати текст

Встановити python 3

Показати / приховати текст

Встановити системні залежності пакета:

Показати / приховати текст

Встановіть sdk google assistant

Показати / приховати текст

Отримання коду авторизації

Показати / приховати текст

Якщо все пройшло успішно, будете відповідь, подібний до наступного:

Показати / приховати текст

Далі клоніруемрепрозітарійвідкриваємо файл (шлях: assistant-sdk-python / google-assistant-sdk / googlesamples / assistant / grpc /) pushtotalk.руудаляем рядок з 456 по 465 і замініть її на

assistant-assist ()

Pushtotalk.py

Запускаємо команду

Показати / приховати текст

Введіть наступну команду, вказавши місце призначення файлу і поставивши ‘&’ перед виходом 0.

sudo-h-u pi python3 / [path to pushtotalk]/pushtotalk.py&

Показати / приховати текст

Щоб переконатися, що є підключення до інтернету перед запуском помічника вводимо цю команду

показати / приховати текствибираємо варіант завантаження, а потім включаємо очікування мережі при завантаженніце дії запустять помічник google під час завантаження зі стабільним підключенням до інтернету.після перезапуску raspberry pi він не завантажиться, поки не буде підключений до мережі wi-fi. Після підключення до мережі raspberry pi завантажується і запускає скрипт pushtotalk.py. Оскільки скрипт pushtotalk.py був змінений, помічник google буде слухати завжди, і не потрібно тригерне слово для його запуску. Крок восьмий: сборкатеперь можна зібрати пристрій. Спочатку встановлює роз’єми. Потім raspberry pi zero w і звукову карту. Встановлює мікрофон. Демонтує динамік з аудіоколонки і встановлює його всередину корпусу голосового помічника.всі деталі кріпляться за допомогою термоклея. Потім збираються дві половинки корпусу.все готово. В майбутньому можна додати батарею в пристрій, щоб зробити його портативним. Джерело (source)