본문 바로가기

보물창고/IT 정보

사물 인터넷 IOT 구축하기

반응형

사물 인터넷 IOT 구축 하기

 집안에 작은 IOT기기들을 들이면서 편해진 것도 있고 번거로워진 것도 있습니다. 지금 사는 집은 지은 지 14년이 되었는데요. IOT가 적용되지 않은 집입니다. 사물인터넷 IOT 구성을 초 여름에 시작하면서 가장 처음 생각한 것은 외출 후 집에 들어오기 직전에 에어컨을 틀어보고 싶었습니다. 결론적으로 여름 내내 24시간 풀로 에어컨을 틀고 있어서 외출 중에 에어컨을 틀어볼 기회가 많지 않았습니다. 실제 활용은 한두 번 정도 해보면서 IOT의 활용성에 대한 의구심을 가졌습니다. 그리고 한두 개월 후 IOT 제품 종류들을 알게 되면서 집에 이런저런 것들을 해보고 있습니다.

 현재 IOT 생태계의 시장은 하나의 통일되지 않고 회사별로 생태계를 만들고 있습니다. 서로 연동되는 것도 있고 안 되는 것도 있으며 오픈소스를 통해 개별 기기를 하나의 허브로 모으는 시도도 진행 중입니다. IOT기기들의 가격도 천차만별이며 직구 가격과 국내 가격도 차이가 많이 납니다. 저는 샤오미 제품군과 구글 홈 미니(크롬캐스트), 라즈베리파이, Zigbee mqtt, Home Assistant, Sonoff를 사용해보면서 알게 된 정보들을 정리합니다. 

 


IOT 구축에 필요한 것들

 사물 인터넷 IOT를 구성하기 위한 최소 단위는 몇 가지 분류로 구분될 수 있습니다. 허브를 중심으로 구성되는 IOT와 개별로 동작하는 IOT(앱 연동), 그리고 개별 동작하는 IOT기기가 AI 스피커에 연동되어 동작하는 방식으로 분류됩니다. 좀 더 편리했으면 하는데라는 고민으로부터 구성을 시작하면 어떤 구성을 하더라도 하나의 제품군으로는 안됩니다. 음성 명령으로 전등을 켜거나 끄고 싶을 때는 스마트 스피커와 개별 WIFI 전등 또는 스마트 허브와 연동된 전등이 구성되어야 합니다. 일반 스위치를 IOT 스위치로 바꿔주는 Sonoff를 연결하였을 때 단일로는 사용되나 IOT 물리 버튼을 연결하기 위해서는 스마트 허브가 필요합니다. 어떤 구성을 하고 싶은지를 고려해보고 필요한 제품군을 선택하여야 합니다.

 

사물 인터넷 IOT 구축하기

스마트 허브

 스마트 허브로는 Philips hue의 Hue bridge가 있으며 삼성의 SmartThing Hub와, 샤오미의 샤오미 Gateway가 있으며 오픈 소스로는 Home Assistant(소프트웨어)가 있습니다. Philips는 전등에 특화되어 있으며 믿을 수 있는 품질의 Philipse의 전등과 스위치를 구성할 수 있고 삼성의 스마트싱스는 삼성의 다양한 가전제품과 전등, 스위치, 센서등을 컨트롤할 수 있습니다. 샤오미 게이트웨이의 경우 삼성처럼 샤오미 생태계에 있는 가전제품과 전등, 스위치, 센서등의 IOT 제품을 컨트롤할 수 있습니다. Home Assistant는 오픈소스로서 지금 언급한 회사나 제품을 포함하고 그 외의 회사의 제품을 하나의 허브로 통합할 수 있도록 환경을 제공합니다. 소프트웨어로서 보통 라즈베리 파이나 NAS에서 동작하도록 구축합니다. 여기서 나열한 스마트 허브는 각 회사의 네임벨류가 주는 믿을 수 있는 지원과 오픈소스로서 호환성이 높아지는 장점만을 두루 포함하는 베스트 조합이 없습니다. 일반적으로 한쪽 생태계에 들어가면 다른 생태계는 호환이 안 되는 구성이 됩니다.

 

