네이버나 구글 음성인식 api를 이용한 어플에서 나온 결과의 텍스트를 블루투스를 통해 다른 하드웨어 전송할 수 있나요?

조회수 3583회
  1. 음성인식 리모컨 어플리케이션을 개발하는데 음성을 받아 나온 텍스트를 atmega128에 전송하여 해당 기능을 하는 적외선 신호를 내보내게 하려는데 블루투스를 이용해 하드웨어로 텍스트를 전송할 수 있을까요?

  2. s보이스 처럼 어플리케이션 호출 명령을 지정하여 음성으로 실행시키고 싶은데 가능한지 물어보고 싶습니다.. (예:스마트폰 잠금화면에서 "리모컨" 이라고 말하면 어플이 실행되는것 입니다. 시리나 s보이스 처럼..)

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 안드로이드 <-> atmega128 기기를 블루투스로 연결한 뒤 데이터(=텍스트)를 전송하는 것이 가능합니다. 블루투스 연결을 위해서 기기 검색, 페어링과 같은 사전 작업이 필요한데요. 이 부분은 아래 문서를 참고하시면 도움이 될 것 같습니다.

    안드로이드 블루투스 채팅 예제는 아래 코드를 참고하세요.

    직접 구현은 해보지 않았지만 필요한 API가 안드로이드에서 제공되니 구현이 가능할 것으로 보입니다. 지금 생각나는 방법은

    1. 안드로이드의 음성인식 API를 사용해서 사용자의 음성을 텍스트로 변한합니다. 예를 들어 '리모콘'이라고 말하면 이를 텍스트로 가져옵니다. 방법은 아래 랭크의 Obtaining Free-form Speech Input 참고하세요.

    https://developer.android.com/training/wearables/apps/voice.html

    2. 런처 앱처럼 현재 폰에 설치된 모든 앱의 ComponentName(다른 앱을 실행 시킬 때 필요한 정보)과 (음성 입력과 매칭할) 앱 이름을 가져옵니다.

    3. 1에서 가져온 리모콘이라는 텍스트와 2번의 설치된 앱 이름 중 리모콘이 존재할 경우, ComponentName을 이용해 액티비티를 실행합니다.

    다만 잠금화면에서 이걸 가능하게 하는 것은 좀 다른 이야기입니다. 잠금화면이 안드로이드 버전, 제조사 마다 제각각이라 (잠금화면에 구현을 하는 것이 불가능 할수도 있어서) 앱이 어느수준으로 지원할 것인지에 따라 좀 다르게 접근할 필요가 있습니다. 잠금 화면 자체를 만드는 것도 하나의 방법일 수 있고요. 이렇게 되면 잠금화면 개발에 더 많은 시간이 소요될 수 있습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)