아마존의 ACK와 구글의 GAC
지인분의 소개로 알게 된 것인데요, 아마존이 2018년 9월 20일에 여러 개의 스마트홈 기기들을 소개할 때 함께 소개한 것이 있다는 군요. 그게 바로 ACK(Alexa Connect Kit)라는 것입니다.
ACK는 간단하게 기존 제품을 인터넷에 연결하게 해 주고 알렉사를 이용해서 제어할 수 있게 해주는 모듈 정도로 보시면 될 것 같습니다. 즉, 기존에 어떤 가전 제품을 만들고 있는 기업이 있다면, ACK를 이용해서 간단하게 알렉사로 제어되는 스마트 제품으로 변신을 시킬 수 있는 거죠.
대표적인 예가, 작년 11월에 아마존이 출시한 Amazon Basics Microwave Oven입니다. 이 제품도 아주 기본적인 전자레인지에 ACK를 적용한 것으로 에코를 이용해서 기본적인 기능들을 제어할 수 있는 제품입니다. 즉, 아마존은 가전 제조사들이 아마존 전자레인지와 같은 제품을 더 많이 만들어서 알렉사 기반의 생태계가 강화되기를 바라는 거죠.
물론, 이 목적만 있는 것은 아닙니다. 디바이스 제조사들이 ACK를 이용하도록 함으로써 자동적으로 자신들의 클라우드 서비스를 이용하도록 하기 위함입니다. 즉, 알렉사를 쓰는 제품들은 기본적으로 AWS IoT 상에서 동작하게 되는 거죠. 디바이스 제조사들은 이런 일련의 클라우드 환경 설정을 하지 않아도 된다는 것입니다. 이말은 ACK가 무료라는 것은 아닙니다. ACK 모듈을 구매하는 형태로 클라우드 이용료를 내는 것입니다.
ACK의 주된 기능은 토글 스위치, 레인지 컨트롤, 모드 변경의 3가지라고 합니다. 사실 모든 기능은 이 세 가지 기능만 있으면 다 구현이 가능한 거죠. 예를 들어, 전자레인지에 "감자를 쪄!"라고 명령을 내리게 되면, ACK는 조리 모드로 전환하고 감자를 찌는데 필요한 시간만큰 레인지를 조절할 것이며, 마지막으로 그 시간만큼 가열하도록 토글 스위치를 작동시킬 것입니다.
아마존의 Alexa Connect Kit (이미지 출처: Slash Gear)
ACK를 이용하는 법은 이미 보유하고 있거나 개발 예정인 디바이스에 ACK 모듈을 추가하고 직렬 인터페이스를 통해 장치의 MCU에 연결하면 됩니다. 그리고, 펌웨어에 ACK 모듈과의 통신을 위한 인터페이스 코드를 추가하면 됩니다. 아마존은 이미 MCU 종류에 따른 샘플 코드들을 만들어서 제공 중인 것 같네요. ACK를 이용해서 팬(fan)이나 플러그 같은 기본 제어 기능을 구현하기 위해서는 약 50라인 정도의 코드를 추가해야 한다고 하네요.
아마존의 ACK를 이용한 제품으로는 아마존의 전자레인지 외에도 P&G, Hamiliton Beach, Tonly and Media 같은 기업들이 만든 장치에 이용되고 있다고 합니다. 자세한 내용은 여기를 클릭하시기 바랍니다.
이에 질세라, 구글도 이번 CES 2019에서 비슷한 컨셉을 발표했다고 합니다. Google Assistant Connect라고 한다고 합니다. 구글도 아마존처럼 스마트홈에 집중하고 있기 때문에 더 많은 디바이스 제조사들이 구글의 구글 어시스턴트를 이용할 수 있기를 바랄테니까요..
하지만, ACK가 디바이스 제조사들에게 이미 개발 보드를 제공하는 것과 달리, 구글은 올해 말에나 개발 보드를 만들어서 기업들에게 제공할 수 있을 것이라고 합니다. 아마도 아마존과의 경쟁관계를 생각하면 그보다 더 빨라질 수도 있을 것 같습니다.