자신만의 Google AIY를 개발하는 방법

Google의 음성 보조원은 Amazon이 ALEXA API를 출시했을뿐만 아니라 Amaz Cloud 코드를 Raspberry PI 2에 포팅 한 것뿐만 아니라 Amazon API를 출시했을 때입니다. 다른 사람들이 다른 사람들이 만드는 사람의 왕국에 빠르게 뛰어 올리기 전에 시간이 지났습니다. Google은 스타일로 만들었습니다.

Raspberry PI 3의 Google Assistant API는 Magpi Magazine의 2017 년 5 월 문제로 무료 세트를 제공하기로 결정했을 때 오랜 시간 동안 사용할 수 있음을 이해합니다. 불행히도 세계는 해커뿐만 아니라 잡지의 사본 수는 제한적입니다.

이 글을 쓰는 것은 골판지 상자와 이야기하고자하는 모든 사람들을 위해 AIY 세트의 DIY 버전을 디자인합니다. 나는 자유로운 키트를 더 잘 보았고, 그것을 떼어 낸다, 그것을 잡아서 DIY 마술로 교체하십시오. 더 편리하게 만들려면, 나는 당신이 3D 인쇄 할 수있는 인클로저를 kit에 3D로 인쇄 할 수 있도록 도와줍니다. 시작하자.

눈물

영국에서 내 친구 [shabaz]에 외침 된 것은 Magpi 사본을 보내주었습니다. “Google AIY Jobs Voice Kit”(키트로 이해함)는 많은 PCB와 많은 다른 것들을 포함합니다. 사운드 카드 – 온 -식이 요법처럼 보이는 음성 모자는 매우 제한된 구성 요소 수 있습니다. 나는 각 섹션을 세부적으로 똑같이 똑같은 것에 대한 KICAD 회로도를 그릴 것입니다.

서보

왼쪽에서 시작하여 ‘Servos’라는 6 세트의 3 핀 헤더가 있습니다. Servo Manage는 Raspberry PI 3의 온보드 PWM 모듈을 활용할 수 있습니다. 각 세트에는 GPIO PIN, 5V 및 GND 연결이 있습니다. GPIO PIN은 220ohm의 현재 제한 저항 (R1-R6 라벨이 붙은 R1-R6)이 오히려 Raspberry PI 3의 헤더에 직접 연결되지 않습니다.

전원 공급 장치

이 중 남쪽은 가젯이 Q5뿐만 아니라 추정되는 Q6이 전원 공급 회로의 일부입니다. 나가 잘못 되었다면 나를 바로 잡아 내 추정이 있습니다. 작업은 간단합니다. Q5는 입력 전압이 USB 포트에서 5V보다 높으면 켜집니다. 간단한 비교기는 참조 용으로 LM393을 사용하고 있습니다.

편집 : [RAIVSR]은 이것이 Raspberry Pi ‘이상적인 다이오드와 동등한 것일 수 있다고 설명했습니다.

통신 인터페이스

‘서보’헤더의 북쪽은 Raspberry PI 3 헤더에 직접 링크하는 I2C라고 표시된 J15입니다. 즉, 이것들은 5V 풀업이있는 것과 관련되어서는 안되는 것을 의미합니다. 그들은 이사회에서 활용되지 않지만 나중에 더 많은 것을 논의 할 것입니다. 바로 옆에는 2 핀 UART 헤더뿐만 아니라 SPI입니다. 다시 한번 이들 링크를 기본 헤더에 직접뿐만 아니라 브레이크 아웃으로 만 봉사합니다.

DAC뿐만 아니라 EEPROM

조금 더 낮아뿐만 아니라 ‘AKK BDQ’라고 표시된 16 핀 QFN이있는 박스형 회로에 나타납니다. 이것은 클래스 D 앰프가있는 I2S DAC 인 Maxim MAX98357A (PDF)입니다. 한 번의 출력이 있으므로 스피커를 직접 구동하므로 모노 또는 통합 스테레오 일 수 있습니다. 그것은 여전히 ​​예산을 위해 꽤 흔들립니다.