AI 스피커

 AI 스피커는 구글 홈과 아마존의 알렉사를 제외한 기타 스피커는 폐쇄적인 구성입니다. 호환성도 떨어지고 유용한 앱이 없어 활용도가 많이 떨어집니다. IOT구축을 고려한 AI 스피커로는 구글 홈과 알렉사가 호환성이 높으나 알렉사는 아직 한국어 지원이 안되기 때문에 현재 시점으로는 구글 홈이 가장 낫다고 생각합니다.

 

애플리케이션

 애플리케이션으로는 애플의 Home Kit과 삼성의 SmartThings, 샤오미의 Mi Home, 오픈소스로 Home Assistant가 있습니다. 삼성과 샤오미의 경우 인터넷에 연결된 자사 전자 제품을 통합 관리할 수 있으며 허브로 연동된 센서와 전자제품을 일괄 관리할 수 있는 환경을 제공합니다. Home Assistant는 호환되는 IOT 제품을 통합 관리할 수 습니다. 애플의 Home Kit의 경우 삼성의 SmartThings, Home Assistant와 연동되어 컨트롤할 수 있습니다. 아이폰에 연결되니 시리를 통해 명령을 할 수 있습니다.

 

사물 인터넷 IOT 액세서리

 애플 홈킷 인증된 액세서리나 삼성 제품, 샤오미 제품들이 있으며 센서로는 진동 센서, 온도 습도 센서, 누수 센서, 연기 감지 센서, 동작 감시 센서, 디밍 버튼, 일반 버튼 등 예상되는 거의 모든 제품이 액세서리로 있습니다.

 


사물 인터넷 IOT 구축에 유용한 사이트 정보

 하나의 방법이 아닌 다양한 방법으로 구축할 수 있기 때문에 필요할 때마다 정보를 검색해서 알아봐야 합니다. 허브와 액세서리끼리 호환이 되는지의 여부는 직접 해보는 방법과 커뮤니티에 물어보고  먼저 해본 분들의 정보를 얻는 방법이 있습니다.

Smartthings Korean’s Community 네이버 카페이며 스마트싱스외에 폭넓게 IOT허브와 액세서리에 대한 정보를 얻을 수 있습니다.

Home Assistant 오슨소스인 Home Assistant를 받을 수 있으며 관련된 설정 정보를 얻을 수 있습니다.

라즈베리파이 저렴하지만 성능이 좋은 온보드 컴퓨터입니다.

 


IOT 구축 예

 제가 지금까지 구축한 예입니다.

 노란색 동그라미가 IOT기기가 아닌 일반 전자 제품들입니다.

사물 인터넷 IOT 구축하기 예1

 아날로그 천장등을 IOT 원격 버튼에 연결했습니다. 원격 천장등으로 만들기 위해서는 Sonoff의 액세서리를 이용했습니다. Sonoff를 국내 쇼핑몰을 이용하였을 때 배송이 포함 1.5만원이며 알리 익스 프레스를 이용하면 배송비 포함 8천원에 구입할 수 있습니다. Sonoff는 WIFI에 연결된 릴레이입니다. Sonoff는 eWeLink App에 등록하여 스마트폰으로 사용할 수 있으며 물리적인 원격 스위치 연결을 위해서는 몇 가지 작업이 필요합니다. eWeLink가 Mi Home에 연동되지 않기 때문에(20191126 기준. Mi Home App의 설정-> 다른 기기 연결에 목록은 뜨며 곧 연동되지 않을까 예상됨) Home Assistant를 이용하여 물리 버튼을 연결할 수 있으며 구글 홈에는 eWeLink가 연동되어 설정만 하면 됩니다.

 Sonoff를 앱에 등록할 때 약간의 시행착오가 있었습니다. 아이폰 X에서 eWeLink에 등록이 안될 때가 있어서 아이폰 7에 eWeLink를 설치해서 등록하기도 했습니다.(기존 폰이 아닌 다른 폰으로 시도해보는 방법) 그리고 WIFI망을 집 인터넷이 아닌 아이폰 X 테더링을 오픈하고 아이폰 7 도 같은 망에 붙이는 방법으로 문제 해결을 했습니다. 결과적으로 사용 못하는 Sonoff는 없었으나 약간의 시행착오가 필요했습니다.

 MQTT설정을 해야 샤오미 버튼을 사용할 수 있습니다. 라즈베리파이 3에 Hass.io를 설치했으며 zigbee2mqtt를 구성 했습니다. zigbee2mqtt 구성을 위해서 3가지 추가 디바이스가 필요하며 알리 익스프레스에서 총 16$에 구입할 수 있습니다. 적용 방법은 github에 상세하게 나와있어 어렵지 않습니다. 

 Home Assistant와 MQTT구성이 불안정할 때가 있습니다. 일주일 이상 한 번도 안 쓰면 3번 중 1번은 바로 동작하지 않거나 오작동을 일으켜서 불편하나 불끄는 작업이다보니 아주 크리티컬하지는 않습니다. 오래 안쓰면 라즈베리파이를 재부팅해야 할 때가 있습니다. 하루 이틀에 한 번씩 사용하는 정도가 되면서 작동 안 하는 문제는 없어졌습니다.

