DESIGN YOUR SMARTHOME

Beacon,Geofency를 활용한 현관문 자동화

이번글은 비콘을 활용한 현관문 자동화에 대해 알아보겠습니다.

내용이 길것 같은데.... 자 달려봅시다..

먼저,우리 가족에게만 열리는 현관문 자동화입니다.

시나리오는 스마트 폰(와치)을 소지한 우리 가족이 외출후 집으로 돌아올때 현관문 약 4미터 반경에 들어오면 ,자동으로 현관문이 열리는 것입니다.

현관문 자동화 방법은 다음의 순서를 따릅니다.

1. 가상디바이스로 현관문 센서 만듬

2. 현관문 센서(가상디바이스)의 http 주소 취득

3. 현관문 도어락에 릴레이 연결

4. 현관문에 설치한 비콘을 Geofency에 연동후 비콘 신호 수신하면 webhook 실행.이때 입력 주소는 현관문센서

5. 현관문의 제어를 위한 Rule Creater 작성.

셋팅은 Zipatile 기준으로 설명합니다. 다른 Z-wave 허브 사용자들은 응용해서 적용하시면 됩니다.


1. 가상디바이스로 현관문 센서 만듬

<그림 1>

Zipatile의 제어 화면에서 Device browser (좌측 돋보기 아이콘)을 선택하면 표시되는 화면에서 +ADD NEW DEVICE를 누릅니다.

<그림 2>

표시되는 화면에서 Virtual devices 선택

<그림 3>

Zipatile 에서 생성 가능한 가상디바이스들중 Virtual sensor을 선택.

<그림 4>

표시되는 창에서 가상디바이스의 이름을 현관외부모션 정함.

<그림 5>

현관외부모션이 만들어진후 가상디바이스 리스트에 등록여부 확인.

현관외부모션 클릭 -->현관외부모션 --> SENSOR --> STATE  오른쪽   ✲ 클릭

2. 현관문 센서(가상디바이스)의 http 주소 취득

<그림 6>

STATE  오른쪽   ✲ 클릭후 표시되는 창에서 URL 주소 확인.

현관외부모션(가상디바이스)의 http 주소임.

https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=

* Zipato는 가상 디바이스를 만들더라도 로컬주소가 아니라 외부에서도 접속이 가능한 고정주소가 발급됩니다.

<그림 1>을 다시 보면 Device browser가 있습니다. 여기서 http 디바이스를 선택하면 다음의 창이 표시됩니다.

<그림 7>

현관외부모션 가상디바이스가 보이며 Inactive 입니다.

여기서 현관외부모션의 주소를 웹브라우저 주소창에 복사하고 주소 끝에 1을 입력합니다.

https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=1

크롬 주소창에 현관외부모션 주소 입력후 엔터하면 위와 같은 값이 생성되며 Device browser창에서 현관외부모션이 Active 됩니다.

<그림 8>

현관외부모션의 주소를 웹브라우저 주소창에 복사하고 주소 끝에 0을 입력하면 현관외부모션이 Inactive 니다.

https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=0

여기까지는 가상디바이스를 생성하고 동작 활성화 확인 단계입니다.

3. 현관문 도어락에 릴레이 연결

저희집의 현관문의 모델명은 "ADS70HI" 이며 이건창호 제품입니다. 정확히는 독일 Schüco 제품입니다.

<그림 9>

* 2014년도에 찍은 사진인데 그당시 사용한 Doorbot 도어벨이 보입니다. Ring 도어벨의 초기모델이죠.

ADS70HI 도어에는 4가닥의 선이 있으며 2선은 전원선 ,2선은 현관도어락 제어입니다.

<그림 10>

도어락제어 2선을 Zipatile에 내장된 릴레이에 연결합니다. Zipatile의 뒷면에 릴레이가 있습니다.

<그림 11>

도어락과 연결한 릴레이를 현관문 디바이스로 등록합니다. 이제 현관문은 릴레이의 on/off 조작에 따라 도어락은 열림/닫힘이 가능합니다.

<그림 12>


4. 현관문에 설치한 비콘을 Geofency에 연동후 비콘 신호 수신하면 webhook 실행.이때 입력 주소는 현관외부모션

<그림 13>

