Google Home에 혼란스러워 보았습니다.

오늘 (2017-12-16), 유루유루 IT 연구회 feat.Reedex에서 LT를 받았습니다 (처음의 LT였습니다).

LT는 5분 만에 세세한 부분까지 말할 수 없었기 때문에 좀 더 세세한 부분도 포함해 메모해 둡니다.

슬라이드



Google Home을 만나 보았습니다. // Speaker Deck

동영상





구성





인간이 말하면 양쪽(Google Home과 Google Assistant App)이 반응해 버리기 때문에, google-home-notifier 에서 Google Home에 말하게 해, 다른 쪽의 앱을 기동하는 방법을 생각했습니다.

Actions on Google에서는 두 개의 앱을 만들었고 각각에 다음과 같은 인텐트를 준비했습니다.

앱 1(츳코미 담당)


  • 앱 이름: 아오카
  • 인텐트 1(Default Welcome Intent)
  • User Says: ""
  • Text Response: "아무래도 아무래도-. Google Home 브라더스입니다-! 아니-최근 스마트 스피커가 유행하고 있군요-."

  • 인텐트 2
  • User Says: "유행하고 있네요. 우리도 하나 샀어요."
  • Text Response : "오! 무엇을 샀습니까?"

  • 인텐트 3
  • User Says: "Amazon Echo"
  • Text Response: "아니, Google Home이 아니냐--이!"

  • 인텐트 4
  • User Says : "감사합니다."
  • Text Response: "감사합니다."


  • 앱 2(노망 담당)


  • 앱 이름: 만세
  • 인텐트 1(Default Welcome Intent)
  • User Says: ""
  • Text Response: "OK Google, 상대방에 연결"

  • 인텐트 2
  • User Says: "좋아요. 테스트 버전의 상대입니다."
  • Text Response: "아무래도"

  • 인텐트 3
  • User Says: "Google Home 브라더스입니다—! 아니—최근 스마트 스피커가 유행하고 있네요."
  • Text Response: "유행하네요. 우리도 하나 샀어요."

  • 인텐트 4
  • User Says : "오! 무엇을 샀습니까?"
  • Text Response: "Amazon 에코"

  • 인텐트 5
  • User Says: "아니 Google Home이 아니야!"
  • Text Response: "정말 고마워요."


  • 앱 2의 인텐트 2와 3은, 앱 1로부터 「네, 테스트 버젼의 상대입니다(피론♪)」가 자동적으로 들어가 버려, 거기서 1개의 발화라고 인식되어 버리므로, 일단 「아무래-」 라고 돌려 두면서, 앱 1 인텐트 1의 도중으로부터의 발화를 훅 하는 트릭입니다.

    시퀀스로 나타내면 다음과 같이 됩니다.



    node.js 코드



    처음 트리거하는 nodes.js의 코드는 다음과 같습니다.

    index.js
    var googlehome = require('google-home-notifier');
    
    googlehome.device('Google Home', 'ja');
    googlehome.ip('192.168.10.xxx');
    googlehome.notify('オーケー、グーグル。漫才に繋いで', function(res) {
      console.log(res);
    });
    

    좋은 웹페이지 즐겨찾기