추가 활용

 구글 홈을 통해 음성으로 아이방 불 꺼줘/켜줘, 안방 불 꺼줘/켜줘, 안방 베란다 불 꺼줘/켜줘를 할 수 있습니다

 버튼을 통해 아이가 벽 스위치를 누르지 않고 아이방 불을 끄고 킬 수 있습니다. 안방에 누워서 천장 등과 베란다 등을 끄고 켤 수 있습니다. 이 기능이 가장 마음에 듭니다.

 추가적으로 할 수 있는 것은 Home Assistant가 오픈소스이며 라즈베리파이가 리눅스 이기 때문에 원하는 대로 커스텀 작업이 가능합니다. 앞으로 추가하고 싶은 작업은 제가 살고 있는 동네의 미세먼지 정보를 이용해서 컬러 LED 전구의 색을 변경하여 실시간으로 미세먼지 정보를 표시하려고 준비 중입니다. Home Assistant에 텔레그램에 연동해서 상태 정보를 메시지로 받을 수 있습니다.


사물 인터넷 IOT 구축하기 예2

 프로젝터를 IOT 원격 버튼을 눌러 켜고 끌 수 있습니다. 매번 리모컨을 찾거나 천장에 붙어 있는 프로젝트 전원 버튼을 누르기가 번거롭고 아이가 쉽게 켤 수 있도록 샤오미 버튼으로 연동했습니다.  샤오미 리모트 IOT 기기가 있어야 하며 샤오미 버튼을 사용하기 위해 샤오미 게이트웨이가 있어야 합니다. 샤오미 리모트에 프로젝트 전원을 켜고 끄는 IR명령을 학습시켜 사용 중입니다.

 창문이 열리면 거실에 있는 블루에어 공기청정기를 끄고 창문이 닫히면 공기청정기를 켭니다. 샤오미 도어센서를 활용해서 창문이 열리는 것을 감지하고 끄기 명령을 할 때 블루에어가 켜져 있는지 확인이 안 되기 때문에 샤오미의 스마트 플러그를 사용해서 전원을 끕니다. 전원을 켤 때는 스마트 플러그 전원을 켜고 샤오미 리모트로 블루에어를 켭니다. 

 침실 간접등으로 샤오미 LED 전구를 사용하고 있습니다. 협탁 아래에 두고 있으며 샤오미 버튼에 연결해서 켜고 끄고 밝기 조절을 합니다. 아침 기상시간에 켜도록 설정해 놓았고 출근 시간 되면 꺼놓도록 설정해두었습니다. 이 기능이 가장 유용하게 사용 중이며 Home Assistant를 사용하는 것보다 훨씬 안정적으로 사용하고 있습니다. 이런 구성이 된 이유는 블루에어의 전원 IR명령어가 끄기와 켜기가 같기 때문입니다. 그래서 확실하게 켜고 끄는 작업을 하기 위하여 스마트 플러그를 사용하고 있습니다.

 샤오미 게이트웨이의 문제점으로는 일관성이 없는 소프트웨어와 하드웨어 품질에 있습니다. 알리 익스프레스를 통해 구입하였을 때 제가 받는 제품이 구형인지 신형인지 정확하게 판단이 안되었습니다. 구형의 경우 업데이트 후 개발자 모드 활성화에 문제가 있어 Home Assistant와 연동이 최초 1회 되고 끊기는 문제가 있었습니다. Mi Home으로 안드로이드 가상 머신을 설정해보고 Home Assistant의 설정도 다양한 방법으로 바꾸고 수정했는데도 해결되지 않았습니다. 그래도 시도해볼 만한 글이 이 글이 사진입니다. RX TX로 샤오미 게이트웨이 설정을 직접 변경하는 방법입니다. 처음에는 Home Assistant에서 아무 정보도 못 봤지만 이 설정을 하고 최초 1회는 정보를 볼 수 있었습니다. 하지만 완벽한 해결은 되지 않았습니다. 그리고 5개월 정도 일부 기능만 잘 사용했었는데 샤오미 게이트웨이가 전원이 들어오지 않는 고장이 발생해서 새로 구입하게 되었습니다. 새로 받은 게이트웨이는 한 번에 Home Assistant와 잘 붙었고 연동도 잘 되었습니다. 

 

