728x90
라즈베리파이 모듈 설치 및 설정
아두이노와 시리얼 통신을 하기위한 모듈을 설치합니다.
arduino 패키지 설치하실 필요없습니다.
sudo apt-get install pyserial
group 을 확인해봅니다.
tty group 에는 pi(계정)가 없네요.
cat /etc/group | egrep -i 'tty|dialout'
tty:x:5:
dialout:x:20:pi
usermod 명령어로 tty 그룹에 pi 를 추가 시킵니다.
sudo usermod -a -G tty pi
추가 되었습니다.
cat /etc/group | egrep -i 'tty|dialout'
tty:x:5:pi
dialout:x:20:pi
다음 id 명령어로도 확인할 수 있습니다.
id
uid=1000(pi) gid=1000(pi) grupper=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),997(gpio),998(i2c),999(spi)
시리얼 연결 확인
USB-Serial adapter 가 보이네요.
lsusb
Bus 001 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
파이썬 코드에서 사용될 경로입니다. (연결이 안되있으면 안나옵니다.)
ls /dev/ttyUSB
/dev/ttyUSB0
아두이노 코드 업로드
아두이노를 설치하면서 아두이노에 적외선 센서 제어 코드를 업로한 상태입니다.
따라서 라즈베리파이와 연결하기만하면(전원공급) 아두이노 메모리에 업로드된 코드에 따라 작동합니다.
데이터 전송을 하는 코드입니다.
Serial.write(distance)
아두이노에 코드가 업로드 되지 않았다면 아두이노 IDE 에서 업로드 시켜야합니다.
라즈베리에서 하실 필요는 없습니다. 윈도우에서 업로드를 시킨 후, 라즈베리파이에 연결하면 됩니다.
코드
아두이노에서 전송하는 데이터를 전송받을 때 라즈베리가 제어하는 LED 에 불을 킵니다.
import RPi.GPIO as GPIO
import serial
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
port = "/dev/ttyUSB0"
serial = serial.Serial(port, 9600)
serial.flushInput()
while True:
if(serial.inWaiting() > 0):
if serial.read():
GPIO.output(11, True)
else:
GPIO.output(11, False)
좌 라즈베리파이, 우 아두이노
'IoT > Raspberry Pi' 카테고리의 다른 글
라즈베리파이(Raspberry Pi) 블루투스 스피커 사용하기 (0) | 2020.08.02 |
---|---|
침입 탐지 시스템(IDS) (0) | 2020.08.01 |
아두이노 IDE 설치 / 적외선 센서 다루기 (0) | 2020.07.30 |
라즈베리파이(Raspberry Pi) 카메라 모듈 사용하기 -2 : picamera (0) | 2020.07.28 |
라즈베리파이(Raspberry Pi) 카메라 모듈 사용하기 -1 : h264 to mp4 (0) | 2020.07.24 |