0

저는 많은 고객이 현재 사용하고있는 홈 오토메이션 시스템을 구축했습니다. 홈 오토메이션 시스템은 항상 클라우드 서버에 연결된 중앙 허브로 구성되며 다양한 노드 장치를 제어합니다. 또한 원격으로 홈 디바이스를 제어하는 ​​모바일 앱을 개발했습니다.amazon 에코를 가정 자동화 시스템에 통합하는 방법.

이제 시스템에 음성 제어 기능을 추가하고 싶습니다. 대부분의 고객이 Alexa를 소유하고 있기 때문에 Amazon Alexa가 내 필요성을 충족시키는 완벽한 선택이라고 생각합니다. 내가 구현하고자하는 것에 대한 개요를 알려 드리겠습니다.

고객이 알렉사에 음성 명령을 내리고 있다고 가정 해 봅시다. Alexa, turn on living room's floor light. 그런 명령을받은 후 Alexa는 API를 통해 Turn On, Living Room, Floor Light 매개 변수를 사용하여 클라우드 서버에 POST 요청을해야합니다. 서버는 Alexa에 API 응답을 Turned on floor light of living room과 같은 문자열로 제공합니다.이 문자열은 Alexa에서 재생해야합니다.

여기 내 질문이 있습니다. Alexa가 API를 호출하고 API 응답을 재생하도록 구성하려면 어떻게해야합니까? 에코 및 홈 오토메이션 시스템을 소유 한 모든 사용자에게이 기능을 제공하려면 어떻게해야합니까?

답변

1

Alexa Smart Home Skill API를 사용하여 Alexa Skill을 제작하고자 할 것입니다.

API는 사용자가하려는 작업을 위해 특별히 설계되었습니다.

모든 피투성이의 세부 사항

는 여기에서 찾을 수 있습니다 :

https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html

짧은 이야기는 다음과 같습니다 알렉사

  • 첫 번째를 호출됩니다

    1. 당신은 AWS 람다를 만듭니다 당신의 람다에게 "디스커버리 (Discovery)"전화가 걸릴 것이라고 부르십시오. 모든 자택 자동화 장치의 목록을 참조하려는 이름과 함께 표시합니다 (예 : Device Id = 7을 "Floor Light"라고 함).
    2. "Alexa, Floor Light 켜기"라고 말하면 Alexa는 "장치 ID # 7 켜기"라는 Lambda를 호출합니다. 그런 다음 집에 닿아 그 장치를 꺼짐에서 켜짐으로 바꾸려면 무엇이든지해야합니다.
  • +0

    서비스를 사용하기 전에 사용자가 인증되기를 원합니다. Alexa를 사용하여 내 시스템에 로그인하도록 사용자에게 프롬프트 할 수 있습니까? –

    1

    실제로 프로세스를 단순화하는 데 도움이되는 SDK를 만들었습니다. on GitHub. 키트를 사용하는 방법을 단계별로 안내합니다. 행운을 비네, 문제가 있으면 알려주세요.

    +0

    이 SDK는 amazon IoT 권한을 사용합니다. 나는 그것을 사용하지 않고있다. –

    +0

    @albinantony 맞다. AWS IoT에 반대하는 이유를 물어봐도 될까? –

    1

    나는 Tig에 동의한다. Alexa 똑똑한 가정 기술은 갈 길입니다.

    사용자를 인증 할 방법을 결정해야합니다. 서버가 이미 OAuth2를 제공하고 있다면 Alexa 기술을 설치할 때 계정 연결을 사용하여 사용자를 인증 할 수 있습니다.

    알렉사 스마트 홈에서 모든 대화 상자를 처리합니다. 당신은 단지 기능을 노출시킬 것입니다. endpointId는 장치를 코드 (즉, "lrfloor")로 식별하고, friendlyName은 Alexa가 응답 할 것입니다 (예 : "거실 바닥 조명"). 그런 다음 Alexa는 "Alexa, 켜기 ..."등을 처리합니다.

    Amazon은 최근에 스마트 홈 API V3를 발표 했으므로 귀하가 보는 자습서 나 예제는 새로운 API를 지원하고 구형 V2. API는 매우 다르므로 사용되지 않는 API를 배우는 데 많은 시간을 투자하지 않으려 고합니다.