드디어 부품들을 주문했습니다. 해외에서 오는 부품들도 있으니 일주일쯤 걸린다고 합니다. 온도 센서, 온습도 센서, 리모컨 흉내를 낼 수 있는 IR LED, 다른 리모컨의 신호를 읽어낼 수 있는 IR Receiver.
일주일을 기다려야하니 부품이 올 동안 Raspberry Pi 에서 기본을 설정하려고 합니다. OS를 설치하고 GPIO를 통해 할일들을 생각합니다.
OS는 Raspbian을 선택했습니다. Raspberry Pi 용 Debian 이라 생각하면 편합니다. https://www.raspberrypi.org/downloads/ 에서 OS이미지를 받고, SD카드에 복사한 다음에 SD카드로 부팅하면 됩니다. ( linux, mac에서는 dd명령어, Windows에서는 Win32DiskImager를 사용하면 이미지를 복사할 수 있습니다.) 라즈베리파이에서 무난한 OS라 생각하여 선택했습니다.
GPIO를 통해 데이터를 주고 받는 것을 여러가지 방법으로 구분해야 합니다. LED를 켜고 끄는 간단한 것부터, 리모컨 신호를 읽어낼 방식, 온도 센서로부터 데이터를 읽는 것.
1. GPIO 기본
간단하게 GPIO Pin을 통해 신호를 내보낼 수 있고, 신호를 받을 수 있습니다.
python 코드로 다음과 같이 구성하면 됩니다.
import RPi.GPIO as GPIO
GPIO.setmode( GPIO.BCM )
GPIO.setup( 21, GPIO.OUT )
GPIO.output( 21, True )
GPIO.setup( 21, GPIO.IN )
value_input = GPIO.input(21)
2. w1-gpio / w1-therm
DS18B20 온도 센서를 위해(아마도 다른 온도 센서도 지원되겠죠?) device driver로 제작되어 있는 것이 있습니다. 특정 디렉토리에 텍스트 파일 형식으로 온도 값을 저장해둡니다. 이것만 제대로 읽을 수 있으면 온도 측정은 끝입니다.
3. LIRC ( Linux Infrared Remote Control, http://www.lirc.org)
IR리모컨 신호를 받거나 보내는데 유용한 데몬입니다. 이것을 잘 사용하면 편하게 리모컨 신호를 주고 받는 것이 가능할 것 같습니다.
이 모든 것을 일단 Python으로 시도하려고 합니다. GPIO와 LIRC를 다루기 위해서 다음 패키지 몇개를 설치합니다.
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
sudo apt-get install python-lirc
python-rpi.gpio는 Python을 활용하여 GPIO를 다룰 수 있는 패키지입니다.
python-lirc는 Python을 통해 lirc( http://www.lirc.org/, Linux Infrared Remote Control)을 사용할 수 있게 해줍니다. 원래 C로 만들어진 프로젝트인데 Python에서도 사용가능하게 만들어졌습니다.
그리고 소스 관리를 위한 git도 설정해야겠네요. 소스는 github를 통해 공개할 예정입니다.
sudo apt-get install git
LIRC를 사용하기 위해서 기본적으로 다음URL을 따라하면 됩니다.
http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/
차근 차근 해보니까 무엇인가 되는 느낌이긴한데. 하드웨어가 제대로 준비 되지 않아서 더 못하겠습니다. 이론 공부만 하고, 실전은 다음주 쯤 하드웨어가 도착하면 하기로 합니다.
'IT' 카테고리의 다른 글
라즈베리파이로 에어컨 제어하기 #5 (5) | 2015.07.04 |
---|---|
라즈베리파이로 에어컨 제어하기 #3 (0) | 2015.06.25 |
라즈베리파이로 에어컨 제어하기 #2 (0) | 2015.06.14 |
라즈베리파이로 에어컨 제어하기 #1 (0) | 2015.06.13 |
스마트폰의 위치 측정( 모바일 네트워크, WiFi, GPS, GLONASS ) (0) | 2015.02.23 |