Microchip RN487x 블루투스 모듈로 디지털 I/O 프로토타이핑하기
RN487x 블루투스 모듈로 신뢰성 있는 디지털 입출력 주변장치 구축하기
Microchip RN487x 블루투스 모듈 3부작 시리즈의 두 번째 파트에서, 디지털 입력(스위치)과 디지털 출력(LED) 생성을 실습합니다. 모듈 설정에 대한 배경은 첫 번째 글을 참조하십시오.
프로젝트 1: RN487x 디지털 입력 스위치
설계는 3단계 패턴을 따릅니다:
- 하드웨어 – 디지털 신호를 생성하는 스위치
- 설정 – 데이터베이스 변수 할당과 핀 매핑을 위한 RN487x 명령
- 애플리케이션 – 데이터베이스 값을 읽는 워크스테이션 스크립트
디지털 입력 하드웨어
입력은 단순 상시 개방 스위치(SW1)입니다. RN487x가 내부 풀업을 제공하므로, 닫힘 시 그라운드에 연결된 스위치가 깔끔한 2상태 신호를 줍니다.


단일 핀 GPIO를 지원하는 RN4871을 사용합니다. 회로는 두 개의 AAA 배터리나 코인 셀로 전원 공급 가능합니다. 추가 부품:
- C1: 전원 안정용 바이패스 커패시터
- R1, C2: 파워온 시 프로세서 리셋 지연용
- J1: 설정을 위한 시리얼 포트
디지털 입력 설정
진행 전 모듈이 알려진 상태인지 확인하십시오(초기화는 부록 참조). 스위치 상태를 나타내기 위해 GATT 데이터베이스에 서비스 하나와 특성 하나를 생성합니다:
PS,59c88760536411e7b114b2f933d5fe66 PC,59c889e0536411e7b114b2f933d5fe66,10,01
여기서 PS가 서비스를 생성하고, PC가 특성을 생성합니다. UUID는 플레이스홀더이며, UUID 표준에 따라 직접 생성하십시오. PC의 두 번째 파라미터(10)는 값 변경 시 즉시 알림을 요청하고, 세 번째 파라미터(01)는 값 크기를 1바이트로 설정합니다.
주변장치 스크립트는 핀을 설정하고 이벤트를 처리합니다:
@PW_ON SW,0A,09 @PIO1H SHW,0072,01 @PIO1L SHW,0072,00
@ 접두사가 붙은 각 메서드는 시스템 이벤트에서 실행됩니다:
PW_ON – 파워온 시, P1_2를 트리거 디지털 입력으로 설정
PIO1H – 하이 전이 시, 데이터베이스에 1 기록
PIO1L – 로우 전이 시, 데이터베이스에 0 기록
디지털 입력 애플리케이션
switch.py Python 스크립트(링크 제공)를 사용하십시오. 샘플 MAC 주소를 본인 디바이스 MAC으로 교체하십시오. 주변장치에 전원 공급 후 블루투스 지원 머신에서 스크립트 실행. 스크립트가 디바이스에 연결해 알림을 대기하고 각 스위치 이벤트를 출력합니다. 리눅스 설정 가이드는 부록에 있습니다.
핵심 BLE 기능: 알림(Notifications) – 주변장치가 폴링 없이 상태 변경을 클라이언트에 푸시합니다.
프로젝트 2: RN487x 디지털 제어(LED)
출력에도 같은 3단계 패턴을 적용합니다:
- 하드웨어 – RN4871의 오픈 컬렉터 GPIO로 구동되는 LED
- 설정 – LED 핀에 매핑된 데이터베이스 변수 생성
- 애플리케이션 – 데이터베이스에 값을 써서 LED를 켜고 끄는 스크립트
디지털 제어 하드웨어
LED(D1)는 오픈 컬렉터 싱크로 연결됩니다. 회로도는 RN487x 레퍼런스 설계를 따릅니다.


부품:
- C1: 전원 바이패스 커패시터
- R1, C2: 리셋 지연
- J1: 시리얼 포트
디지털 제어 설정
부록 설명대로 모듈을 초기화하십시오. 단일 서비스와 특성을 생성합니다:
PS,59c88760536411e7b114b2f933d5fe66 PC,59c889e0536411e7b114b2f933d5fe66,08,01
여기서 08은 주변장치가 쓰기 확인을 해야 함을, 01은 1바이트 값임을 나타냅니다. 스크립트는 클라이언트 연결을 처리합니다:
@CONN |O,08,72
클라이언트 연결 시, 명령이 데이터베이스 변수를 LED 핀(비트마스크 08)과 특성 핸들(72)과 연관시킵니다. 이후 클라이언트의 쓰기가 LED를 토글합니다.
디지털 제어 애플리케이션
MAC 주소를 교체한 후 light.py(링크 제공) 실행. 스크립트가 주변장치에 연결한 뒤 매초 새 값을 보내 LED를 켜고 끕니다. 스크립트가 진행 상황을 로깅하며 핸들 연관 기능을 시연합니다.
동반 프로젝트 영상에서 전체 시연을 확인하십시오.
다음 단계
RN487x 시리즈 2부가 여기서 마무리됩니다. 3부에서는 아날로그 센서와 제어를 다루고, 모든 프로젝트에 적용 가능한 추가 자료를 제공할 예정입니다.