매혹적인 것은 Maxim MAX98357A와 모든 I2S 연결이뿐만 아니라 몇 가지 다른 선택 라인으로부터 모든 I2S 연결을 갖는 것으로 보이는 JP6의 존재입니다. 두 번째 스피커 출력에 링크하는 두 개의 비아와 통합되면, 잠재적으로 스테레오 사운드를 얻으려면 Maxim Max98357A Breakout Board를 하나 더 셰이프로 만들 수 있습니다. 나는 그 결과를 알리고 싶다면 개시 도구를 다운로드 할 수있을뿐만 아니라 다운로드 할 수있는 것뿐만 아니라 결과를 이해할 수있게 해줍니다. 숙제 선택 사항을 생각해보십시오.

DAC 옆에는 24C32 (PDF) I2C EEPROM 인 8 핀 SSOP입니다. 그것은 내가 일찍 말한 I2C 헤더와 연결되어 있지 않습니다. 그러나 Raspberry PI 3 헤더의 28뿐만 아니라 핀 27. 라스베리 파이 재단의 블로그에 따르면.

“EEPROM은 보드 제조업체 정보, GPIO 구성뿐만 아니라 ‘장치 트리’조각이라는 것뿐만 아니라 기본적으로 Linux가 필요한 드라이버를 즉시 묶을 수있는 연결된 하드웨어에 대한 설명입니다.”

그래서 그것의 일부 추가 소스가 그것을 똑딱 똑딱 똑딱 똑딱 똑딱 거릴뿐만 아니라 데이터를 덤프하기 위해 buspirate를 사용하지만, google은 그것을 지적 주거지 또는 상업적 재산을 고려하지 않도록 확실하지 않습니다. 나는 또한 그것을 위해 그렇게 체크 아웃 한 번에

운전자

오른쪽으로 이동하면 4 개의 헤더가 ‘드라이버’라고 표시되어 있습니다. 이들은 릴레이와 같은 톤을 제어하기위한 MOSFET 회로입니다. [Shabaz]는 환상적인 작업 이이 요소를 추적했으며 3 핀은 GPIO, 5V뿐만 아니라 운전자입니다.

그럼에도 불구하고 MOSFETS는 500mA의 톤을 500mA로 구동 할 수 있습니다. 그럼에도 불구하고 GPIO가 직접 사용하도록 제공됩니다. 구동 될 톤은 ‘+’라고 표시된 핀 사이에 핀 사이에 연결되어야합니다. 왼쪽의 헤더 핀은 직접 이득입니다.Raspberry PI 3뿐만 아니라 개시도는 동일한 것을 보여줍니다.

LED 또는 유사한 가젯을 연결하여 릴레이 또는 부하의 작동을 제안하는 데 사용하십시오.

마이크뿐만 아니라 단추 커넥터

더 매혹적인 물건은 오른쪽의 오른쪽 상단의 오른쪽 상단에 두 개의 JST 커넥터뿐만 아니라 두 개의 JST 커넥터가 있습니다. 4 핀 커넥터는 조립 된 인클로저의 맨 위에있는 푸시 버튼을 의미합니다. 작은 PCB 마운트 푸시 버튼은 외부 스위치와 병렬로 유선되어 테스트뿐만 아니라 테스트를 설정하면서 위치에 활용할 수 있습니다. 5 핀 JST는 마이크 커넥터뿐만 아니라 모든 I2S 핀을 갖추고 있습니다.

마이크

마지막으로 마이크 보드는 432 QDF21G로 표시되어 있으며, I2S를 직접 이야기하는 SPH0645LM4H MEMS 디지털 마이크를 알고 있습니다.

그게 다야!

그것이 당신의 자신의 AIY 키트를 만드는 데 필요한 모든 정보뿐만 아니라 눈물을 끌어 올리는 것입니다. KICAD 개략적 인 데이터는 Github에서 다운로드 할 수 있도록 제공됩니다.

여기에 몇 가지 음식이 있습니다. 일부 부품은 생략 될 수있을뿐만 아니라 모자의 크기를 PI 제로 팻으로 축소 할 수 있습니다.

