만들기2016. 11. 2. 00:05

글을 시작하며..

IOT 기술에 관심을 갖게되면서

인터넷 서핑, 블로그, 카페를 통해 다양한 응용 기술들을 접하게 되었다.

그러면서 단순한 실험에 그치지 않고 두고두고 쓸만한 홈 오토메이션 전체 시스템을 구축하고 싶어졌다.


프로젝트 목표..

집에서 필요한 다양한 기능을 구현하자

아두이노 기반으로 최대한 저렴한 방법을 찾자

스마트폰으로 언제 어디서든 제어를 하거나 알람을 받을 수 있게 하자


뭘 만들어야 하나? 홈 오토메이션 시스템 구성..

1. 스마트폰과 앱

2. 인터넷 서버 : 사물인터넷 연결 서비스 제공

3. 인터넷 중계망 : 인터넷 무선 공유기로 집안에 사물과 인터넷 서버를 어떻게 연결할 것인가

4. 가정용 허브 : 각종 홈 키트를 관장하는 중앙 제어 장치

5. 홈 키트(장치들) : 말단 장치들..열림감지, 전기 플러그, 전등스위치 등등


1번, 2번 앱과 서버를 직접 만드시는 분들도 있으나 난 그런 능력은 없으니 열심히 발품팔아서 해결책을 찾아보자.

3번은 집에 있으니 패스~

4번 허브와 5번 홈키트는 아두이노로 직접 만들어 보자


이런저런 고민과 개발 과정.. 1년의 시간

홈 키트 만들려고 아두이노+통신모듈 컨셉으로 접근하면 비싸고 전력도 커서 배터리 적용이 힘들다

그러니 홈 키트는 아두이노 없이 무선 통신 모듈만으로 간단한 동작과 데이터 송수신 기능만 하자

이러한 이유로 홈키트 통신 방식을 블루투스(1:1통신)나 와이파이 모듈을 쓰는건 아닌거 같다.


사실 이런 고민을 시작했던 1년 전에는 ESP8266의 펌웨어를 바꿔서 아두이노 처럼 쓸 수 있다는걸 몰랐다.

그렇다고 해도 ESP8266으로 홈키트를 만들면 전력 소모가 커서 배터리는 어렵고 AC전원을 끌어 써야 할 듯.


찾아보니 HC-11 같은 RF 모듈에 간단한 I/O 제어기능이 포함되어 있어서 쓸수 있을것 같다.


여기서 더 찾아보니 RF 통신으로 열림감지, 인체감지, 전원 플러그, 전등 스위치 제품이 있더라!!

게다가 이런 제품들이 상당히 저렴해서 직접 만드는것 보다 구입하는게 훨씬 싸게 들더라.

(무선 전원 플러그랑 전등스위치를 직접 만들려고 했더니 재료비만 각각 몇 만원이 넘더라)


홈키트는 자작을 포기! 그냥 싼거 사서 쓰자.. 근데 이것들이 아두이노로 제어가 될까?

앗! 아두이노에 붙일수 있는 RF 송수신 모듈도 있었네?

잘하면 아두이노로 RF 제품들을 제어할 수 있겠군..

몇 달에 걸쳐 인터넷 서핑과 시행착오, 삽질을 통해 RF 제품들 제어(=해킹)에 성공함

운 좋게 주파수는 잘 맞았고, 프로토콜은 제품마다 달라서.. 이걸 찾고, 분석하는데 상당한 노력이 필요했음


그럼 이제 RF 제품들과 WiFi를 연결해 주는 허브를 아두이노로 만들자.. 게이트웨이 역할이 되겠네..

[RF송수신 모듈 + 아두이노 + ESP8266]


스마트폰으로 제어하려면 어떤 앱이 좋을까?

이것 저것 검색하다가 IFTTT 라는 싸이트 발견! 게다가 Maker 를 위한 기능이 있다고 함

찾아보니 아두이노로 IFTTT와 통신이 가능하다는걸 알게됨

더 찾아보니 DO 라는 앱을 쓰면 스마트폰에서 아두이노로 명령도 내릴수 있다고 함


자, 이제 ESP8266을 써서 WiFi로 IFTTT, DO 앱하고 연결해 볼까?

HTTP, GET 뭐 이런 프로토콜을 알아야 하네.. 음.. 잘 모르겠고 일단 만들어 보자

이것도 몇달에 걸쳐 장님 코끼리 뒷다리 만지듯이 시행착오를 통해 IFTTT 서버로 전송 성공

열림감지 센서값을 RF로 받아서 IFTTT 통해서 스마트폰에 알람을 띄움


스마트 폰에서 DO앱으로 명령을 내리면 ESP8266+아두이노가 알아듣고 전등을 키고 싶다면,

ESP8266를 서버 모드로 셋팅하고 문자를 받으면 해석해서 해당 명령에 맞는 동작을 함