Geofency app에서 현관 비콘에서 영역에서 왼쪽으로 스와이프하면 서브 메뉴가 나옵니다.

<그림 14>

서브 매뉴에서 Webhook 선택합니다.

<그림 15>

Event -->URL Settings 선택합니다.

<그림 16>

ENTRY Event 영역의 URL에서 현관외부모션 주소를 입력하고,끝에는 1을 붙입니다.

https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=1

이제 현관비콘의 신호를 우리 가족의 스마트 폰이 수신하자 마자 현관외부모션이 Active 됩니다.

5. 현관문의 제어를 위한 Rule Creater 작성.

Zipato는 강력한 Rule Creater가 있습니다.

각 디바이스들의 자동화 장면을 만드는 기능인데 장면의 작성은 직관적이고 쉽지만 그 기능은 실로 막강합니다.

마치 레고 조립하듯이 블럭을 조립해서 장면을 만듭니다.

Rule Creater의 사용법에 대해서는 추후를 기약하겠습니다.

<그림 17>

Rule Creater는 다음과 같은 화면 구성이며 다양한 모양의 블럭을 끼워 맞춰 장면을 구성합니다.

메인 조건은 When 블럭입니다.

<그림 18>

작성된 현관문 자동화 Rule Creater 입니다.

1 ~ 12번 까지의 내용에 대해 설명하겠습니다.

1.  when 블럭의 실행 조건은 현관외부모션(가상디바이스)이 Active 상태일때. * 스마트폰이 현관비콘을 수신하면 현관외부모션은 자동으로 Active로 됨

2.  만약 시간이 7:00~22:00 사이이면

3.  현관문(릴레이)을 ON action 하고 현관문 도어락 열림

4.  메세지를  스마트 폰으로 보낸다. 현관문이 열렸습니다

5.   11초 기다린후 * 즉 현관문이 11초 동안 열림

6.  현관문(릴레이)을 Off action 하고 현관문 도어락 잠김

7.  2초 기다린후

8.   http 주소를 던진다. * 주소는 https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=0 로 하면 현관외부모션(가상디바이스)이 Inactive로 바뀐다.

9.  메세지를  스마트 폰으로 보낸다. 현관문이 닫혔습니다

10.  만약 시간이 22:00~07:00 사이이면 1.의 조건을 만족하더라도 * 현관외부모션(가상디바이스)이 Active 상태

11.   http 주소를 던진다. * 주소는 https://my.zipato.com/zipato-web/remoting/attribute/set?serial=*************=268b0e54-d630-4202-aa71-694ba6794f36&ep=98bf02b3-e5b7-4249-944f-2737c3c5106a&value10=0 로 하면 현관외부모션(가상디바이스)이 Inactive로 바뀐다. 즉 현관문은 열리지 않는다.

12.  1 ~11 까지 구성한 장면을 저장한다. * Rule Creater는 반드시 Save를 해야 장면이 반영된다.


여기까지는 비콘을 이용한 현관문 제어였습니다.

위의 방법을 따르면 스마트 폰을 소지한 우리 가족에게만 도어락이 반응을 하며 현관문 반경 약 4미터에 들어오면 기다림 없이 순간적으로 현관문이 열립니다.
비콘 범위를 4미터 보다 더 넓히면 훨씬 더 스마트폰과 비콘의 통신이 원할하겠지만 비콘의 배터리가 좀 더 빨리 소모됩니다.
그리고,비콘의 신호가 빨리 수신되지 않을 때도 간혹있는데 이때는 비콘의 신호 간격을 짧게 설정하면 됩니다.
물론,비콘의 배터리 소모는 좀 더 빠릅니다.
비콘을 이용하면 GPS와는 비교할수 없을 정도로 정확한 위치에 따른 제어가 가능하고, 모션센서보다도 똑똑한 우리 가족에게만 열리는 현관문 제어가 가능합니다.

* 여기서 좀 더 응용을 하면 가상디바이스를 가족명으로 각자 만들고, Rule Creater에서 1.의 현관외부모션(가상디바이스) 대신 가족명으로 대치해 현관문 제어를 하면 가족 개개인의 입출입과 재실 여부가 자동으로 파악됩니다.