단순성 이유로 Google AIY 페이지에서 미리 구성된 OS 그림을 사용하고 있습니다. 그것은 900MB의 짧은 TAD뿐만 아니라 Goolge (거대한 파일)에서 직접 다운로드 할 수 있습니다.

종료 버튼을 추가하십시오

위의 그림에서 거대한 친환경 버튼 옆에있는 작은 황금 버튼은뿐만 아니라 운동의 첫 번째 부분입니다. 안전하게 끄고 싶을 때마다 나는 상자에 ssh를 들고 싶지 않기 때문에 셧다운 버튼이뿐만 아니라 셧다운 버튼이다.

이용하려는 버튼을 사용하고 여성 헤더가있는 두 개의 전선을 추가하십시오. 이 비트는 음성 모자 없이도 작동하지 않으므로 자유롭게 시도해보십시오. 다음으로 음성 모자가있는 경우 남성 헤더를 I2C 부분에 추가하십시오. 다른 유형의 핀을 선택할 수있을뿐만 아니라 다른 유형의 핀을 선택할 수 있습니다. 버튼을 SDA 또는 GPIO 2에 연결하고 PI 3 위로 부팅하십시오.

좋아하는 텍스트 편집기를 열뿐만 아니라 코드를 복사하십시오.

1
2

4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#! / bin / python.
# 단추의 언론에서 라스베리 PI를 종료하기위한 간단한 스크립트.
# InderPreet Singh

RPI.GPIO를 GPIO로 가져 오십시오
가져 오기 시간
가져 오기 OS.

# Broadcom SoC Pin Numbers를 사용하십시오
# Interior Pullups가 활성화 된 PIN을 사용하여 핀을 구성합니다.
gpio.setmode (GPIO.BCM)
gpio.setup (02, gpio.in, pull_up_down = gpio.pud_up)

# 버튼을 눌렀을 때 수행 할 작업에 대한 우리의 기능
DEF SHUTDOWN (채널) :
OS.System ( “sudo shutdown -h 지금”& quot;)

# 버튼 누르면 이벤트가 발생하면 실행할 기능을 추가하십시오.
gpio.add_event_detect (02, gpio.falling, callback = shutdown, bouncetime = 2000)

# 지금 기다려!
1 :
TIME.SEEP (1)

/ home / pi 폴더에 데이터를 shutdown.py로 저장하십시오.

터미널에서는 명령을 준수합니다

1
chmod + x shutdown.py python shutdown.py & amp;

이렇게하면 스크립트가 백그라운드에서 실행되어야합니다. 버튼을 누르면 PI가 즉시 종료되어야합니다. 예제 코드에서 절전 전화 통화를 주석 처리하여 지연을 추가하도록 선택할 수 있습니다. 또는 Python 스크립트에서 적절한 번호를 교체하여 GPIO를 마찬가지로 수정할 수 있습니다.

멋있는! 이제 버튼을 눌러 종료 할 수 있습니다.

USB 잡음 카드를 추가하십시오

Google AIY Voice Hat에 대한 명백한 대체는 여러 소스에서 제공되는 모든 유형의 USB 잡음 카드를 활용하는 것입니다. 가장 쉬운 방법은 모자 대신에 소프트웨어 응용 프로그램을 사용하도록 소프트웨어 응용 프로그램을 구성하고 두 개의 드라이버가 설치되면 파이썬 스크립트 요구 사항을 완벽하게 만들기 위해 재구성되어야합니다.

SoundCard를 연결하면 첫 번째 작업이 인정되었거나 그렇지 않은 경우 검사를받습니다. 터미널 창에서 다음을 입력하십시오.

1
Aplay – L.

‘Aplay’는 스크립트에 의해 사용되어 응답을 말하면 두 개의 잡음 장치를 볼 수 있어야합니다. 온보드 노이즈는 config.txt 내에서 비활성화되었으며 (가젯 트리 참조 참조) 잡음 카드 대신 USB 마이크를 사용하려는 경우 사용할 수 있습니다. Windows 출력은 아래 그림과 같아야합니다.

USB 잡음 카드를 기본 오디오로 설정하고 /etc/asound.conf를 사용자 정의하는 것이 요구 사항에 대해서도 설정하고 싶습니다.

