한 2년 전부터 생각해오던 한 시간에 10분만 동작하는 선풍기 제어장치를 만들어 보았습니다.

1. 목적
 – 0시에서 6시까지 1시간 간격으로 10분간 선풍기를 제어하여 더위에 깨지 않고 잘 좀 자보자!


2. 구성

임베디드 서버(NAS) – 허브(공유기) – 제어장치(Server) <- 무선 -> 제어장치(Client) – 리모컨 – 선풍기


3. 임베디드 서버(NAS)

사용자 삽입 이미지    – 제어장치(Server)로 명령(on/off) 전송
    – TCP Client 소켓 프로그램을 제작하여 명령 전송(php 등의 스크립트 언어로 대체 가능)
    – 크론으로 1시간 간격으로 on/off 프로그램 실행
    – NAS 장비 ds-106e 사용(일반 PC 또는 서버로 대체  가능)


4. 제어장치(Server)

제어장치(Server)
사용자 삽입 이미지 사용자 삽입 이미지

    – 임베디드 서버로부터 수신한 이더넷 형식의 명령을 시리얼 형식으로 변환한 후 무선(zigbee)으로 제어장치(Client)에게 명령 전송
    – 구성: 시리얼/이더넷 변환기, 무선모듈(zigbee, ZBS-200), 케이스(스피커 이용)
    – 원래 이 부분은 무선모듈만 “임베디드 서버”(NAS, ds-106e)에 내장하여 콘솔용 시리얼 포트에 연결하여 사용하려고 만들지 않을려고 했으나, NAS의 콘솔용 시리얼 포트에서 송신만 가능하고, 수신이 불가능(콘솔 기능을 위한 특정 프로그램이 시리얼 장치를 사용하여 불가능한 것으로 예상)하여 이렇게 구성하였음

5. 제어장치(Client)
사용자 삽입 이미지사용자 삽입 이미지
    – 제어장치(Server)로부터 명령 수신후 해석하여 리모컨의 on/off 버튼 제어 후 결과를 제어장치(Server)에게 전송
    – on/off가 되었는지 확인하기 위하여 MCU를 사용함(확인 필요없을 경우 무선모듈로만 처리 가능)
    – 구성: 무선모듈(zigbee), MCU, 케이스(고장난 마우스 이용)
    – 전원부: 5v, usb 커넥터 이용

6. 리모컨
리모컨 내부
리모컨 내부    – on/off 버튼과 GND 단자를 제어장치(Client)와 연결하기 위한 커넥터로 구성
    – 나중에 이 부분은 직접 케이블로 제어장치(Client)와 연결하지 않고, 제어장치(Client) 내에 리모컨의 기능을 넣어볼 생각입니다.
    – 제어장치(Client)와의 연결은 아래 사진과 같습니다.
사용자 삽입 이미지
—————————————————————————————————-
하루 동안 동작시켜 보니 잘 동작됩니다^^

 

위 동영상에서 “탁” 소리는 키보드 엔터키 치는 소리입니다.
ds-106e에 있는 프로그램 실행에 따라 선풍기 on/off가 제어됩니다.

이제 제어장치(Client)를 이용하여 PC의 전원제어까지 해볼 생각입니다.
여름이 지나면 필요없기 때문에 다른 용도로 활용하는 것이죠..
다른 용도로 활용하기 위해서 제어장치를 선풍기 내에 넣지 않고, 따로 만든 것입니다.

사실 PC는 WOL(Wake-on-LAN) 기능을 이용하여 외부(집 밖)에서 전원을 제어할 수 있지만, 제가 가진 PC는 최대절전모드를 이용하여 끌 경우 WOL이 동작하지 않습니다.

PC 전원 제어장치 제작 후에는 NAS에 연결된 백업용 외장 하드의 전원을 제어해볼 생각입니다.
백업 필요 시 전원을 켜서 백업하고, 완료 후 전원이 꺼지도록 하는 것이죠..
이 경우 제어장치(Clinet)와 서버측의 프로그램만 하나 더 만들면 됩니다.
제가 선정한 무선모듈의 경우 1:n 통신이 가능한 제품입니다.
MCU를 사용하지 않고, 무선모듈만 이용하여 제작할 예정입니다.