DIY your Google Home

Google Assistant SDK preview

최근 기다리던 반가운 소식을 들었다. Google Assistant SDK가 드디어 release 되었다. Preview이긴 하지만 어쨌든 구글이 경쟁자들보다 한 걸음 더 나아가려는 행보임이 분명했다. 새로운 Ecosystem을 만들어서 온 세상에 Google Home을 퍼뜨리려는 것이다.

재미있는 것은 이번 Preview에 Google Assistant를 Raspberry Pi 3에 Python을 가지고 prototyping 해보는 내용이 같이 들어있는 것이다. 이후 MagPi의 부록으로 Google AIY Kit이 포함되었는데 물론 지금은 구하기가 어렵다. 서점이나 일부 인터넷쇼핑몰에서 파는 듯 한데 구하기가 쉽지 않다. 하지만 RPi3용 intruction을 가지고 Mac OS X에서 누군가 성공했기에 직접 따라해봤다.

Home Brew 설치(아직 설치안된 경우에만 다음을 실행해서 Home Brew 설치한다)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Home Brew 업데이트

brew update

Python 최신 버전 설치

만약 Python이 설치 안된 경우에는 brew install python3 실행해서 신규 설치하고, 기존에 이미 설치된 경우에는 brew upgrade python3해서 설치된 버전을 업그레이드한다(3.4 버전의 경우 인증 실패로 인해 실행이 되지 않았슴).

디렉토리 생성 및 PIP 설치

  • mkdir googlehome (아무 이름이나 상관없슴)
  • cd googlehome
  • python3 -m venv env
  • env/bin/python -m pip install --upgrade pip setuptools
  • source env/bin/activate

Google Assistant SDK sample 다운로드

sudo python3 -m pip install --upgrade google-assistant-sdk[samples]

Google cloud 개발자 계정에서 프로젝트 생성, API 활성화 및 OAuth 2.0 Client ID 생성

Download credential

구글 Home과 연동해서 사용할 사용자 계정(개발자 계정과 달라도 상관없슴)에서 Activity들을 켜줌

https://myaccount.google.com/activitycontrols 에서 다음 항목을 켜 줌

  • Web & App Activity
  • Location History
  • Device Information
  • Voice & Audio Activity

인증

python -m googlesamples.assistant.auth_helpers --client-secrets client_secret_XXXXXXXXXXXXXXXXXXXXXXXX.json (마지막 값은 다운로드한 인증서 파일명이어야 함)

Audio test

python -m googlesamples.assistant.audio_helpers

Google Assistant 테스트

python -m googlesamples.assistant

더 생각해 볼만한 것들

이제 어떤 기기에서도 Google Assistant를 사용할 수 있게 된다. 이것은 UI 패러다임의 전환이 이제 본격적으로 퍼지게 된다는 것을 의미할 것이다. Conversational Interface는 Input 도구를 사용하기 힘들거나 곤란한거나 불가능하거나 불편한 상황에서 아주 효율적인 UI로 자리매김할 것으로 생각된다.

IoT 측면에서도 정말 유용할 것이다. 비싼 Google Home을 사지 않고도 Google Assistant SDK를 가지고 집안 IoT 제어를 말로 할 수 있게 되었다. 또한 Google Home에서 지원하지 않는 기기도, Philips Hue Emulator를 가지고 제어하거나, Node-RED에서 직접 노드를 구현해서, Google Assistant를 통해 제어 가능하게 될 수 있게 되었다. 누군가의 말처럼, 방마다 Google Home을 둘 수도.

Related