Wi-Fi를 통해 여러 전원 소켓 (조명)을 제어하는 ​​가장 저렴한 방법


41

내가보고 싶은 것은 내 라즈베리 파이를 사용하여 조명을 제어 할 수있는 가장 저렴한 방법입니다.

내가 그것을 제어하는 ​​상상

스마트 폰에서 Raspberry Pi에 명령을 보낼 수있는 인터페이스를 구축합니다. 그런 다음 Raspberry Pi는 패키지 (또는 다른 것)를 전원 소켓에 넣을 수있는 물건으로 보냅니다 (보이지 않습니다). 이 것은 Wi-Fi를 통해 연결되어야합니다 (내 라즈베리 파이로부터 메시지를받는 방법은 무엇입니까?).

이 무엇 및 가장 저렴한 가능한 방법은 내가 다스 조명 있도록 연결 계획입니다으로 가능한 무엇인가?


(나무 딸기 파이 제외) 지역에서 약 $ 20로 만든 와이파이 제어 콘센트 누군가가 ProvoTronics.com은
타이 존스

답변:


22

이 아이템들을 사용하고 있습니다 :

  • 조명을 제어하기위한 수신기 ON-OFF (일반적으로 장치를 콘센트에 또는 콘센트 대신에 배치). 그들은에서 작동 433 MHz 대역 (ISM).

기본적으로 리모컨에는 수신 장치로 신호를 보내고 켜거나 끄는 리모컨이 있습니다.

제 경우에는 다음과 같은 상황을 만들었습니다.

  • 내 라즈베리 파이에서 HTML 사이트를 만들었습니다 ( /switch.html)
  • 스마트 폰에서 해당 페이지를 호출합니다
  • 페이지에는 4 개의 버튼이 있습니다 (4 개의 장치 / 표시등을 제어합니다)
  • 버튼을 클릭하면 비동기식으로 호출이 발생합니다 /switch.php(.php는 Raspberry Pi에 있습니다)
  • (가) switch.php를 가리켜 switch.py433 MHz의 송신기를 제어하는 프로그램 (아래 참조)
  • 433MHz 송신기는 기본 제공 리모콘과 동일한 기능을 수행합니다.

이것은 발신자, 즉 표준 원격 제어를 대체합니다. Arduino 용 433 MHz 무선 송신기 모듈 수퍼 재생

또한 사외 사용 시나리오를 만들었습니다.

내 홈 라우터를 통해 내 Raspberry Pi를 인터넷에 직접 연결하고 싶지 않았으므로 Raspberry Pi를 직접 제어하지 않는 다른 웹 페이지 (내 도메인에서)를 직접 만들었지 만 나) 이메일 ( Gmail ) 주소.

Raspberry Pi는 10 분마다 해당 이메일 계정을 확인하여 이메일이 있는지 확인합니다. 그 이메일에서 나는 예를 들어 A on 또는 B off라고 말합니다.

따라서 집에 늦게 들어와 조명이 이미 꺼지면 모바일 사이트로 이동하여 (안드로이드 앱으로 계획) 버튼을 클릭하면 페이지가 게시되고 서버에 이메일이 전송됩니다. 다음 0-10 분 안에 Raspberry Pi는 이메일을 확인하고 4 개의 새로운 이메일 (A on, B on, C on 및 D on)을보고 표시등을 켭니다.

시작하는 방법

시작하기 위해, 이것들이 모두 작동하도록하기 위해 한 것입니다. 필자의 경우 433 MHz 송신기의 제어를 파이썬으로 프로그래밍했다 (프로그래밍 방법을 이미 알고 있다면 쉬운 언어 임).

먼저 rpi.gpio라이브러리 를 설치하십시오 .

이 라이브러리는 Python 스크립트에서 Raspberry Pi의 작은 핀을 제어하는 ​​데 사용됩니다. RPi.GPIO Python 라이브러리 설치를 참조하십시오 .

그런 다음 자습서 : Arspino와 같이 Raspberry Pi를 사용하는 방법 기사를 읽을 수 있습니다 ( rpi.gpio예 : 깜박이는 LED 와 같은 라이브러리로 수행 할 수있는 작업에 대한 내용) .

그러나 Elro 조명 전환에 반드시 필요한 것은 아닙니다.

그러면 http://pastebin.com/aRipYrZ6 에서 HeikoHeiko의 Elro 명령에 대한 멋진 코드를 얻습니다 . 해당 코드를 ' switchelro.py' 파일에 붙여 넣습니다 .

