Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

概要

micro:bit のプロセッサーには、オンボードの Bluetooth トランシーバーが搭載されています。これは、PCB 上のパターンアンテナやその他の補助的な部品、さらにソフトウェアスタックと組み合わされており、micro:bit に認証済みで信頼性の高い Bluetooth 機能を提供します。

Bluetooth ソフトウェアスタック

V1 Nordic Semiconductor Soft Device S110.

V2 Nordic Semiconductor Soft Device S113.

SoftDevice は Nordic の Bluetooth ソフトウェアスタックであり、SoftDevice の異なるバージョンは、異なる Nordic チップ向けに異なる Bluetooth 機能を提供します。

Bluetooth を使用すると、他のデバイスに接続し、micro:bit との間でデータを送受信できます。

Bluetooth は、micro:bit 間の無線機能 とは異なります。この機能は、Lancaster University が Nordic の独自プロトコル ShockBurst を基盤として構築した ものです。

BBC micro:bit Bluetooth プロファイル

micro:bit は、独自開発された単一の BBC micro:bit プロファイルを介して Bluetooth をサポートしています。このプロファイルにより、他の BLE 対応デバイスと通信できます。

CODAL

V2 向けには、すべての Bluetooth サービスを有効にする事前コンパイル済み hex ファイルをダウンロードできます。

Bluetooth 全サービス CODAL

このソースは、microbit-v2-samples リポジトリにあります。

DAL

BBC micro:bit V1 の Bluetooth プロファイルは DAL で定義されています

Bluetooth サービスを有効にする 2 つの事前コンパイル済み Hex ファイルのいずれかを、micro:bit V1 に書き込むことができます。Bluetooth はメモリを多く消費するため、これらは ‘Magnetometer Service なし’ または ‘DFU Service なし’ のいずれかとして提供されています:

磁力計なし

DFU なし

DAL には、BLE サービスファイルの C++ ソース が含まれています。

また、microbit-samples リポジトリには、いくつかのサンプルプログラムもあります:

micro:bit は、Bluetooth Low Energy (BLE) を備えた V2Bluetooth 5.0/V1Bluetooth 4.1 スタックを搭載しており、DAL/CODAL ではデフォルトで GAP Peripheral Role をサポートしています。また、別の SoftDevice を使用するように DAL/CODAL を変更することで、GAP Peripheral および Central のデバイスロールもサポートできます。

すべての Bluetooth デバイスと同様に、ISM (Industrial Scientific Medical) 帯で動作します。これは 2.4GHz から始まり 2.41GHz で終わります。BLE はこの周波数帯を 50 個の 2MHz 帯域に分割し、そのうち 40 個が使用されます。これらは チャネル と呼ばれ、0 から 39 の番号が付けられています。37、38、39 のチャネルは「アドバタイジング」に使用されます。

デバイスが接続されると、適応周波数ホッピング と呼ばれる機能によって制御される特定のシーケンスで、他のチャネルを使用します。これは、他の無線利用者による混雑の影響を軽減するのに役立ちます。

データ転送速度は、よくても毎秒数百キロバイト程度にとどまり、スループットはアプリケーションが Bluetooth 機能をどのように使用するかに依存します。スループットは、システムプロトコルのオーバーヘッドがアプリケーションデータに対して占める割合に左右されます。たとえば温度データを含む小さなパケットを大量に送る場合、UART サービスを使用する場合よりもデータ転送速度は低くなります。

便利な micro:bit ランタイムコードの高度な設定オプション がいくつかあります。

課題

適切な知識があれば、誰でも他の Bluetooth プロファイルを定義して実装することが可能です。

私たちは、V2 の機能の一部を利用可能にする新しいプロファイル要素の定義を支援してくれる協力者を求めています。

さらに詳しい情報

Bluetooth と micro:bit ソフトウェア

DAL/C++ リファレンスドキュメント には、プロファイル内で利用可能な標準機能およびカスタム機能が一覧表示されています。

このプロセッサーには、micro:bit の無線プロトコルの基盤となっている、Bluetooth ではない独自の動作モードもいくつかあります。このプロトコルは micro:bit 間でのみ動作し、DAL/CODAL では ‘Micro:bit Radio’、MakeCode と MicroPython では ‘radio’ として定義されています。

MakeCode での Bluetooth

Microsoft MakeCode には、micro:bit Bluetooth プロファイルから個々のサービスをインスタンス化できるほか、接続および切断のイベントも扱える “Bluetooth” extension があります。これは “Radio” extension と併用できません。

これらのサービスは、micro:bit web components などと組み合わせて使用することで、Bluetooth 経由で micro:bit とやり取りできます。

例として、ML Machine のツールは、MakeCode でこの拡張機能を使って構築されています。 注意: micro:bit V1 では、Bluetooth 拡張機能も使用すると、利用できるメモリが非常に限られます。

以下は、MakeCode で Bluetooth 拡張機能を追加して使用する方法の例です。 MakeCode の Bluetooth 拡張機能の追加

アプリ