다음에는 비콘을 이용하여 정확한 재실파악, 실내 위치 기반의 개인화된 스마트홈 서비스 구축에 대해 알아보겠습니다. 



Geofency를 이용해 Beacon을 스마트홈 시스템과 연동하기

이번글은 Beacon을  Smart Home system과 연동하는 방법에 대해 설명합니다.


가장 효과적인 홈 오토메이션은 재실 상태를 기반으로 합니다.

그러나 스마트 홈 시스템의 근본적인 질문은...

어떻게 "내가 집에 없다는 것을 알 수 있을까? 내가 집에 돌아 왔는지 어떻게 알 수 있을까? 입니다.

그동안 재실을 판단하기 위한 방법으로..

스마트폰의 와이파이 접속으로 재실여부 판단

RFID 키패드 또는 NFC 태그를 이용해 재실여부 판단

재실센서를 소지하는 방법

GPS를 이용하는 방법등을 주로 사용했었습니다.

위의 방법들은 장점도 있지만 정확한 재실판단이 부정확하거나,시간이 걸린다거나,번거롭기도 합니다.

그에 비해 비콘은 저렴하면서 GPS가 되지 않는 실내에서도 수미터의 정확도로 위치를 파악할수 있습니다.



비콘을 이용하는 Geofency는 위치기반의 time tracking 앱입니다.

방문한 모든 위치와 머문 시간을 추적하며,자신이 방문한 곳의 in,out 시간을 알 수 있으며 머문 시간은 자동으로 기록됩니다.

그렇기에,위치 기반 시간 추적이 가능합니다. 

외부에선 지오펜싱 기반이며,내부에선 beacon의 위치 기반 기술을 사용합니다.

어떠한 지오펜싱 앱보다 배터리 소모량이 적기 때문에 부담이 없습니다.

매일, 매주 및 매월 특정 위치에서 보낸 총 시간을 계산하고 매일 다른 위치에서 시간이 소비되는 방식을 보여주는 분포 그래프를 작성합니다.

Geofency를 사용하여 현재 위치 상태를 감지 할 수 있으며,비콘을 이용해선 자신의 재실 위치를 스마트 홈 허브에 전송해 지속적으로 실내 위치를 업데이트 할 수 있습니다.

사용자가  geofence 또는 Beacon 영역에 들어가거나 나가면 Webhook 기능을 사용해 스마트 홈 시스템을 트리거 할 수도 있습니다.

따라서 자동으로 존재 탐지나 위치기반의 스마트 홈 서비스를 설정하는 것이 상대적으로 쉽습니다. (예 : 경보 시스템을 자동으로 활성화 또는 비활성화)


Geofency를 실행하면 다음과 같은 화면을 볼수 있습니다.

<  위의 화면에서 현관 ~ 아이들방의 아이콘은 비콘센서를 표시합니다.>

저희집에는 21개의 비콘을 사용중인데 Geofency에는 현관,2층,화장실,베티(자동차),거실,아이들방 이렇게 6개를 사용중입니다.

나머지는 다른 용도로 사용하는데,물론 스마트홈과 연계하여 사용중입니다.(비콘은 숨겨서 설치가 가능하므로 많은 수의 비콘이라도 눈에 띄지 않습니다)

왼쪽 상단 + 를 누르면 모니터링할 장소나 대상 또는 위도,경도를 선택할수 있습니다. 여기서 iBeacon을 선택합니다.

UUID,Major,Minor를 입력해야 하는데 저의 경우는 Estimote 비콘만 사용합니다.

Estimote의 기본 앱을 사용하면 UUID,Major,Minor를 알수 있으며,비콘의 신호범위와 신호전송 간격을 셋팅할수 있습니다. (동영상 참고)

<동영상 화면을 확대해서 보세요>

Estimote의 비콘이 다른 비콘보다 신호의 위치 정확도가 뛰어나기에 저는 해당 제품만 사용하고 있습니다. (아래 링크 참고)

https://reprage.com/post/How-accurate-are-estimote-ibeacons

영상을 보시면 저의 경우 비콘의 신호범위는 가장 좁게 (1m),신호 간격은 짧게 셋팅했는데 실내의 상황에 맞게 설정하시면 됩니다.