그런 다음 94 행의 줄을 자신의 점퍼 설정으로 변경합니다 (리모콘과 콘센트에서 설정 한대로). 라즈베리 파이와 함께 사용하기 전에 리모트 콘센트 장치 조합이 작동하는지 확인하십시오. 표준 구성 요소의 경우 Raspberry Pi에서도 실패 할 수 있습니다).

그런 다음 발신자가 97 번 줄에 부착 된 핀 번호를 변경하십시오.

핀 번호는 RPi 하위 수준 주변 장치File : RPi P1 header.png에서 얻을 수 있습니다.

GPIO34, GPIO24 등이 아닌 1..26 카운트 (검정 이미지) (녹색 이미지)를 사용해야합니다.

그런 다음 명령 프롬프트에 이것을 입력하십시오.

sudo python switchelro.py 2 1

이는 'B 켜기'를 의미합니다 (이 스키마에 따름 : A = 1, B = 2, C = 4, D = 8, E = 16첫 번째 숫자의 경우 1, 켜짐, 두 번째의 경우 0 = 꺼짐).

나는 변경 repeat = 10line 30repeat = 20시작 (내가 왜 기억하지 않는다) 그 작품. '10'설정으로 다시 시도하지 않았습니다.


1
아, 그리고 가격 .. 여기 네덜란드에서는 15 유로의 리모콘으로 3 개의 콘센트 콘센트 세트 (벽 콘센트에서 클릭하면 빛이 수신기로 들어갑니다)가 있습니다. 433Mhz 발신자 비용은 약 $ 5
Michel

내가 찾고있는 것 같아요! 프로젝트 파일을 보내 주시겠습니까? (switch.html, switch.php 및 switch.py) 내 이메일은 위의 답변에 있습니다. 또한 네덜란드에서 on-off2 수신기를 어디에서 구입할 수 있습니까? 귀하가 제공 한 웹 사이트는 가격을 제공하지 않습니다.
Rick Hoving

우수한 post- 시리얼을 통해 전송하는 명령의 소스를 찾은 곳에 추가 할 수 있습니까? 도서관을 이용하고 있습니까? 기기를 어떻게 타겟팅합니까? +1
Piotr Kula

1
@Nitin 내 시스템에서는 수신기의 딥스 위치 (5 개의 켜기 / 끄기 스위처)와 5 개의 글자 (A .. E)를 설정할 수 있습니다. 그래서 코드 default_key = [1,0,0,0,1]로부터 pastebin.com/aRipYrZ6의 코드는 딥스 위치를 제어하고 함께 pin재산 def __init__(self, device, key=[1,1,1,1,1], pin=4):코드 당신이 (가)를 제어 .. E (A = 1 ... E = 16)
미셸

1
@Nitin C #으로 제어하는 ​​방법을 모른다. 최신 PI는 Win10을 실행하고 C #도 실행하기 때문에 기대합니다. 즉, 저는 C # 프로그래머이지만 Python은 배우기 쉽습니다
Michel

6

일이 라고 X10 , 그것은 제어 등을 포함하여 대부분의 가정 자동화 작업을위한 업계 표준입니다. 제어 신호는 기기가 연결된 동일한 전원 라인을 통해 전송됩니다.

컴퓨터에서 모든 것을 제어하려면 OpenRemote 웹 사이트에서 X10 Computer Interfaces 에 대해 읽으십시오 . 당신이 가장 많이 따르는 모델은 USB 인터페이스가있는 CM15A이며, Linux를 지원합니다.

또한 ebay에서 X10 지원 벽면 소켓 및 나 사형 램프 모듈을 확인하는 것이 좋을 것입니다. 10-20 달러 범위에서 상당히 저렴하게 구입할 수 있습니다.


6

당신이 찾고있는 것은 솔리드 스테이트 릴레이 또는 기계적 릴레이 입니다. 저전압 (예 : RPi 등)에서 소량의 전류를 사용하여 더 높은 전압 (예 : 램프)에서 더 많은 양의 전류 흐름을 트리거 할 수 있습니다.

Arduino Raspberry Pi 용 SainSmart 8 채널 DC 5V 릴레이 모듈 $ 12를 권장 합니다. 나사 터미널을 사용할 준비가 된 보드로 이미 제조되었습니다. 기계적 릴레이가 트리거되는 데 필요한 추가 전류를 공급하기 위해 FET가 내장되어 있습니다. 동일한 회사의 보드는 다양한 레이아웃 / 릴레이 수로 제공됩니다. 내가 보낸 것은 8 채널이므로 16 채널 버전을 사용할 수 있지만 필요에 충분하지 않을 수 있습니다 . 일반적으로 여러 개의 릴레이를 별도로 구매하는 것보다 저렴하고 쉽게 연결할 수 있습니다.

