어두운 집으로 돌아가는 것은 우울할 수 있으므로 몇 가지 기성 구성 요소를 사용하여 Raspberry Pi를 사용하여 밝은 집 프로젝트를 빌드해 보겠습니다.
필요할 것이예요:
- Raspberry Pi Zero, A+, B+, Raspberry Pi 2 또는 Raspberry Pi 3
- 최신 라즈비안 OS
- Energenie 전원 소켓 및 Pi Remote
- 리드 스위치
- 점퍼 와이어
- 자석
- 모든 코드는 여기에서 찾을 수 있습니다.
프로젝트
먼저 전원이 꺼진 Raspberry Pi에 있는 GPIO의 첫 번째 26핀에 Energenie를 연결해야 합니다. (참고로 1번 핀은 SD 카드 슬롯에 가장 가까운 핀입니다.) 라즈베리 파이에 기판이 걸려 있는 부분 없이 깔끔하게 끼워집니다.
이제 사용하지 않는 GPIO 핀을 통해 암-암 점퍼 케이블을 GPIO20 및 GND에 연결합니다. (점퍼 케이블을 연장하려면 원하는 길이에 도달할 때까지 수-암 케이블을 사용하십시오.) 암 점퍼 케이블의 한쪽 끝에 리드 스위치를 연결한 다음 다른 쪽을 연결합니다.
접착식 뒷면 플라스틱을 사용하여 스위치를 도어 프레임에 부착하고 자석을 스위치에 수평으로 부착하지만 도어가 닫힐 때 스위치가 닫히도록 도어 자체에 부착합니다.
Raspberry Pi를 부팅하고 터미널을 엽니다. Python 3용 Energenie 라이브러리를 설치하려면 $ sudo pip-3.2 install energenie 를 사용합니다 .
설치되면 프로그래밍 메뉴를 통해 새 Python 3 세션을 엽니다. Energenie 장치를 Raspberry Pi와 페어링하려면 IDLE 셸을 열고 from energenie import switch_on, switch_off 를 입력합니다 . 이제 Energenie를 연결하고 녹색 버튼을 6초 동안 누르십시오.
이렇게 하면 새 송신기를 찾게 됩니다. IDLE 셸로 돌아가서 switch_on(1) 을 입력합니다 . 이렇게 하면 Raspberry Pi가 장치에 페어링되고 '1'로 지정되며 이 과정을 4개의 장치에 대해 반복할 수 있습니다. IDLE이 열린 상태에서 파일 > 새 창을 클릭하고 작업을 entrylight.py로 저장합니다.
이 프로젝트의 라이브러리를 가져오는 것으로 시작하겠습니다.
에너지 가져오기에서 switch_on, switch_off
수입 시간
RPi.GPIO를 GPIO로 가져오기
energenie 라이브러리는 조명 장치를 제어하고 시간은 장치에 전원이 공급되는 시간을 제어하는 데 사용되며 RPi.GPIO는 GPIO 작업에 사용되는 라이브러리입니다.
GPIO.setmode(GPIO.BCM)
GPIO.setup(20, GPIO.IN, GPIO.PUD_UP)
끄다()
다음으로, Broadcom 핀 매핑을 사용하도록 GPIO를 설정하고 GPIO20을 내부 저항이 높게 풀링된 입력으로 설정하여 해당 핀에 대한 전류를 켭니다. 마지막으로 Energenie 장치를 끄고 준비가 되었는지 확인합니다.
기본 코드는 try…except 구조를 사용하여 무한 루프를 둘러쌉니다. 코드의 이 부분에서는 각 줄에 대해 들여쓰기를 정확하게 배치해야 하므로 다음 이미지와 같은지 확인하세요.
루프 내에서 조건문을 사용하여 입력이 트리거되었는지, 즉 문이 열렸는지 확인합니다. 참이면 장치가 30초 동안 켜졌다가 다시 꺼집니다.
else 조건으로 조건문을 마무리합니다. 이렇게 하면 장치가 꺼지고 계속 반복됩니다. 프로젝트를 닫는 방법으로 try…except 구조를 닫습니다. CTRL+C를 누르면 프로젝트가 종료되고 필요에 따라 장치가 꺼집니다.
코드가 완료되면 작업을 저장하고 Run > Run Module을 클릭하여 코드를 테스트합니다.
에너지
고전압 장치를 제어하는 것은 해당 내용을 알고 있는 사람들을 위한 프로젝트이지만 Energenie를 사용하면 위험을 크게 줄일 수 있습니다.
코어에 있는 Energenie 장치는 단순히 릴레이를 제어하는 433MHz 수신기입니다. 고전압 회로에서 자기 스위치를 제어하기 위해 저전압을 사용하는 부품. Raspberry Pi에는 수신기에 켜고 끄도록 지시할 수 있는 송신기가 있습니다.
Energenie 장치는 주전원 전기를 제어하는 안전한 방법입니다. Energenie의 표준 Python 라이브러리는 사용자가 각 장치에 연결하고 올바른 명령을 내리기 위해 송신기에서 사용하는 GPIO 핀을 제어해야 하므로 다소 번거롭습니다.
이 라이브러리는 Raspberry Pi Foundation 교육 팀의 일원인 Ben Nuttal과 10대 해커이자 제작자인 Mini Girl Geek으로 많은 사람들에게 알려진 Amy Mather 덕분에 훨씬 간단해졌습니다. 이 자습서에서 사용한 이 개선된 라이브러리를 사용하려면 각 유닛의 번호를 알고 있어야 하며 한 번에 하나 또는 모든 유닛에 명령을 내릴 수 있어야 합니다.
코드를 검사하고 작동 방식에 대해 자세히 알아보려면 GitHub에서 라이브러리 를 찾을 수 있습니다 .
- 이 기사를 즐겼습니까? Linux에 대한 지식을 넓히고 코드에서 더 많은 것을 얻고 Linux 형식 내에서 최신 오픈 소스 개발을 발견하십시오. 오늘 샘플러를 읽고 내부 제안을 활용하십시오.