본문 바로가기
강좌

구글 홈 미니에서 코로나 국내 확진 정보 요청하는 방법입니다.

by ProjectDH 2022. 2. 9.

수정내역: 21-02-10: RESTORE FROM ZIP을 IMPORT FROM ZIP으로 수정했습니다. 오타가 있었는데 제보해주셨습니다.

 

구글 홈에서 국내 코로나 현황에 대한 답변을 듣는 방법이 아직까지 존재하지 않는 것 같습니다.

그래서 이걸 답변을 들을 수 있게 만들면 어떨까해서 한번 개발해보게되었습니다.

구글 dialogflow를 찾아보니까 답변을 원하는대로 들을 수가 있더라고요.

 

바로 챗봇의 원리를 이용한 겁니다. 구글 홈의 미세미세와 비슷하다고 보면 될 것 같습니다.

현재까지는 그냥 브리핑으로 끝나지만, 추후에는 오늘, 어제, 누적 등의 명령어도 추가해볼 생각입니다.

 

우선 구글 Dialogflow 페이지에 접속합니다.

 

https://dialogflow.cloud.google.com/#/getStarted

 

 

반드시 구글 홈 (미니) 인공지능 스피커와 연결된 계정으로 접속하셔야

스피커에서도 호출이 가능합니다.

 

접속후에 뜨는 약관에 동의하시고 ACCEPT를 누릅니다.

 

CREATE AGENT 클릭 => Agent name에 코로나정보라고 적어주세요.

그리고 DEFAULT LANGUAGE를 Korean (South Korea) - ko 로 변경해주세요.

다 하시고 CREATE를 누릅니다.

 

잠시후에 새로운 프로젝트가 생성이됩니다.

 

좌측 상단쪽에 설정 (톱니바퀴 아이콘) 클릭 후 Export and Import 를 클릭하시고 IMPORT FROM ZIP을 누릅니다.

그리고 이 압축파일을 업로드합니다.

 

https://drive.google.com/file/d/1vJPVmjaqrhtGdgHA2NOF091LB9pWSsD9/view?usp=sharing

 

 

이 파일에다가 제가 webhook api 주소를 입력해놓았습니다.

그리고 입력창이 뜨면 IMPORT 라고 입력하고 DONE을 클릭합니다.

이후에 잘 호출이 되는지 테스트하려면 우측 상단에 Try It now에다 코로나라고 명령어를 입력해보면

 

 

이렇게 떠야합니다.

 

목소리도 듣고싶다면 설정에 들어가서 Speech에서 Enable Automatic Text to Speech를 활성화시킵니다.

반드시 설정 후 저장을 클릭해주세요.

 

목소리의 경우 Voice에서 변경이 가능한데, Wavenet-A는 구글 홈의 미세미세 여자 목소리랑 같고, Wavenet-C는 구글 홈의 남자 목소리와 비슷합니다. 개인적으로 Wavenet-A는 마음에 안듭니다..

 

이제 구글 홈 미니에게도 물었을 때 답변을 듣게 하려면

좌측에 Intergrations를 클릭합니다.

그리고 Not ready yet? 옆의 파란색의 intergration을 클릭합니다.

 

Explicit 이 코로나로 되어있는지 확인 후 TEST를 클릭합니다.

 

하지만 이렇게 오류가 뜰 수도 있습니다.

이럴땐 좌측 상단의 액션 콘솔을 클릭 후 New Project => 맨위에 동의 항목은 yes, 아래의 선택 두개 항목은 No 클릭 후 Agree and continue 클릭합니다. 

 

Project Name을 한번 클릭하시면 dialogflow에서 생성한 것과 동일한 아이디를 가진 프로젝트를 클릭하시면 됩니다. 

 

그리고 Imprort Project를 클릭합니다.

 

이제 다시 dialogflow에서 TEST를 다시 클릭합니다.

액션 콘솔에 잘 진입하였지만, 앱 이름을 설정해야합니다.

Develop로 이동 후 Display name을 나의앱이라고 입력 후 저장합니다. (코로나와 같은 구글홈에 이미 등록된 명령으로 하면 오류가 날 수 있으므로 나의앱과 같은 흔하지 않은 이름으로 설정하시는 것을 추천합니다.)

 

저장 후 이제 다시 Test로 들어가보시면 나의앱한테 말하기가 suggestions에 뜨는데 그걸 눌러보시면 코로나 현황을 말로 알려줍니다.

 

 

같은 계정에 연결된 구글 홈 미니한테도 나의앱한테 말하기라고 말하면 코로나 정보를 알려주기는 합니다.

하지만 나의앱한테 말하기라는 명령어가 길다면 구글 홈 앱의 루틴에서 명령어를 줄이면 됩니다. 이상하게 루틴에서 코로나로 명령을 설정한 것은 잘 대답하더라고요.

 

구글 홈 앱에서 루틴을 클릭합니다.

새로운 루틴을 추가하는 플러스를 누르시고

시작 조건에서는 음성 명령에다 코로나라고 입력후 체크표시를 클릭합니다.

 

동작은 명령어 직접 추가해보기를 클릭 후 나의앱한테 말하기라고 입력 후 체크표시를 클릭합니다.

그리고 최종적으로 저장하면 이제 구글 홈에게 "헤이 구글 => 코로나" 라고 말하면 코로나 현황을 알려주는 코로나 챗봇이 정상적으로 작동하게 됩니다.

 

음성이 끝나고나서 종료라고 말해야 앱이 종료됩니다.

 

앞으로 매일 오전 10시 10분 이후에 코로나라고 구글 홈한테 말하면 당일 정보를 알려줄 것입니다.

하지만 공공데이터 포털에 코로나 정보가 10시 넘어서 올라오게 된다면 오전 11시 10분 이후에야 당일의 정보를 들으실 수 있습니다. 이점은 참고하셔서 호출하시면 될 것 같습니다.

 

최근 코로나 확진자 수가 엄청나게 증가하면서 공공데이터 포털에도 정보가 올라오는 시간이 늦어지는 경우가 많아졌습니다.ㅜㅜ 언제 줄어들지 모르겠군요.

 

감사합니다.

 

댓글