Arduino IDE로 BLE Nano v2 애플리케이션 개발

Red Bear Lab의 BLE Nano v2 는 공식 리포지토리 에 개발 환경 구축등이 일대로 설명되고 있습니다만, Arduino IDE 로 사용할 수 있는 API 의 설명등을 알 수 없습니다. 그래서 Arduino IDE 용 보드 지원 패키지를 한 번에 읽어 보았습니다.



결론


  • Arduino 언어는 모두 지원
  • 표준 라이브러리는 "Wire (TWI/I2C)", "SPI 마스터", "Servo"를 지원합니다.
  • mbed-os가 기반이므로 mbed-os API도 사용할 수 있습니다.
  • BLE 를 사용하는 경우는 mbed-os 의 API 를 이용한다
  • 샘플 프로젝트는 나름대로 준비되어 있기 때문에 개발시에는 이것을 기점으로하는 것이 좋을 것 같습니다

  • Arduino 언어 및 표준 라이브러리 정보



    Arduino 일본어 참조 라는 사이트에는 Arduino 언어와 표준 라이브러리 참조의 두 가지가 일본어로 정리되어 있습니다.

    Arduino 언어는 BLE Nano v2에서 모두 지원되는 것 같습니다. 표준 라이브러리에 대해서는 Wire, SPI의 마스터, Servo의 3개 밖에 발견할 수 없었습니다. 각각
  • #include <Wire.h>
  • #include <SPI_Master.h>
  • #include <Servo.h>

  • 하는 것으로 사용할 수 있을 것 같습니다.

    mbed-os API



    Arduino IDE에서 BLE Nano v2 응용 프로그램을 개발할 때 기본은 mbed-os입니다. 따라서 위의 Arduino 언어 및 표준 라이브러리 외에도 mbed-os API를 사용할 수 있습니다.

    Arduino IDE는 명시적으로 쓰지 않아도 빌드 시에 Arduino.h를 포함하는 사양으로 되어 있습니다만, 이 Arduino.h 안에서 mbed.h도 포함되어 있으므로, 그대로 API를 사용할 수 있습니다.

    여담



    mbed-os는 Wire (TWI/I2C) 및 SPI API를 제공합니다. Arduino 표준 라이브러리의 Wire와 SPI_Master는이 mbed-os API의 래퍼로 구현됩니다.

    BLE



    BLE 에 대해서는 #include <nRF5x_BLE_API.h> 를 명시적으로 쓰는 것으로 사용할 수 있습니다. API에 대해 정리할까 생각했습니다만, 쓰기 시작하면 길어질 것 같기 때문에 할애합니다. mbed-os 의 GitHub 리포지토리에 있는 mbed Bluetooth Low Energy Stack 이 이것에 대응하고 있다고 생각하기 때문에, 보다 세세한 내용에 대해서 조사할 때에는 이쪽을 확인하는 것이 좋을까 생각합니다.

    샘플 프로젝트 활용



    버려진 BLE 의 API 입니다만, Red Bear Lab 의 제공하고 있는 샘플 프로젝트를 사용하면 기본적인 어플리케이션 개발은 할 수 있을 것 같습니다.

    Arduino IDE에서 "파일"-> "스케치 예"-> "BLE_Nano2 용 스케치"를 보면 BLE뿐만 아니라 표준 라이브러리 등에 대해서도 샘플이 있으므로 실제로 개발할 때는 이것을 기점으로 개발을 진행하는 것이 좋을 것 같습니다.

    좋은 웹페이지 즐겨찾기