🗂
Seeed Studio XIAO nRF52840でBLEからLEDを点灯する
概要
前回XIAOをBLEキーボードとして接続してみた。今回はLightBlueを操作してXIAO上のLEDを点灯させてみる。
機材
公式チュートリアル通りに進めてみる
エラーが発生
チュートリアル通りに進めていたがエラーが発生した。
/Users/miyano-yuji/Documents/Arduino/libraries/ArduinoBLE/src/utility/HCIUartTransport.cpp:33:2: error: #error "Unsupported board selected!"
33 | #error "Unsupported board selected!"
| ^~~~~
/Users/miyano-yuji/Documents/Arduino/libraries/ArduinoBLE/src/utility/HCIUartTransport.cpp:99:40: error: 'SerialHCI' was not declared in this scope; did you mean 'Serial'?
99 | HCIUartTransportClass HCIUartTransport(SerialHCI, 912600);
| ^~~~~~~~~
| Serial
次のフォルダのライブラリArduinoBLEバージョン1.3.2を使用中:/Users/miyano-yuji/Documents/Arduino/libraries/ArduinoBLE
exit status 1
ボードSeeed XIAO nRF52840 Senseに対するコンパイル時にエラーが発生しました。
別のボードマネージャをインストール
調べてみると以下のサイトで同様のエラーに遭遇している人がいた。
以下のチュートリアルでボードマネージャーから「seeed nrf52」をインストールする際に、上のものだけをダウンロードしていたが、両方ダウンロードする必要があるらしい。「You can install both.」って書いてあるとどっちかでいいのかなと思ってしまっていた。
ボードライブラリで「mbed enabled」と入れると2つ目だけが表示されるので、こちらをインストール。
別のボードでもエラーが発生
2つ目のボードを選択してコンパイルしてみたが、別のエラーが出た。
fork/exec /Users/miyano-yuji/Library/Arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++: no such file or directory
ボードSeeed XIAO BLE Sense - nRF52840に対するコンパイル時にエラーが発生しました。
ボードを再インストール
検索してみるとボードライブラリのフォルダを全部消して再インストールするって書いてあったので、ボードマネージャー上で先ほど入れた2つを両方削除してみて、「Seeed nRF52 mbed-enabled Boards」だけを再度インストールしてみたらコンパイルできた。
ビルドしてLED点灯のテストをしてみる
シリアルモニタを起動する。
LightBlueを起動したら「LED」というデバイスが表示されるので選択して、0を書き込むとLED消灯、1を書き込むと点灯した。
ArduinoBLEのサンプルを試す(途中)
ArduinoBLE -> Peripheral -> Advertising -> RawDataAdvertisingをビルドしてみた。
LightBlueで表示された。
ソースに書かれている値が表示されている。
ソースの数値の先頭の数値の意味を後で調べてみる
Discussion