휴가철 빈집털이 방지를 위한 IoT 전등. 1편.

휴가철 빈집털이 예방을 위한 IoT 전등(1/2)


7말 8초 휴가철 입니다. 장기간 집을 비울 때 어디에서나 우리집의 전등을 켜고 끌 수 있는 IoT(좀 거창한가..) 프로젝트를 소개해 드립니다. 총 2편으로 구성되어 있으며 이번 편에서는 전체적인 계획과 H/W 구성을 진행해 보려고 합니다. 다음 편에서는 파이썬으로 간단한 웹 서비스를 만드는걸 진행 하겠습니다.

주의 : 220v 전기를 건드려야 합니다. 감전 위험이 높으니 주의가 필요합니다. 전기 작업시 꼭 연결된 배전함의 스위치를 내려 전류를 끊고 작업하시기 바랍니다. 또한 스위치 역할을 하는 릴레이의 경우 감전과 화재 위험이 있습니다. 마찬가지로 주의 바랍니다.

계획

우리의 목표는 벽에 있는 전등 스위치를 인터넷을 통해 켜고 끄는 것입니다. 여러가지 가능한 방법이 있을 것 같습니다. 최근에 비슷한 목적으로 만들어진 기계를 파는것도 본것 같네요. IoT 기능이 내장된 전등 스위치도 아마 있을 것입니다. 직접 만든다고 해도 여러 방법이 있습니다. 스위치를 눌러 켜고 끄는 기계를 레고로 만드는 것도 괜찮을 것 같습니다. 또는 회전각도를 조절할 수 있는 모터인 서보 모터를 사용해 기계적으로 스위치를 누르게 만들수도 있습니다.
하지만 벽에 구멍을 내지 말라는 요청을 받아서.. 그리고 움직이는 기계는 아무래도 복잡하더라구요. 가장 간단하고 직접적인 방법인 전기적 스위치 즉, 릴레이를 이용해 보기로 했습니다.

  • 전등 연결 - 전등 스위치에서 전선을 분리.
  • 스위치 - 전기적 스위치 역할을 하는 릴레이를 사용.
  • 컨트롤러 - 외부 신호를 입력받아 릴레이(스위치)에 신호를 주거나 끊습니다. 웹 서비스를 구상하고 있으므로 라즈베리파이가 적절해 보입니다.
  • 프로그래밍 - 라즈베리파이 + 웹 서비스를 구현하기 쉬운 파이썬을 선택하였습니다.

Tip. 컴퓨터는 회로로 구성되어 있고 전기로 돌아가지만 프로그래머에게 전기와 회로는 낯선 존재인 것 같습니다. 논리가 아닌 실제 물질을 만진다는게 IoT의 매력이지만 '전기'라는 물건은 위험을 내재하고 있습니다. 한 단계식 조심하여 차근차근 진행하는게 안전합니다. 릴레이라는 물건을 처음 다뤄보는 경우 처음엔 작은 전압과 전류만 사용하는 LED로 테스트를 해 보고 나중에 실제 전등을 연결해 보는걸 추천드립니다.

준비물/가격/구입처

부품들을 구할 수 있는 곳은 온라인에 엘레파츠, 디바이스마트 등 여러 몰이 있습니다. 오프라인 매장은 구로전자부품상가가 있는 걸로 알고 있습니다.
  • 라즈베리파이 3 - 51,500원
  • Grove Pi + 보드 - 42,000원. 릴레이를 라즈베리파이에 직접 연결할 경우 필요하지 않습니다.
  • Grove Relay - 5,100원. Grove Pi + 용 릴레이 모듈입니다. 다른걸 사용해도 됩니다.
  • 전선 - 6,000원. 적당한 길이로 구매하시면 됩니다.

H/W 구성하기

전등 스위치 분리

스위치는 하나의 인터페이스 입니다. 켜짐 을 누르면 전기가 흐르고 꺼짐 을 누르면 전기가 끊깁니다. 물리적 작용은 전기의 흐름/끊김 이지만 사용자 입장에서는 켜짐/꺼짐으로 의미가 변환된다고 볼 수 있겠습니다. (중요)차단기를 내리고 전등의 스위치를 분리해보면 이런 모습입니다. 두 개의 스위치가 물려있는데 그 중 아래의 스위치에 전등을 컨트롤해보려고 합니다.

  1. 전원 전선입니다.
  2. 마찬가지로 전선입니다. 교류전기는 음/양극이 없기 때문에 아무렇게나 연결해도 됩니다.
  3. 콘센트에 물린 전선을 분리하려면 하얀 버튼같은걸 눌러줘야 합니다. 일자 드라이버 같은걸로 꾹 눌러준 상태에서 전원을 당기면 빠집니다.