추가 활용

 샤오미 게이트웨이와 Home Assistant가 연동이 잘되면 Home Assistant를 구글 홈과 연동을 할 수 있습니다. 그러면 음성으로 샤오미 액세서리들을 컨트롤할 수 있습니다. 이렇게 구성하기 위해서는 모든 구성을 오픈 소스로 구성하는 방법과 Home Assistant의 유료 서비스를 이용하면 할 수 있습니다. 저는 첫 번째 게이트웨이의 문제가 있어서 오픈소스 구성으로 시도해 보고 안되어서 현재 설정은 못한 상태 입니다. 이 설정 관련한 글은 이 구글 검색 결과를 참고하시면 됩니다. 


 IOT 구축 예2

 AI 스피커 구글 홈을 사용해서 구축한 환경입니다. 처음에는 노트북이 있었고 HDMI로 프로젝터에 연결하고 노트북과 스피커는 블루투스로 연결해서 사용했습니다. 이렇게 넷플릭스와 유튜브, 음악을 들었었는데 귀찮음에 컴퓨터는 계속 켜져 있게 되고 매번 노트북으로 뭔가를 켜야 하는 번거로움이 있었습니다. 구글 AI 스피커를 구입하고 처음에는 단독으로 음악을 듣다가 크롬 캐스트를 구입 후 프로젝터와 연결 후 노트북이 이 구성에서 제외되었습니다. 추가적으로 프로젝터 HDMI에 크롬캐스트를 끼우면 소리가 프로젝터에만 나오는 제약이 있어 HDMI에서  신호를 분리하는 Audio Extractor를 구입 후 스피커에 연결하여 사용 중입니다. 지금은 구글에게 캐럴 틀어줘, 겨울왕국 틀어줘, 유튜브에서 영상 보여줘라고 말로 하면서 정말 편리해졌습니다. 스마트 폰으로 유튜브나 넷플릭스를 보다가 크롬캐스트로 바로 틀어서 볼 수도 있습니다.

추가 활용

 거실에 구글 홈이 있고 안방에도 구글 홈이 있습니다. 음성으로 불을 끄거나 켤 수 있지만 익숙치 않고 저녁에 조용히 말하기도 애매합니다. 아직은 원격 IOT 버튼으로 켜고 끄는 게 편하지만 어떤 게 더 나은지는 좀 더 사용해 봐야 하는 상황입니다. 

 구글 홈을 통해 음악을 평소보다 자주 듣습니다. 생각보다 편리하게 음악을 들을 수 있고 유튜브 프리미엄을 사용 중이어서 유튜브 뮤직으로 음악을 듣게 되는데 음악 추천이 상당히 좋습니다.(유튜브 프리미엄을 사용하게 된 이유는 구글 홈을 사용하고 크롬캐스트를 사용하게 되면서입니다.)

반응형