낡은 물뿌리개를 파내야 하고 도예가가 정원을 돌아다니는 것이 어떤 사람들에게는 행복에 대한 생각일 수도 있지만 21세기는 아닙니다. 게다가 다른 해킹 프로젝트를 위해 회수할 수 있는 시간을 생각하십시오.
이 라즈베리 파이 프로젝트에서 우리는 일기 예보 서비스에 연결된 라즈베리 파이와 펌프에 연결된 애드온 보드를 사용하여 식물의 전체 관수를 자동화할 것입니다.
필요할 것이예요
- Raspberry Pi A+ B+ 또는 Pi 2
- 최신 라즈비안 OS
- Piface 릴레이 플러스
- 12v Peristatic 펌프
- 12v 1A 전원 공급 장치
- 나사 단자에 대한 배럴 잭
- 수족관 항공사
- 납땜 기술
- 와이파이 동글
- 열려 있는 weathermap.org 계정
- 모든 코드는 여기에서 다운로드 할 수 있습니다.
시작하려면 펌프 단자에 연결부를 납땜하는 것으로 시작합니다. 핫 글루 건이나 열수축기로 고정할 수 있습니다. 배럴 잭 나사 단자에 더 많은 전선을 사용해야 하며 플러스(+)와 마이너스(-)를 기록해 두어야 합니다.
Piface Relay Plus에서 릴레이 3을 찾아 전원의 GND(-)를 COM 단자와 펌프 연결 중 하나에 삽입합니다. NO(Normally Open) 단자를 찾아 나머지 전선을 모두 삽입합니다. 다음으로 Piface Relay Plus 보드를 Raspberry Pi에 연결하고 데스크톱으로 부팅해야 합니다.
Piface 보드용 소프트웨어를 설치하고 Python 3에서 openweathermap을 사용하려면 XTerminal을 열고 다음을 입력하십시오.
$ sudo apt-get 업데이트 && sudo apt-get install python3-pifacerelayplus
$ sudo pip-3.2 설치 pyowm
프로그래밍 메뉴를 통해 Python 3 IDLE을 열고 새 파일을 만듭니다. 프로젝트를 garden_manager.py로 저장합니다.
i mport pifacerelayplus, time, pyowm을 사용하여 Piface, pyowm 및 time 라이브러리를 가져와서 코드를 시작합니다 .
다음으로 key라는 변수를 만들고 http://openweathermap.org에서 API 키를 저장합니다.
이제 두 가지 기능을 만들어야 합니다. 첫 번째 기능은 Piface에 연결된 펌프를 제어합니다. 우리가 펌프라고 부르는 이 함수는 정원에 물을 얼마나 오래 주어야 하는지 하나의 인수를 받습니다.
우리는 변수 pfr 을 사용하여 릴레이를 사용하기 위한 함수 호출을 줄입니다. 그런 다음 현재 상태에 따라 릴레이를 켜고 끕니다. 그런 다음 릴레이를 끄기 전에 물이 흐르도록 time.sleep() 을 사용하여 일시 중지합니다.
두 번째 기능은 다음 24시간 동안의 일기 예보를 검색합니다. 우리의 위치와 예측할 일수라는 두 가지 인수가 필요합니다. 그런 다음 openweathermap API 키를 저장할 변수를 만들고 추가로 두 개의 변수에 예측 함수의 출력을 포함합니다.
for 루프를 사용하여 예측 데이터를 반복합니다. 이 기능은 여러 날의 날씨를 예측하는 데 사용될 때 자체적으로 제공됩니다.
마지막으로 함수는 if…else 문을 사용하여 예측을 확인합니다. 비가 예보되지 않으면 이 정보는 pump() 함수를 호출하기 전에 셸에 인쇄됩니다. 비가 예보된 경우 이 정보는 다시 확인하기 전에 24시간을 기다리기 전에 쉘에 인쇄됩니다.
마지막으로 다음 24시간 동안 Blackpool에 대한 forecast() 함수를 호출하는 루프를 만들어야 합니다. 물론, 당신이 사는 곳으로 위치를 변경할 수 있습니다.
평소와 같이 이 시점에서 코드를 저장하고 실행 > 모듈 실행을 클릭하여 테스트할 수 있습니다. 테스트를 위해 time.sleep() 기간을 훨씬 더 짧게 줄이는 것이 현명할 것입니다 .
고전압 작업
이 프로젝트에서는 12V 전원 공급 장치를 사용하여 펌프에 전원을 공급했는데 왜 릴레이를 사용해야 했는지 궁금하실 수 있습니다. 라즈베리 파이는 5V 이상의 전압을 견딜 수 없으며 GPIO 또는 라즈베리 파이 자체를 손상시킬 위험이 있는 전압을 사용할 수 없습니다.
릴레이는 Raspberry Pi에 연결된 회로에 의해 트리거되는 자기 스위치입니다. 이 회로는 5V 허용이며 활성화되면 릴레이 내부의 스위치를 당기는 자석을 활성화합니다.
Raspberry Pi와 고전압 회로 사이에는 연결이 없으므로 고전압을 안전하게 제어할 수 있습니다.
우리는 4개의 릴레이가 부착된 Piface Relay Plus 보드를 사용했습니다. 또는 브레드보드에서 릴레이를 사용할 수 있지만 안전상의 이유로 보드에서 12V의 최대 전압만 사용하는 것이 좋습니다. 더 많은 것은 더 강력한 솔루션이 필요하기 때문입니다.
릴레이가 유일한 솔루션은 아니며 트랜지스터를 사용하여 더 높은 전압을 제어할 수도 있습니다. 트랜지스터는 고전압 회로를 분리하지만 저전력 회로에 의해 제어된다는 점에서 릴레이와 유사한 방식으로 작동합니다. 계전기와 트랜지스터는 모두 고전압 프로젝트를 제어하는 저비용 방법입니다.
회로에 대해 잘 모를 경우 전원을 공급하기 전에 아는 사람에게 문의하십시오!
- 이 기사를 즐겼습니까? Linux에 대한 지식을 넓히고 코드에서 더 많은 것을 얻고 Linux 형식 내에서 최신 오픈 소스 개발을 발견하십시오. 오늘 샘플러를 읽고 내부 제안을 활용하십시오.