두 개의 전선을 분리하고 서로 닿지 않도록 떨어뜨려 놓습니다. 계속 차단기는 내려둡시다.

전선 연장하기

위에서 분리한 전선을 릴레이에 연결하기 위해서는 전선을 조금 연장해야 합니다. 전압과 전류를 고려해서 너무 얇은 전선을 사용하면 안됩니다. 전선의 연결은 꼬아서 절연 테이프(고무 테이프)로 감는 방법도 있으나 이번에는 스카치락을 사용해 보았습니다. 연결하려는 두 전선을 스카치락에 넣고 꾹 눌러주면 스카치락에 삽입된 단자가 두 개의 전선을 서로 연결해 줍니다.
1, 2의 전선을 각각 연장해 주었습니다.

릴레이 출력 연결

이번 프로젝트에서 가장 핵심적인 부품인 릴레이를 살펴보겠습니다. GrovePi라는 라즈베리파이에서 개발을 쉽게 해주는 모듈을 사용했습니다.
  1. 출력부 입니다. 전등의 전선 2가닥을 연결해 줍니다.
  2. 제어부 입니다. GrovePi는 모듈로 되어 있어 4가닥 선을 사용합니다. 이런 모듈을 사용하는 이유는 저항 등 회로 구성에 기본적인 부품이 모두 보드에 연결되어 있기 때문입니다. 다른 릴레이의 경우에도 대부분 이런 모듈 형태로 구성되어 있습니다.
위에서 연장한 전선을 릴레이 모듈의 출력 부분에 연결해 줍니다.
1과 2는 연장한 전선을 릴레이 모듈의 출력 부분에 연결해 주었습니다. 릴레이의 허용 전력은 교류 250V에서 10A 까지 이므로 전등을 켜기에는 전혀 무리가 없어 보입니다. 3번은 제어를 위한 전선입니다.

테스트 해보기

릴레이란 물건은 상당히 심플합니다. 입력부에 신호를 주면(=전압을 걸어주면) 출력부가 연결(NO인 경우 단락)되어 전기가 흐르게 됩니다. 여기서 신호란 릴레이에 정의된 정도의 전압을 의미합니다. 그게 라즈베리파이던 아두이노던 배터리이건 상관없다는 이야기 입니다. 간단하게 배터리를 이용해 실제로 전등이 켜고 꺼지는지 테스트를 해봅시다.

  1. 배터리 팩에 연결했습니다. 배터리는 직류전기이므로 양(+)극과 음(-)극을 알맞게 연결해줘야 합니다.
  2. 릴레이의 전원입력 입니다. 양극/음극을 맞춰서 연결합니다.
  3. 릴레이의 신호입력 입니다. 디지털 신호로서 특정 전압 이상이 걸리게 되면 신호로 인식(1), 그 이하라면 신호가 없는 상태(0)로 인식합니다.
전등의 전선이 출력으로 연결된 상태에서 3번 신호 입력을 연결하면 전등이 켜져야 합니다. 신호선을 빼면 전등이 꺼져야 합니다. 잘 되나요? 성공을 축하드립니다~

라즈베리에 연결

이제 컨트롤러 역할을 하는 라즈베리 파이에 연결을 할 때입니다. GrovePi는 이 부분에서 강점을 제공합니다. 동일한 4선을 깔끔한 커넥터를 통해 연결할 수 있도록 해주기 때문입니다. 라즈베리 파이에 직접 연결하는 경우 GPIO를 이용해야 하는데 배선이 복잡해지기 쉽습니다. 릴레이의 입력 선을 GrovePi 보드 디지털 입력에 연결해 줍니다.
이 경우 Digital 3번에 연결하였습니다.

하드웨어 준비는 완료되었습니다. 이제 라즈베리 파이를 위해 신나는 코딩을 할 시간입니다.

댓글

  1. 포스팅에 사용된 재료 구매 정보(구매 사이트, 가격정보)도 알려주시면 좋을 것 같아요.

    답글삭제
  2. 음.. 혹시 릴레이를 라즈베리파이에 직접 연결하려면 어떻게해야하는지 아시나요? 또 직접 연결했을 경우 무슨 파이썬 모듈을 써야하나요?

    답글삭제

댓글 쓰기

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기