반응형
오렌지 파이가 가지고 놀기 정말 좋은 보드이지만 어째서인지 공식적인 GPIO를 제어하는 라이브러리가 없다. 라즈베리파이보다 저렴하지만 인기가 인지도가 적은 데는 다 이유가 있다. (확실히 정보량이 적다.) 필자는 Orange Pi PC 버전을 구매해 사용하고 있다.
구글링을 해보니 해외 사용자가 제작해둔 GPIO 라이브러리가 있었다. 하지만 업데이트가 1년전이라 작동할지는 의문이었다.
https://github.com/Jeremie-C/OrangePi.GPIO
pip으로는 라이브러리가 설치가 되지 않아 Manual로 설치해주었다. 아래와 같이 입력하면 된다.
sudo apt-get update
sudo apt-get install python-dev git
git clone https://github.com/Jeremie-C/OrangePi.GPIO
cd OrangePi.GPIO
sudo python setup.py install
example 폴더에 몇가지 간단한 코드들이 있다. 그중 먼저 blink_led.py를 실행시켜 보았다.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import OPi.GPIO as GPIO
from time import sleep # this lets us have a time delay
GPIO.setboard(GPIO.PCPCPLUS) # Orange Pi PC board
GPIO.setmode(GPIO.BOARD) # set up BOARD BCM numbering
GPIO.setup(7, GPIO.OUT) # set BCM7 (pin 26) as an output (LED)
try:
print ("Press CTRL+C to exit")
while True:
GPIO.output(7, 1) # set port/pin value to 1/HIGH/True
sleep(0.1)
GPIO.output(7, 0) # set port/pin value to 0/LOW/False
sleep(0.1)
GPIO.output(7, 1) # set port/pin value to 1/HIGH/True
sleep(0.1)
GPIO.output(7, 0) # set port/pin value to 0/LOW/False
sleep(0.1)
sleep(0.5)
except KeyboardInterrupt:
GPIO.output(7, 0) # set port/pin value to 0/LOW/False
GPIO.cleanup() # Clean GPIO
print ("Bye.")
위의 GPIO핀 7번에 LED를 연결하면 된다. 테스트해보니 예상과 달리 잘 된다. 물론 단순 GPIO 제어에 기껏해야 PWM 수준이라 큰 기대를 하진 않는 것이 좋다. (만약 코드 실행에 error가 발생하면 sudo 권한으로 실행하면 된다.)
반응형
'라즈베리파이, 오렌지파이' 카테고리의 다른 글
오렌지파이에 구글어시스턴트 한국어 설치하기 (0) | 2019.02.23 |
---|---|
라즈베리파이에 구글 음성인식 사용하기 (최신 샘플코드 + 한국어) (41) | 2018.08.19 |
라즈베리파이에 구글 어시스턴트 설치하기 (model ID 포함) (20) | 2018.08.18 |
라즈베리파이에서 USB 마이크, 스피커 설정하기 (2) | 2018.08.17 |
라즈베리파이에 OpenCV 설치하기 (4) | 2018.08.14 |