-
라즈베리파이 두번째 UartAutonomous Lawn Mower/Raspberry pi & STM32 2025. 4. 24. 11:34반응형
Raspberry Pi 4에서 ttyAMA2(UART2)를 사용하려면 device tree overlay를 사용하여 수동으로 활성화하고 특정 GPIO 핀에 할당해야 한다.
1. UART2를 위한 GPIO 할당
ttyAMA2(UART2)는 기본적으로 GPIO에 연결되어 있지 않으므로, 사용 가능한 대체 기능 지원 GPIO에 매핑해야 한다.UART2의 일반적인 GPIO 옵션:
- TXD2: GPIO0, GPIO4, GPIO12, GPIO32
- RXD2: GPIO1, GPIO5, GPIO13, GPIO33
이중 GPIO0 (Pin27)과 GPIO1(Pin28)을 사용한다. HM-10 블루투스 통신모듈과 라즈베리파이4를 아래 그림과 같이 연결한다.

2. UART2를 활성화 하기 위해서 /boot/firmware/config.txt를 편집
RealVNC에서 터미널을 열고, sudo nano /boot/firmware/config.txt를 열어서 dtoverlay=uart2,txd2_pin=0,rxd2_pin=1을 입력한 후 sudo reboot 한다.


3. UART2 동작 확인
터미널에서 ls /dev/ttyAMA* 을 입력하면 /dev/ttyAMA2가 보여야 한다.

4. 핸드폰 앱과 통신 확인
RealVNC에서 Programming > Thonny를 오픈해서 아래와 같이 코딩을 입력해주면 블루투스를 통해서 입력받은 문자를 하나씩 출력해준다. 지금은 아무 문자도 받지 않기 때문에 b' '로 출력되고 있다.

핸드폰에서 Serial Bluetooth Terminal 앱을 설치한다. 설치후 Devices에 가서 Bluetooth LE를 누르면 아래와 같이 화면이 나온다. HM-10은 이름 없는 unnamed로 나온다. 클릭후 hello를 아래 창에 입력하고 send 버튼을 누르면 Thonny에서 hello가 하나의 문자로 출력된다.



※ 참고자료
라즈베리파이 5로 배우는 AI 인공지능 자율주행 자동차
반응형'Autonomous Lawn Mower > Raspberry pi & STM32' 카테고리의 다른 글
라즈베리파이 + VSCode 무선 python 다운로드 (0) 2025.06.15 라즈베리파이 부팅시 프로그램 자동 실행 (0) 2025.05.02 라즈베리파이 → STM32 uart를 통한 모터 제어 2 (0) 2025.04.08 STM32cubeIDE와 github 연동 (1) 2025.04.06 IMU sensor (MPU-6500) python code with thonny (0) 2025.02.15