이것도 역시 몇달 걸려서 ESP8266 서버 기능과 수신 문자 해석 기능을 만듬

하지만 내가 만든건 코드가 조잡해서 쓸만한 ESP8266 라이브러리를 찾아 개조함


필요한 기술은 다 개발했으니 시스템 통합을 하자!

이것도 ESP8266 동작시키는데 제한이 있어서 몇 달 정도 걸려서 통합을 완성함


결국 시작한지 1년 정도 걸려서 프로젝트를 완성할 수 있었다.

사실 탱자탱자 놀면서 짬짬히 하다보니 생각보다 오래 걸렸다...


시스템의 한계와 단점..

저렴한 RF 방식의 홈키트를 적용하다 보니 생기는 단점들..

..전파 방해나 혼신, 보안문제, 해킹에 취약 할 수 있다

 (사실 아직 사용자가 많아 질때 까지는 발생하지 않을 문제다)

..홈키트 모듈에 프로세싱 기능이 없다보니 현재 상태를 피드백 해주지는 못한다

 (예를들어 전등을 켰는데 현재 켜진 상태인지, 꺼진 상태인지 응답 하는 기능은 없다)


그래서 국내 시판되는 IOT 홈오토메이션 제품들은 Z-wave 라는 무선통신을 쓴다.

아직 Z-wave는 공부를 안해서 어떤 기능까지 지원하는지 모르겠지만, 위에 언급한 문제들은 없겠지?

프로젝트 결과..

스마트폰으로 집 밖에서 집안에 전등과 전기 플러그를 ON/OFF 할 수 있다

잠자리에 누워서 집안에 모든 전등을 끌 수 있다

창문/현관문이 열리거나 사람이 감지되면 스마트폰에 알람이 온다

이 둘을 연결해서 집에 사람이 들어오면 자동으로 전등이나 전기 플러그가 켜진다


프로젝트 비용..

각 부품을 1개씩만 적용할 경우 전체 재료비는 대략 82,200원 정도


홈 오토메이션 키트 (건전지 값 포함)

열림감지 무선센서 (5,000원) 인체감지 무선센서 (12,500원)

무선 전원 플러그 (10,000원) 무선 전등스위치 (45,000원)


가정용 허브 구축

아두이노 (5,400원) ESP8266(3,500원) RF송수신모듈 (1,800원)

인터넷 서버 중계 : 무료 (IFTTT 서비스 활용)


상용 제품 대비 DIY 장단점과 가격 비교..

일단 DIY 를 하면 매달내는 통신비는 안낸다. (IFTTT 서비스가 유료로 되지 않는다면)

통신사에 사용기록이 남지 않아서 프라이버시를 지킬 수 있다. (특히 샤오미 같으면 중국서버에 기록이 남을수도..)

가정용 허브 코딩을 잘 하면 홈키트끼리 연동해서 동작하게 바꿀 수 있다. (상용제품에 없는 기능)

단점은 DIY를 하려면 알아야 할것도 많고, 귀찬고, 안되면 삽질도 해야한다.


상용제품을 쓰면 좀 비싸지만 좀 더 편리하게 귀찬은거 신경 안쓰고 쓸 수 있다.

다만 나만의 아이디어가 있을때 다양하게 확장하기 어렵고, 무엇보다 직접 만드는 재미는 없다.


LG IOT@홈

통신요금 연결 제품 1개당 2,200원

가정용 허브 (별도 구입 안되고 서비스 가입시 제공)

열림감지 센서 단품 33,000원

전기 플러그 단품 44,000원

전등 스위치 단품 55,000원


SK 스마트홈

선납이용료 (가입시 1회 납부, 5,500원)

통신요금 연결 제품 1개당 (1,100원 ,3년약정시) 연결제품 무제한(9,900원, 3년약정시)

브릿지(가정용 허브) 50,000원

전기 플러그 단품 44,000원

전등 스위치 단품 55,000원


샤오미 홈 오토 키트

허브+열림감지1개+인체감지1개+무선스위치1개 = 약 50달러


가격은 샤오미를 따라갈 수가 없다. 중국 서버를 거친다는게 찜찜 할 뿐..


개발 기술 공유를 위한 글 연재 순서..

RF수신 모듈로 프로토콜 해석하기 (열림센서, 인체감지센서, 무선리모콘 신호 받기)

RF 송신 모듈로 제어 명령 보내기 (전등 스위치 또는 전기 플러그 ON/OFF)

무료 인터넷 중계 서버 IFTTT 사용법

ESP8266 으로 IFTTT에 트리거 보내서 스마트폰 알람 띄우기

스마트폰 DO 앱으로 ESP8266에 알림 보내기

ESP8266 AT명령으로 쓸 때 주의할 점

지금까지 기술을 집약해서 가정용 허브 만들기



Posted by orasman