micro:bit (nRF51822) で BLE アプリを開発するために、Arduino IDEにmicro:bitの開発環境を構築します。
micro:bitとパソコンとの接続
Micro USBケーブルを使ってbitとパソコンとを次のように接続します。
Arduino IDE での開発環境の構築
次の手順で、Arduino IDE にmicro:bitの開発環境を構築します。
- Arduino IDE のメニューバー「ファイル 」→「環境設定」で「追加のボードマネージャの URL」 に以下の URL を追加します。
- メニューバー「ツール」→「ボード 」→「ボードマネーシャ」でボードマネーシャを開き、「Nordic Semiconductor nRF5 Boards by Sandeep Mistry」を探してインストールします。
- メニューバー「ツール」→「ボード 」で 次のように「BBC micro:bit 」を選べるようになります。
- micro:bit (nRF51822) で BLE を使うにはプロトコルスタック「 SoftDevices」 のプレコンパイルバイナリを導入する必要があります。これは追加のファームウェアのようなもので、次の種類があります。
- S110 (BLE Peripheral) – 96KB
- S130 (BLE Peripheral / Central) – 108KB
- 最初に、SoftDevices「https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar」をダウンロードし、解凍した「nRF5FlashSoftDevice.jar」を「C:\Program Files (x86)\Arduino\tools\nRF5FlashSoftDevice\tool」にコピーします。
- Arduino IDE を再起動します。
- メニューバー「ツール」→「「ボード 」で 「BBC micro:bit 」、「SoftDevice」で 「S130 」、「シリアルポート」で「COMxx(BBC micro:bit)」、「書き込み装置」で 「CMSIS-DAP 」、「nRF5 Flash SoftDevice」 を順に選択します。
- しかし、次のようなエラーが発生しました。
- エラーになって書き込めないので(エラーメッセージを見ると対応するHEXファイルが存在しない-フォルダにはHEXファイルは何もなかった)、「Nordic のサイト」 から S130 の SoftDevice をダウンロードし、解凍して 「s130_nrf51_2.0.1_softdevice.hex」 を 「C:\Users\(ユーザ名)\AppData\Local\Arduino15\packages\sandeepmistry\hardware\nRF5\ 0.6.0\cores\nRF5\SDK\components\softdevice\s130\hex」にコピーします。
- 「nRF5 Flash SoftDevice」 を再度選択すると、選択した SoftDevice が USB 経由で書き込まれ、次のように「Done flashing SoftDevice 」メッセージが表示されれば、
SoftDevice 導入成功です。 - BLE ライブラリは、「Arduino BLEPeripheral」を使用します。GitHub からZIP形式のArduinoライブラリをダウンロードします。
- Arduino IDE を開いて、メニューバーの「スケッチ」→「ライブラリをインクルード」→「ZIP形式のライブラリをインストール」をクリックします。
- ダイアログが表示されるので、ダウンロードしたZIP形式のBLE ライブラリを選択します。
- メニューバーの「ファイル」→「スケッチ例」から次のようにBLE ライブラリを使用したスケッチ例が登録されていることを確認します。
- ここまでで、micro:bitのBLEアプリの開発環境が構築できました。「micro:bitでiBeaconの作成」で実際にBLEアプリ「iBeacon」を作成します。
https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json
プロトコルスタック「 SoftDevices」 の導入については、「Arduino Core for Nordic Semiconductor nRF5 based boards」の「Flashing a SoftDevice」を参照してください。
対応するフォルダがなければ作成します。
Arduino:1.8.19 (Windows 10), ボード:"BBC micro:bit, S130" Downloading 'https://www.nordicsemi.com/-/media/Software-and-other-downloads/SoftDevices/S130/s130nrf51201.zip' ... Error while flashing SoftDevice. java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.nordicsemi.com/-/media/Software-and-other-downloads/SoftDevices/S130/s130nrf51201.zip