비콘의 신호범위를 넓게 설정하면 스마트폰에서 더 원할히 수신 가능하지만,방마다 비콘 셋팅시 인접한 방의 비콘이 겹쳐 수신이 될수 있습니다.

위의 사진과 같이 현관과 거실의 비콘 신호가 중복으로 수신이 되면 제가 두 군데에 존재하는 것이 되므로 정확한 재실을 파악할수 없기 때문입니다.

제 경험상 비콘의 신호범위는 최대한 좁게,비콘과 비콘사이의 거리는 적어도 도보로 5초이상의 간격으로 셋팅함이 좋습니다.

일단 비콘을 Geofency에 연동하면 다음의 매뉴를 볼수 있습니다.

매뉴는

Edit Name

Show on Map

Notifications(on/off) 

Setting

Webhook

iBeacon setting

 Stop Monitoring

Export to Calendar

Open in Apple Maps

Open in Google Maps

Add to Contact

Edit Coordinates

여기서 Webhook을 보면

Event-URL Settings 을 보면

ENTRY EVENT는 비콘 신호 범위에 들어가 수신했을때, EXIT EVENT는 비콘신호 범위를 벗어날때 URL을 보내는 것입니다.

* Geofency를 보다 잘 작동 시키려면 Webhook 구성 화면에서 'Send Current Position'기능을 활성화해야 합니다. 

여기까지 내용만으로도 이제 각자의 스마트 홈 환경과 비콘을 연동하여 새로운 기능을 만들어 낼수 있을겁니다.


다음에는 비콘을 이용하여 현관문 자동화와 정확한 재실파악, 실내 위치 기반의 개인화된 스마트홈 서비스 구축에 대해 알아보겠습니다. 






'iBeacon & Eddystone' 카테고리의 다른 글

Beacon,Geofency를 활용한 현관문 자동화  (0) 2018.04.23
Beacon,그리고 스마트홈  (0) 2018.04.20

Beacon,그리고 스마트홈

"단순함은 궁극의 정교함이다"
개인적으로 미니멀리즘을 추구하므로 스마트 홈 시스템도 단순함을 지향합니다.
대부분의 사용자들이 구축한 스마트 홈 시스템은 여러 센서들과 디바이스들을 설치해 각자 취향의 환경을 구축합니다.
저의 경우는 최소의 기기만 설치하여 스마트홈 환경을 구축하는 편입니다.
iot에서 단순함을 지향하면서 최대의 효과를 얻을려고 하면 어떻게 구성해야 할까요?
저의 경우 이에 대한 방법으로 비콘을 활용합니다.
비콘은 매우 단순하지만 정교한 iot 기술의 구현이 가능합니다. 
일반적인 스마트 홈에서 재실이나 실내의 위치 인식을 구현하기 위해선 여러 센서들의 조합이나 이미지 분석,무선 신호 data의 분석을 통해 재실여부,위치를 판단합니다.
비콘을 사용하면 재실,위치기반의 서비스는 간단히 구현 가능하며 스마트 홈 시스템을 보다 더 심플하게 구성 가능합니다.

비콘 및 iBeacon의 작동방식

비콘은 블루투스(BLE) 기반의 통신장치로 신호를 방출하면 근거리에서 접근하는 스마트 기기들은 이 신호를 수신해 정보와 서비스를 제공 받을수 있습니다.

쉽게 설명해 비콘은 "나는 여기있다, 내 ID는 *********** 다."라는 간단한 무선 신호를 지속적으로 전송합니다. 

대부분의 경우 신호는 블루투스 저에너지 (BLE) 기술을 사용하여 근처의 스마트 장치에서 수신합니다. 

스마트 장치가 비콘 신호를 감지하면 비콘의 식별 번호 (UUID)를 읽고 비콘과의 거리를 계산하며 이 데이터를 기반으로 비콘 호환 모바일 응용 프로그램에서 작업을 트리거합니다.

정리하면 비콘이 하는 일은 설치된 곳에서 각자의 고유한 식별 무선 신호를 내보냅니다. (UUID,Major,minor)

배터리가 죽을 때까지 이것을 계속합니다. 그게 다입니다. 

단지 스마트 장치에 자신의 존재를 알리기만 하면 됩니다.




