파이썬을 활용한 인공지능 스피커 제작하기 in K-ICT 디바이스랩 대구센터 [Day 2]

K-ICT 디바이스랩 대구센터

파이썬을 활용한 인공지능 스피커 제작하기

2019.04.22~23


센터로 출발하기 전, 점심을 간단하게 해결하고 센터로 향했다.

[상하이 버거 L세트]

오늘은! 본격적으로 예제 및 추가 실습을 진행한다고 한다.

우선, 워밍업으로 어제 조립하였던 ai 스피커에 부착된 버튼의 LED를 켜보는 실습을 했다.
Raspberry pi의 31번 핀에 연결된 LED를 간단한 python 코드를 통해 동작시켰다.

STT를 통해 받아온 음성데이터를 Text로 변환하여 그에 상응하는 동작을 하도록 명령을 주는 원리이다.



[코드 중 일부분]

코드분석을 간단하게 해보면,
2-3 : GPIO 세팅
4    : Sound To Text(STT) 함수 실행 --> 실제로는 ktkws 패키지에 포함되어있음.
5-8 : 받아온 text와 대응되는 기능 수행

위 코드에 따른 기능 동작 영상을 보쟈!

[동작]

자! 그럼, 내장 LED만을 가지고 실습을 했던 위 예제들과 달리, 외부 센서들을 제어해보는 실습을 진행하였다.

실습에 앞서 추가 키트를 지급받았다.

[추가 키트]
(온습도 센서, 빵판, LED, 점퍼선)

우선 간단한 예제로 내장 LED가 아닌 빵판에 연결한 외장LED를 제어하는 실습을 진행했다.
실습에 앞서 빵판에 LED를 설치하고 Raspberry pi와 연결해보자

[빵판에 LED와 센서를 연결]

나는 Raspberry pi에서 voice kit이 사용하지 않는 다른 GPIO를 골라 LED의 신호선으로 사용하였다. GPIO 매뉴얼을 참고한 코드와 동작을 확인하자.

[코드]

동작은 초록과 빨강 두개의 LED를 껐다켰다 할 수 있게 하였으며, "그만"이라는 명령어가 들어올 시, 작업을 중단하도록 코드를 작성했다.

앞선 예제와 비슷하지만, 간단하게 코드분석을 해보면
2-5    : GPIO 세팅
8       : Sound To Text(STT) 함수 실행 --> 실제로는 ktkws 패키지에 포함되어있음.
10-21 : 받아온 text와 대응되는 기능 수행

위 코드에 따른 기능 동작 영상을 보쟈!

[동작]

이 다음으로는 온습도 센서를 사용해보고자 추가 open source들을 다운받았으며, 코드의 GPIO를 정리하여 예제를 진행하였다.

[추가 open source 다운로드]

여기서 주의해야 할 점!! 예제 코드가 KT AI-makers-kit 에서 제공한 기본 예제들을 import하고 있다는 점.. 자체 라이브러리가 아니라 예제들을 import하고 있기 때문에 다운받은 코드들의 경로들을 신경 써주어야 한다.

[동작]

추가센서들을 진행하고나서 AI 스피커라면 모두 가지고있는 우리동네 날씨 예보 기능을 추가시켜보았다. 우리나라의 각종 api를 사용할 수 있는 data.go.kr 에 회원가입을 했다.

이후에 어려운 과정들(참고문서를 참고한 Json 파일 파싱, 서버로 보낼 url 작성, 엑셀 파일에서 데이터 추출)을 거쳐 코드를 완성한다.

최종 시퀀스는 위와 같다.

그럼 최종 동작을 확인해보자.

[동작]

동작 동영상에서도 볼 수 있듯이 아쉽게도 서버와 직접 연결이 끊겨 제대로 된 동작은 확인할 수 없었다. (KT 쪽에서 서버가 불안정하여 아직 수정 중이라고 한다.)

2일간의 교육을 통해 요즘 핫한 ai 스피커의 동작을 경험하고, 어디에 활용할지 상상해보는 좋은 기회였다. 다음달(2019.05) 말에 판교 교육도 신청을 해놓았는데 선정됐으면 하는 마음이 들었다.

[비가 와..]

교육을 잘 마무리하고 신나는 마음으로 나왔는데 비가오네...ㅎㅎ
어서 다시 집으로 ㄱㄱ!


– THE END –



Sunwung Lee(Wyatt)
photos with iPhone6
다음 이전