1
sudo nano /etc/asound.conf.

기존 자료를 삭제하고 아래 그림과 같이 텍스트로 교체하십시오. 이로 인해 기본 입력은 물론 USB 장치에 출력 가젯을 설정하지만 일을하는 것이 더 많은 단계가 있습니다. (나노를 종료하려면 Ctrl + x, y, return을 사용하십시오)

다음으로 우리는 녹음 기능뿐만 아니라 모든 오디오 재생을 처리하는 Audio.py 데이터로 편집합니다. 이를 위해 좋아하는 텍스트 편집기에서 데이터를 열어줍니다. 내 것은 나노이다 :

1
sudo nano /home/pi/voice-recognizer-raspi/src/audio.py.py.

부품으로 스크롤하십시오__init__ 함수에있는 ‘arecord’상태입니다. 분명히 비디오에 표시 될 때 레코더가 실행되도록 유지하는 헌신적 인 프로세스가 있습니다. 지금은 원래 음성 모자 대신 오디오를 잡으려면 USB 카드를 사용하여 USB 카드를 사용하도록하려면 인수를 편집하려고합니다. ‘-d’를 사용하는 간단한 조정, ‘sysdefault : card = 1’은 아래 그림과 같이 충분해야합니다.

비슷한 수정은 APLING 함수가 코드에서 더 이상 조금 더 이상 필요합니다.

그걸로 해킹이 완료되었습니다! 오디오가 작동하는지 검사하려면 ‘test_audio.py’를 두 번 클릭하십시오. 우리는 퍼즐의 한 부분 만 누락되어 있습니다 – ‘듣기’버튼! 따라서 GPIO23과 인접한지면 핀 사이의 푸시 버튼을 케이블뿐만 아니라 ‘src / main.py’를 실행하여 DIY Google AIY로 재생을 시작합니다.

데모

USB 잡음 카드, 외부 스피커뿐만 아니라 저렴한 마이크가있는 제안 된 해킹의 작은 비디오 데모.

인클로저

3D 인쇄 된 인클로저는 Fusion360에서 설계되고 STL 데이터는 GitHub 저장소의 일부입니다. 라스베리 PI에 대한 스탠드 오프가 있기 때문에 여러 가지 작업에 대해 정확한 동일한 인클로저를 활용할 수있을뿐만 아니라 포트가 편의를 위해 가져올 수 있습니다. 모자와 추가 회로를 추가하는 데 많은 영역이 있습니다.

나는 인클로저가 중간에서 분리되어 GPIOS에 ​​대한 액세스가 간단 해지는 것을 확인했습니다. 모든 것은 3 개의 버튼을위한 구멍이있는 맨 위 캡을 포함하여 모양을 누릅니다. 나는 결과가 골판지보다 더 강하 될 것으로 예상되기 때문에 그 결과가 더 작은 버튼을 갖는 것이 의미가 있지만 다소 다르다는 것을 포함하도록 스피커에 충분한 영역이 있습니다.

주제에 개발 유형이있을 때뿐만 아니라이 페이지를 업데이트 할 수있는 가능성이 없었습니다. 바로 여기에는 디자인의 렌더링이 있습니다.

요약

Google은 이미 API를 대중에게 사용할 수 있지만 사전 구성된 Raspbian 사진은 많은 사람들이 시작할 수있는 많은 사람들을 도울 것입니다. 나는 당신이 하나를 만들고 싶다면 동등한 카드 계획을 제공하는 것 외에도 소음 카드의 펀더멘털을 설계하려고 노력했습니다. 다른 사람들에게 외부 소음 카드를 활용하는 선택은뿐만 아니라 사람들이 진정으로 그러한 프로젝트에 들어가기 위해 사람들에게 영향을 미치기를 바랍니다. 세계는 더 많은 aiy를 필요로하고 있습니다뿐만 아니라 시작할 수있는 가능성이 있습니다. 그래서 당신은 무엇을 기다리고 있습니까? 해킹을 받으십시오.

Leave a Reply

Your email address will not be published. Required fields are marked *