Apple은 2013 년에 iBeacon 프로토콜을 도입했습니다. 

Google은 2015 년에 Eddystone 프로토콜을 도입했습니다. 

Eddystone은 오픈 소스이며 iBeacon보다 더 많은 데이터 유형을 지원합니다.

비콘은 일반적으로 상점에서 고객에게 마케팅 콘텐츠를 제공하기 위해 오프라인 상점에서 사용됩니다. 

고객이 상점에 입장 할 때 광고 또는 프로모션 내용을 고객의 스마트 기기에 제공하며,특정 제품에 대한 보다 자세한 대화형 컨텐츠를 제공하기도 합니다.

비콘 스스로는 어떤한 일도 할 수 없고,스마트 기기의 특정 응용 프로그램이 비콘 신호를 수신하면 이에 따라 어떠한 기능을 수행합니다. 


비콘이 다른 스마트 센서와 다른점

비콘이 스마트홈에 사용되는 일반적인 센서와의 차이는,바로 존재를 알아차린다는 것입니다.

그렇기에 공간을 개인화 할수 있습니다. 이는 다른 스마트 센서들을 이용해서는 구현하기가 힘듭니다.

나 자신뿐 아니라 가족구성원 각각의 존재를 감지할수 있으므로,각개인에게 맞춤화된 스마트홈 설정이 가능하다는 뜻입니다.

주택 실내의 각 공간에 비콘을 놓아두거나 각방마다 비콘을 두고 홈 자동화를 개인에게 맞출수 있습니다.

비콘은 스마트 디바이스를 통해 엔터테인먼트 장치, 보안 시스템, 가전 제품, 온도 조절기, 감시 카메라 등을 제어하는 ​​메커니즘을 활성화함으로써 사용자가 진정한 스마트 생활 공간을 조성하도록 합니다. 

좋아하는 음악 장르, 선호하는 조명 설정, 선호하는 TV 채널,선호하는 온도 등과 같이 철저하게 개인화된 안락한 생활 환경을 제공합니다.

비콘을 사용하면 접속된 사용자에 따라 다양한 제어 서비스가 가능합니다.

비콘으로 인해 디지털 세계(iot)와 물리적 세계(주택)를 원할히 융합할수 있습니다.

비콘을 사용하면 스마트홈 장비들은 나 자신의 존재를 인식하게 되어, 나만의 맞춤 제어가 가능해지므로 디지털 Life가 훨씬 더 풍부해집니다. 



<서재에 위치한 비콘신호를 나의 스마트폰에서 수신하면 서재의 환경이 (조명,온도,음악) 나의 취향에 맞춰 실행된다.>


비콘 + 스마트홈

비콘이 집 안팎에 배치되면 비콘은 스마트 디바이스와 상호 작용하고 설치되어 있는 비콘에 스마트 디바이스가 근접하면 적절한 애플리케이션 실행,webhook,action,trigger를 수행합니다.

비콘은 배치된 위치에 따라 제어할 수 있는 장치를 선택해 활성화 할 수 있습니다. 

멀티미디어 장치에서 보안 시스템에 이르기까지 다양한 스마트 장비들의 종류에 따라 자체 규칙을 설정할 수 있습니다.

비콘은 존재를 인식할수 있기에 재실 인원이 몇명인지 실내 어디에 있는지 누구인지 정확히 알수 있습니다.

집안에 사람의 존재 여부를 알수 있으므로 보안 시스템을 정확히 제어 할수 있습니다.

또한,현관문에 비콘을 설치하면 가족이 접근할때만 도어락의 open을 자동화 할수 있습니다.

존재를 인식할수 있기에 가족 구성원의 귀가,외출을 알 수 있습니다.

비콘의 큰 장점은 설치에 기술적 전문 지식을 요구하지 않는다는 것입니다.

누구나 쉽게 원하는 장소에 배치하면 그것으로  끝입니다.

비콘은 위치기반 서비스가 가능합니다.

비콘이 위치한 실내 각 공간에 스마트 디바이스가 접근해서 신호를 수신해 동작하기 때문에 위치에 따른 제어를 할수가 있습니다.


다음편은 비콘과 스마트홈을 연동하기 위한 방법입니다.