개발환경

SBC : Raspberry Pi 4B 4GB

PC : Ubuntu20.04 LTS

설명

라즈베리파이에서 UART통신을 하여 정보를 받는 미세먼지 센서를 이용하려한다.

라즈베리파이는 기본적으로 6개의 UART를 활성화 할 수 있다.

이중 블루투스에 하나가 할당되어 5개의 UART를 사용자의 입맛에 맞게 활성화 할 수 있다.

물론 상황에따라 블루투스를 오프로 돌리고 6개를 사용할 수도 있다.

과정

1. 라즈베리파이에 raspi-config 를 설치한다.

https://merobot.tistory.com/25

 

[Ubuntu]라즈베리파이 4B raspi-config 설치오류날때

wget https://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20200601_all.deb -P /tmp sudo apt-get install libnewt0.52 whiptail parted triggerhappy lua5.1 alsa-utils -y # Auto i..

merobot.tistory.com

2. 라즈베리파이에서 raspi-config를 실행한다.

sudo raspi-config

3. 순서에 맞게 셋팅을 진행한다.

1

2

3

4

4. 재부팅을 한다.

sudo reboot

5. 활성화된 UART를 확인한다.

dtoverlay -a | grep uart

6. config.txt 파일을 수정하여 UART를 활성화한다.

sudo nano /boot/firmware/config.txt

빨간색 부분처럼 dtoverlay=uart(2~5)

원하는 번호를 입력해주면 된다.

 

7. 설정이 잘 됐는지 확인한다.

dmesg | grep tty

AMA0~AMA4 까지 설정이 잘 됐다.

 

8. 라즈베리파이 4의 GPIO핀맵은 다음과 같다. 노란색 글씨가 RXD, TXD UART연결 부분이다.

https://projects-raspberry.com/raspberry-pi-4-pinout/

9. 보드레이트 설정을 한다.

sudo stty -F /dev/{PORT-YOU-WANT} {BOARDRATE}

ex) 
sudo stty -F /dev/ttyAMA4 9600
//ttyAMA4 UART에 9600 보드레이트를 할당한다

10. 보드레이트 설정이 잘 됐는지 확인한다.

sudo stty -F /dev/{PORT-YOU-WANT} -a
ex)
sudo stty -F /dev/ttyAMA4 -a

speed 9600 baud로 잘 설정된것을 볼 수 있다.