• Hardware

    [BLE 5.0 강좌 03] Central 모드 테스트

    twitter facebook


    안녕하세요? 착한이입니다.


    Nordic 사의 nRF52840을 이용한 BLE 5.0 강좌를 시작합니다.

    본 강좌에서는 nRF52840을 장착한 nRF52840 Dongle(USB 방식)과

    nRF52840 DK(Development Kit) 보드를 이용하여 BLE 5.0 펌웨어 개발에 대해 알아 보고자 합니다.


    nRF52840 관련 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.

    https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840


    nRF52840 Dongle 제품에 대한 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.

    https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle


    nRF52840 DK 보드에 대한 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.

    https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK


    [BLE 5.0 강좌 01] nRF52840 BLE 5.0 개발 준비 과정 1 - nRF Connect와 nRF5 SDK 설치

    http://www.wearedev.net/?m=bbs&bid=lecture&cat=Hardware&uid=187

    [BLE 5.0 강좌 02] nRF52840 BLE 5.0 개발 준비 과정 2 - SEGGER Embedded System 설치 및 예제 빌드하기

    http://www.wearedev.net/?m=bbs&bid=lecture&cat=Hardware&uid=188


    지난 강좌에서 BLE 5.0 펌웨어 개발에 필요한 개발 환경 설정에 대해 알아 보았습니다.

    본 강좌에서는 nRF52840 Dongle을 Central 모드로 설정하고 테스트 하는 방법에 대해 살펴 보겠습니다.

    nRF Connect 의 Bluetooth Low Energy 툴을 이용하면 간단히 테스트할 수 있습니다.


    BLE 5.0 장치는 Central 모드와 Peripheral 모드로 동작할 수 있습니다.

    각 모드의 차이점은 간단히 다음과 같습니다.  

    -Central 모드 : 주변의 BLE 장치를 Scan 할 수 있으며, 장치와 Connect(연결)할 수 있습니다.

    -Peripheral 모드 : Advertising을 하면서 Connect를 기다립니다.


    1. Peripheral 장치 준비


    nRF52840 Dongle을 Central 모드로 동작시켜 Scan을 하려면 Peripheral 장치가 있어야 합니다.

    Nordic 사에서 제공하는 스마트폰 용 nRF Connect App을 이용하면 스마트폰을 Peripheral 장치로 설정할 수 있습니다.

    nRF Connect App은 Android, iOS를 지원하며, Store에서 "nRF Connect" 로 검색하셔서 설치하시면 됩니다.

    Bluetooth 사용 권한을 허용해 주셔야 합니다.

     

    그럼 스마트폰을 Peripheral 장치로 설정해 보겠습니다.본 강좌에서는 Android 기준으로 설명합니다.

    App 설치 후에, nRF Connect App을 실행합니다.   

    화면의 "ADVERTISER" 을 클릭하면 다음 화면이 나옵니다.

    새로운 Peripheral 장치를 추가화려면 화면 하단의 "붉은색 +" 버튼을 클릭합니다.


    New advertising packet 이름의 화면이 나타납니다.

    "Display Name" 에 원하는 이름을 적어 줍니다.

    Peripheral 장치 이름으로 사용됩니다.


    "Options:" 옆의 메뉴를 클릭하면 다음 그림과 같이 Interval, Tx Power Level을 설정할 수 있습니다.

    기본으로 설정을 사용하셔도 됩니다.


    "Connectable" 체크 박스를 설정합니다.


    "Advertising data" 아래에 "ADD RECORD" 를 클릭하면 다음과 같이 메뉴가 표시됩니다.

    "Complete Local Name" 을 선택합니다.

    Scan 시에 휴대폰에 설정된 값을 BLE 장치명으로 표시 해 줍니다.


    Peripheral 장치의 설정을 마쳤으니 "OK" 버튼을 클릭합니다.


    nRF Connect App으로 이동하면 다음 그림과 같이 설정된 값이 표시 됩니다.

    BLE 5.0 장치는 주소를 가지고 있으며, "RANDOM ADDRESS"로 되어 있어서 Scan 시에

    임의의 주소가 표시 됩니다.

    그래서 설정에서 "Complete Local Name" 을 설정해 주셔야 Scan 목록에서 장치를 쉽게 찾을 수 있습니다.

    오른쪽의 Toggle 버튼을 클릭합니다.


    다음 화면과 같이 Advertisement duration 을 설정할 수 있습니다.

    종료할 때까지 무한 반복하거나 지정된 길이 만큼만 Advertising 하도록 설정 가능합니다.

    설정한 후에 "OK" 버튼을 클릭 합니다.


    이제 스마트폰은 Peripheral 장치 모드로 설정되어 Advertising을 시작하게 됩니다.

    Advertising 종료는 Toggle 버튼으로 가능합니다.


    여기까지 스마트폰을 Peripheral 장치로 설정하고 Advertising 하는 방법에 대해 알아 보았습니다.


    2. nRF52840 Dongle을 Central 모드로 동작 시키기


    nRF52840 Dongle을 Central 모드로 동작 시키기 방법에는

    nRF5 SDK를 기반으로 BLE 5.0 펌웨어를 개발하여 Write 하는 방법이 있습니다.

    그리고 nRF Connect의 Bluetooth Low Energy 프로그램을 이용하는 방법이 있습니다.

    본 강좌에서는 Bluetooth Low Energy 프로그램을 이용하는 방법에 대해 설명하겠습니다.


    nRF Connect 를 실행합니다. 다음 화면이 나타나면 "Bluetooth Low Energy" 를 실행합니다.


    다음 화면과 같이 Bluetooth Low Energy 프로그램이 실행됩니다.


    PC에 BLE 5.0 장치를 연결하면 Driver가 자동으로 설치되고 Bluetooth Low Enegry 프로그램에

    인식된 장치가 표시 됩니다.


    nRF52840 Dongle을 PC에 연결합니다. 다음과 같은 팝업이 나타나면 "Yes" 버튼을 클릭합니다.

    Programming이 진행되며 완료되면 장치가 인식이 됩니다.


    "Select device" 콤보박스에 장치를 선택합니다.


    Bluetooth Low Energy 프로그램에 nRF52840 Dongle 이 표시됩니다.


    "Generic Access"를 클릭하면 다음과 같이 정보가 표시됩니다.

    장치 명과 Appearance, Service 등을 알 수 있습니다.


    nRF52840 Dongle은 기본적으로 Central 모드로 동작하게 됩니다.

    Bluetooth Low Energy 프로그램으로 Scan을 진행할 수 있습니다.

    "Start scan" 버튼을 클릭하면 Scan을 시작합니다.  


    Scan 전에 반드시 스마트폰을 Peripheral 모드로 설정하고 Advertising을 하도록 해야 합니다.

    다음 화면과 같이 BLE 장치가 검색이 됩니다.

    검색 리스트를 초기화 하고 싶으면 "Clear" 버튼을 클릭합니다.

    원하는 장치와 연결하려면 리스트에서 "Connect" 버튼을 클릭합니다.


    연결이 성공하면 다음과 같이 연결된 장치가 표시 됩니다.

    본 강좌에서는 Galaxy J5 휴대폰과 연결하였으며, 장치의 Service와 권한 등을 표시해 줍니다.

    어떤 장치가 Central인지 Peripheral 인지도 표시 해 줍니다.


    BLE 5.0 장치가 연결이 되면 장치간에 BLE 5.0 통신으로 데이터 송수신이 가능하며,

    속성이나 Service의 정보 읽기 및 변경이 가능합니다.

    nRF5 SDK를 이용하여 프로그래밍해서 기능 구현이 가능하지만 nRF Connect Bluetooth Low Engery

    프로그램으로 속성 및 Service를 제어할 수 있으므로 유용하게 사용하실 수 있습니다.


    PC 뿐만 아니라 스마트폰의 nRF Connect App 에서도 장치가 연결이 되면

    App의 상태가 다음과 같이 변경되고 BLE 장치의 정보를 학인할 수 있습니다.




    지금까지 nRF Connect 를 이용해서 nRF52840 Dongle을 Central 모드로 동작시키는 방법과

    스마트폰을 Peripheral 장치로 설정하는 방법에 대해 알아 보았습니다.

    향후 강좌에서 프로그래밍으로 이를 구현하는 방법에 대해서 알아 보겠습니다.

    다음 강좌에서 뵙겠습니다.

    즐거운 개발하시길 바랍니다.


    본 강좌는 다음 유튜브 채널에 동영상으로 제공됩니다.

    https://www.youtube.com/c/WeAreDev

    구독 부탁 드립니다.