본문 바로가기
기술팁/라즈베리파이(raspberry)

라즈베리파이 usart 사용하기

by nyg -i 2019. 9. 23.

일단 PI configuration -> interfaces ->serial port  :  enable, serial console  : disable 체크해준다.

핀맵(top view)은 아래에 보면 gnd 와 tx,rx핀을 연결하는데 Tx <-> Rx, Tx <-> Tx 로 크로스 연결하면 된다.

 

usart 를 사용하려면 raspberrypi의 블루투스를 disable해줘야한다.

한개의 uart에 블루투스가 usart를 사용하고 있기 때문이다.

$ sudo nano /boot/config.txt 

나노편집기에서 설정 파일을 열어준다.

dtoverlay=pi3-disable-bt

위 코드를 적어준다.

저장 후 종료,,, 터미널창 열고 

$ sudo systemctl disable hciuart 

$ reboot

적용하기위해 재부팅한다...

 

사용하는 포트를 사용하고 있는 기기가 있는지 확인해보자

터미널창에    dmesg | grep tty  입력

 

만약 uart 를 이미 사용하고 있다면 화살표 방향으로 아래 문장이 하나더 출력된다. 그렇다면 

그 기기를 확인 후 끄고 사용해야 된다. 포트가 충돌 할 수 있기때문이다. 

ls /dev  입력

ttyama0 확인가능하다..

이제 uart 를 사용하면 된다...

 

 

다시 블루투스를 켜려면,,,,

$ sudo nano /boot/config.txt

나노편집기에서 설정 파일을 열어준다.

dtoverlay=pi3-disable-bt

위문장 삭제 , 저장 후 종료,,터미널창에서 

$ sudo systemctl enable hciuart 

$ reboot

다시 원래대로 된것을 볼수있다...

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

19.9.25 위 방법처럼 안해도 되는듯하다. 

PI configuration -> interfaces ->serial port  :  enable, serial console  : disable , 블루투스 오프

까지만 해도 된다.... 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

테스트를 해보자...

시리얼 라이브러리가 있어야한다.... 라이브러리 설치

$ sudo python -m pip install pyserai
$ sudo apt install python-serial 

이제 파이썬  test.py 소스..

import serial

ser = serial.Serial('/dev/ttyS0', 115200, timeout=3)

ser.write('HI TEST SEND\n')

이제 실행해보자..... 시리얼 연결된 피시에서 HI TEST SEND 라는 메세지 받았다면 성공~~