RPI로 KT gigagenie AI 스피커 키트 만들기 - 4편
RPI로 KT Gigagenie AI 스피커 키트 만들기 - 4편
저번 시간에는 기본적으로 제공되는 예제들을 구동해 봤습니다.
이번 시간에는 기본 예제를 이용한 GPIO 출력 응용을 해보도록 하겠습니다.
GPIO 출력하기
sudo pip3 install RPi.GPIO
python으로 GPIO를 제어하기 위해 RPi.GPIO를 설치합니다.
gpio_output_test.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(31, GPIO.OUT)
while True :
GPIO.output(31, GPIO.HIGH)
time.sleep(0.5)
GPIO.output(31, GPIO.LOW)
time.sleep(0.5)
위 코드를 이용하여 GPIO의 OUTPUT이 작동하는지 확인합니다.
0.5초 간격으로 버튼의 LED가 깜빡입니다.
종료는 Ctrl+C를 눌러주면 됩니다.
예제 2번을 응용하여 LED 제어를 해 보도록 하겠습니다.
예제2번 응용하기
$cd ~/ai-makers-kit/python
$cp ex2_getVoice2Text.py led_with_voice.py
python 예제폴더에서 ex2~ 파일을 led_with_voice.py로 복사합니다.
이제 led_with_voice.py 파일을 수정해 보겠습니다.
CLIENT_ID = CLIENT ID값
CLIENT_KEY = CLIENT KEY값
CLIENT_SECRET = CLIENT SECRET값
19~21번 줄에 있는 ID, KEY, SECRET 값을 넣어줍니다.
이 값은 2번째 시간에 받은 clientKey.json파일 안에 있습니다.
import RPi.GPIO as GPIO
import time
gpio와 time 관련 라이브러리를 import 해줍니다.
아직 time을 사용하진 않지만 나중을 위해서 해주었습니다.
if resultText.find('켜줘') >= 0 :
GPIO.output(31, GPIO.HIGH)
elif resultText.find('불꺼') >= 0 :
GPIO.output(31, GPIO.LOW)
결과 텍스트에서 켜줘 혹은 불꺼가 있으면 LED를 조작합니다.
한글을 입력하기 위해 상단의 키보드모양을 누르면 태극문양으로 바뀌며 한글 입력이 가능합니다.
한번 더 누르면 다시 키보드모양으로 돌아옵니다.
GPIO.setmode(GPIO.BOARD)
GPIO.setup(31, GPIO.OUT)
GPIO의 모드와 31번 핀을 출력으로 설정해 줍니다.
main 함수 안에서 해주었습니다.
$python3 led_with_voice.py
수정한 파일을 python3를 이용해 실행합니다.
입력받은 텍스트가 나오며 켜줘라고 말하면 LED가 켜지게 됩니다.
위와 같이 텍스트가 나오며 불꺼가 입력되면 LED를 끕니다.
이상으로 4편 GPIO조작편을 마치도록 하겠습니다.
감사합니다.