4 개의 연결이 필요합니다.

  • RPi에 연결되는 공통 접지 (모든 릴레이에 공유 됨)
  • 개별 RPi GPIO 라인으로 전원을 공급받는 별도의 입력 (릴레이 트리거)
  • 고전압 입력
  • 고전압 출력

고전압 입력 / 출력은 입력 라인에 따라 릴레이에 의해 연결되거나 끊어지는 연결입니다.

SSH를 통해 GPIO 핀을 원격으로 전환하기위한 AWESOME C 프로그램이 이미 있습니다. 원하는 경우 소스 코드를 제공하거나 작동 방식을 설명 할 수도 있습니다.


AWESOME 프로그램에 아니요를 어떻게 말할 수 있습니까? C는 언어 레퍼토리에 없지만, 적어도 시간이 지남에 따라 코드를 볼 수 있습니다.
Rick Hoving

rickhoving7@hotmail.com으로 보낼 수 있습니까? 미리 감사드립니다!
Rick Hoving

질문에 대한 답변이 있으면 투표 화살표 아래의 확인 표시를 클릭하십시오.
Alexander

@XAleXOwnZX이 멋진 코드도 볼 수 있습니까? 아마도 "SSH를 통해 GPIO 핀을 원격으로 전환하기위한 AWESOME C 프로그램이 있습니까?"라는 질문을 열고 대답해야합니다.
puk

귀하의 이메일 주소가 필요합니다. 이메일을 보내어 질문과 답변을 내일 게시하십시오
Alexander

2

내 시스템은 저렴합니다 : EUR 43.- (수신기 + 송신기) 아래를 참조하십시오.

가정 자동화를 위해 3.3V 호환 868,35MHz FS20 송신기를 RPI에 간단히 연결합니다.

http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html

이 트랜스미터는 RPI의 GPIO 포트 (3.3V, GND, TXD, RXD)에 직접 (4 선만) 인터페이스하며 직렬 라인 인터페이스를 통해 간단하게 제어됩니다.

스위치, 토글 스위치, 디머, 타이머, 라디오와 같은 광범위한 FS20 장치를 제어 할 수 있습니다. RPI의 UART 직렬 콘솔 인터페이스를 통해 일부 바이트를 전송하여 다중 채널 수신기 등.

FS20 시스템 개요 :

http://www.elv.de/fs20-funkschaltsystem.html

(불행히도 웹 사이트는 독일어로만 제공됩니다)

개인적으로 가정용 장치를 제어하기 위해 일반 CLI를 선호합니다. GUI를 선호한다면 여기를 살펴볼 수 있습니다.

http://fhem.de/fhem.html

다행히 영어로 :-)

매우 유연하지만 FS20 시스템은 매우 저렴합니다. 간단한 온 / 오프 스위치에 대한 샘플 비용 :

스위치 자체 : http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95

UART 송신기 : http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html EUR 19,95

무선 키보드로 RPI 자체를 제어하는 ​​것이 좋습니다. 이를 위해 선택적 으로이 독창적 인 작은 것을 구입할 수 있습니다.

RT-MWK03 [무선 2.4 Ghz] ( http://www.riitek.com/en/product-detail-428.html )



0

정확히 저렴하지는 않지만 여기 내 해결책이 있습니다.

http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success

기본적으로 RPi 및 터치 패드와 함께 Philips Hue (와이파이 제어 가능, 프로그래밍 가능 다색 LED 조명)를 사용합니다. USB 터치 패드 표면은 색상 및 밝기 크기에 영향을 미치는 반면 마우스 버튼은 표시등을 켜거나 끕니다. 비용은 RPi + Wifi 동글 ($ 11) + 저렴한 USB 터치 패드 ($ 15) + Philips Hue 세트 (브릿지 및 조명 3 개, 조명 60 달러)입니다.


0

나는 다른 접근 방식을 가지고 있습니다 : Busware의 CUL USB 동글 (FS20 + HMS + FHT + 기타 프로토콜 및 장치 지원)을 사용하고 있으며 자체 Java API를 구현하여 장치를 추상화하고 Java 응용 프로그램을 통해 쉽게 자동화 할 수 있습니다.

누군가 내 작은 프로젝트에 관심이있는 경우 : http://www.paulo-lima.org/hans

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.