BLE Peripheral/Slave 통신연습
WIFI, BLE Combo Module인 EMC3280과 EMC3380에서 지원하는 기능으로 BLE Peripheral과 Central 장치간에 통신연습을 해볼 것이다.
통상적으로 Cellphone(휴대폰)과 BLE 장치간의 관계는 다음과 같다.
Device | Role of Device | Role of Service |
Cell Phone/BLE App | Master/Central | Client |
BLE Device | Slave/Peripheral | Master |
1. BLE Peripheral 구현내용
프로젝트 위치 | Project Root Directory\BLE\mx14x0\ble_peripheral\ble_peripheral |
Build 명령 | mxos make ble.mx14x0.ble_peripheral@emc3280 |
2. BLE Peripheral 시험준비
♦ Tools 에서 소개한 § LightBlue 또는 § nRF Connect 를 다운로드하여 휴대폰에 설치한다.
♦ Serial Console에서 Log/Debug Port를 Open → BLE Peripheral FW가 적재된 Module를 Booting → help 명령을 입력하면 다음과 같다.
help 명령을 치면 CLI에서 사용할 수 있는 명령들이 나열된다. 이 예제 FW에서 BLE 관련 명령은 파랑색 박스로 표시된 3개의 명령어이다.
3. BLE Peripheral 동작확인
Step1. 휴대폰에서 BLE App을 시작 → 검색된 BLE 중에서 BLE_Peripheral 선택 → Connect → Connect 된 화면(중앙의 이미지)
중앙의 화면을 아래로 스크롤하면 가장 우측의 이미지에서 첨럼 해당 Peripheral이 지원하는 Service UUID에 대한 Peripheral의 특성들을 볼 수 있다.
Step2. BLE Peripheral → Cellphone/BLE App(휴대폰)으로 메시지 전송
Notify, Indication 특성을 이용하여 메시지 보낸다.
실행주체 | 실행 |
BLE App/Master/Central/Client | Notify 클릭 → Data Format=UTF String → Click “Subscription” |
Module/Slave/Peripheral/Sever | notify 01234567890, 20Byte이내의 메시지 전송 |
Step3. Cellphone/BLE App → BLE Peripheral으로 메시지 전송
Write 특성을 이용하여 메시지를 전송한다.
실행주체 | 실행 |
BLE App/Master/Central | Writable 특성 클릭 → Data Format=UTF String → 전송할 값인력하고 Write 버튼 클릭 |
Module/Slave/Peripheral |
이상과 같은 방식으로 각 BLE Service에 대한 특성들을 이용해 메시지를 주고 받을 수 있겠다.