# マイクロビット(micro:bit) v2の間無線通信について




本ドキュメントは、初めてmicro:bitの無線通信を利用する際に必要な機材や事前準備、動作イメージを端末の画面上で確認できるシミュレーター、プログラムサンプル等を記載しています。また、中上級者向けの製品詳細仕様情報も確認できます。







# 1. 本ドキュメントの目的


  • micro:bit(マイクロビット)の無線通信の仕様の把握
  • micro:bit(マイクロビット)の無線通信に関するプログラミング方法の基本の把握





# 2. 製品の詳細仕様


# 2.1. micro:bit無線通信(Low level radio communications)の詳細仕様


micro:bit無線通信(Low level radio communications)のハードウェア

micro:bit(マイクロビット)は、オンボードの2.4GHzトランシーバーが内蔵されており、micro:bit間専用の無線通信機能もそれによって機能します。
無線通信機能を使用して複数のmicro:bit間での通信ができ、メッセージを送信したり、マルチプレイヤーゲームを作成したりできます。

無線通信は、「Micro:bit Radio」プロトコルが利用され、micro:bit間では、非常にシンプルなパケットブロードキャストを行います。
さらに、micro:bitランタイムソフトウェアでは、各データペイロードに「グループコード」を追加し、簡単なユーザー管理デバイスのアドレス指定やフィルタリングができます。


micro:bit無線通信の詳細仕様は以下です。

  • 数値、文字列等を送受信することができます。

  • ブロードキャストメッセージ設定可能な長さ:最大251バイト

  • メッセージはブロードキャストされ、あらかじめ選択されたチャネル(0〜83)で受信されます。 MakeCodeでは、「無線の電波帯域を設定する」ブロックで設定ができます。

  • ブロードキャストの送信出力パワー(0〜7)を設定ができます。パワーが増えるほど送信できる範囲が広がります(通信できる距離が長くなります)。

  • メッセージは、シリアル番号(microbit個別の番号)とグループ(0〜255)でフィルタリングすることができます。

  • シリアル番号を送信するかどうかを設定することができます。

  • 受信したメッセージは、構成可能なサイズのキューから読み取られます(キューが大きいほど、より多くのRAMが使用されます)。 キューが満杯になった場合、新しいメッセージは無視されます。 メッセージをリードすると、そのメッセージはキューから削除されます。

  • 受信するパケットに、受信信号強度、メッセージを受信した時刻、シリアル番号も含まれています。




micro:bit(マイクロビット)のバージョンv2とv1.5の無線通信の仕様は以下です。

項目 v2 v1.5
プロトコル micro:bit Radio (opens new window) micro:bit Radio (opens new window)
周波数帯 2.4GHz 2.4GHz
チャネルレート 1Mbps or 2Mbps 1Mbps or 2Mbps
暗号化 None None
チャンネル 80 (0..80) 101 (0..100)
グループコード 255 255
送信出力パワー 設定可能な8段階 0(-30dbm) から 7 (+4dbm) まで 設定可能な8段階 0(-30dbm) から 7 (+4dbm) まで
ペイロードサイズ 32 (standard) 255 (if reconfigured) 32 (standard) 255 (if reconfigured)
より詳細な情報 micro:bit Radio (opens new window) micro:bit Radio (opens new window)






# 3. 必要な機材


# 3.1. PC利用時に必要な機材

No. 名称 個数 HW/SW 用途
01 マイクロビット セレクト ベースキット (opens new window)
または、
マイクロビット ベーシック (opens new window)
2 HW micro:bit本体、micro:bit保護ケース、micro:bit用電池ボックス、マルチUSBケーブル
02 単4型乾電池 4 HW micro:bitへの電源供給
03 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
04 Google Chrome 1 SW MakeCodeアクセス用



# 3.2. タブレット・スマートフォン利用時に必要な機材

No. 名称 個数 HW/SW 用途
01 マイクロビット セレクト ベースキット (opens new window)
または、
マイクロビット ベーシック (opens new window)
2 HW micro:bit本体、micro:bit保護ケース、micro:bit用電池ボックス、マルチUSBケーブル
02 単4型乾電池 4 HW micro:bitへの電源供給
03 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
04 micro:bit アプリ 1 SW micro:bitのプログラミング

※ HW:ハードウェア、SW:ソフトウェア
※ Google Chromeは、Google社が提供しているブラウザ。ダウンロードはGoogle Chromeの公式ウェブページ (opens new window)で可能です。Chromebookでは、標準でインストールされています。
※ MakeCodeは、MicroSoft社が提供しているmicro:bitプログラミングできるオンラインソフトウェアです。詳細は「micro:bitのプログラミングで利用するソフトウェア」をご参照ください。



参考:micro:bitは、イフティニー ストアでお買い求めいただけます



当社はmicro:bitの公認正規販売店です。国内のmicro:bit利用推進を行っております。

micro:bit専門ストア「イフティニー ストア(iftiny store)」 (opens new window)にて、各種micro:bit関連製品の販売をしております。

micro:bit専門ストア (opens new window)




# 4. 概要と所用時間


実施項目 概要 所用時間
事前準備 事前に必要な準備と確認 5分
プログラミング 用意されている表示ブロックを使ってプログラミングし、micro:bitに動作させる 10分
利用後 プログラミング完了後の作業 3分
合計時間 18分






# 5. 事前準備


注意事項

操作する前に「micro:bitの扱い方と注意事項」をご覧ください。

参考情報


初めてmicro:bitを利用する方は、事前に以下のドキュメントをご覧ください。


  • micro:bit(マイクロビット)、電池ボックス、USBケーブルの準備

  • PCの場合、PCとブラウザを起動し、MakeCodeでプログラミングできる状態に準備
    タブレット・スマートフォンの場合、アプリを起動し、プログラミングできる状態に準備







# 6. プログラミング




# 6.1. 実現したいこと


自分の今の気持ちを、近くにいるお友達に伝えます。

  • 楽しく感じている時に、Aボタンを押せば、近くにいるお友達のmicro:bitに嬉しい顔が表示されます
  • 悲しく感じている時に、Bボタンを押せば、近くにいるお友達のmicro:bitに悲しい顔が表示されます
  • メッセージが届いたことがわかるように、嬉しい顔と悲しい顔の表示と共に、お知らせの音を鳴らします
  • どのmicro:bitからの発信かを特定するために、発信したmicro:bitのシリアル番号を受信したmicro:bitのLEDディスプレイに表示します
  • 関係のないメッセージを受信しないように設定します





# 6.2. プログラミングのサンプル

以下は、上記プログラミング実施結果のサンプルです。
※ 以下を利用して、直接ご使用のmicro:bitにダウンロード(書き込み)することもできます。
  また、ご自分のMakecodeに保存することもできます。
※ 通信する双方のmicro:bitにダウンロード(書き込み)する必要があります。


# 6.2.1. MakeCode ブロック



# 6.2.2. MakeCode javascriptコード


input.onButtonPressed(Button.A, function () {
    basic.clearScreen()
    radio.sendValue("feeling", 0)
})
input.onButtonPressed(Button.B, function () {
    basic.clearScreen()
    radio.sendValue("feeling", 1)
})
radio.onReceivedValue(function (name, value) {
    if (name == "feeling") {
        if (value == 0) {
            basic.showIcon(IconNames.Happy)
            soundExpression.happy.play()
        } else if (value == 1) {
            basic.showIcon(IconNames.Sad)
            soundExpression.sad.play()
        } else {
            basic.showIcon(IconNames.No)
        }
    } else {
        basic.showIcon(IconNames.No)
    }
    basic.pause(5000)
    basic.showString("" + (radio.receivedPacket(RadioPacketProperty.SerialNumber)))
    basic.clearScreen()
})
radio.setGroup(1)
radio.setFrequencyBand(10)
radio.setTransmitPower(2)
radio.setTransmitSerialNumber(true)

# 6.2.3. MakeCode pythonコード


radio.set_group(1)
radio.set_frequency_band(10)
radio.set_transmit_power(2)
radio.set_transmit_serial_number(True)

def on_button_pressed_a():
    basic.clear_screen()
    radio.send_value("feeling", 0)
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_button_pressed_b():
    basic.clear_screen()
    radio.send_value("feeling", 1)
input.on_button_pressed(Button.B, on_button_pressed_b)

def on_received_value(name, value):
    if name == "feeling":
        if value == 0:
            basic.show_icon(IconNames.HAPPY)
            soundExpression.happy.play()
        elif value == 1:
            basic.show_icon(IconNames.SAD)
            soundExpression.sad.play()
        else:
            basic.show_icon(IconNames.NO)
    else:
        basic.show_icon(IconNames.NO)
    basic.pause(5000)
    basic.show_string("" + str((radio.received_packet(RadioPacketProperty.SERIAL_NUMBER))))
    basic.clear_screen()
radio.on_received_value(on_received_value)






# 7. 利用後


# 7.1. マイクロビット(micro:bit)の接続解除について


# 7.1.1. USBケーブル接続の場合(Windows、Mac、Chromebook)

  • PCやChromebookとUSBケーブルを使って接続しご利用の場合、MakeCodeを使った直後の段階では、ブラウザーがmicro:bitと接続(WebUSB)しており、また、PCやChromebookのOSでは、micro:bitを外部ストレージとして認識し、接続されたままの状態です。
    このままPCやChromebookからUSBケーブルを取り外すとデータの破損や次回接続時のトラブルに繋がる恐れがあります。
    また、学校など、不確定多数のmicro:bitを同じ端末に接続する場合、過去の接続情報を残ったままで新規接続が増えるため、高い確率でトラブルが起きることがあります。
    そのため、取り外す前に、安全に接続を解除する必要があります。

    下記該当する手順にて、ご利用されているブラウザーでMakeCodeエディターのWebUSB接続を切断した後、PC及びChromebookのOSレベルでmicro:bitの接続解除を行ってください。

# 7.1.2. Blutooth接続の場合(iOS、Android)

  • Bluetooth接続で接続し、スマートデバイスをご利用の場合、micro:bitアプリを使った直後の段階では、micro:bitとスマートデバイスはBlutoothで接続された状態です。
    このまま放置すると次回の接続トラブルに繋がる恐れがあります。

    そのため、下記該当する手順にて、micro:bitアプリにて安全に接続解除を行ってください。



# 7.2. マイクロビット(micro:bit)接続の解除方法


# 7.2.1. USBケーブル接続の場合の接続解除方法(Windows、Mac、Chromebook)


# 7.2.1.1. WindowsのPCでの接続解除方法

  • MakeCodeとmicro:bitの接続(WebUSB)の切断
No. 画像                                     手順 確認
01 after-use-windows-01 Chromeブラウザアドレスバーの鍵マークをクリックし、「BBC micro:bit CMSIS-DAP」の右の「✖️」をクリックすることで、ブラウザとデバイスのWebUSB接続を切断させます。 ※ 「更新後の設定をこのサイトに適用するには、このページを再読み込みしてください。」と表示された場合、「再読み込み」ボタンをクリックしてください。

※ 画像のプロジェクト名やブロック(プログラミングコード)の内容は、上記手順と異なる部分があります。無視してください。

  • Windows OSとmicro:bitの接続(USB)の切断
No. 画像                                     手順 確認
01 after-use-windows-01 ここからは、PCとmicro:bitの接続を安全に切断するための操作を行う。デスクトップの「PC」アイコンをクリックし、「エクスプローラー」を起動する。 左側のメニューより「MICROBIT」が接続されたことを確認し、それをクリックすると、現在micro:bit内に保存されているファイルが表示される。
02 after-use-windows-01 左側のメニューより「MICROBIT」を右クリックすると、メニューが表示される。「取り出し」を左クリックし、PCとmicro:bitの接続を切断。
03 after-use-windows-01 「ハードウェアの取り外し」ポップアップが表示される。 「'MICROBOIT'はコンピューターから安全に取り外すことができます。」と表示されるため、これより、USBケーブルをPCから取り外すことが可能となった。
04 PCとmicro:bit接続用USBケーブルを取り外す。 接続切断作業が完了。


# 7.2.1.2. MacOSのPCでの接続解除方法

  • MakeCodeとmicro:bit接続(WebUSB)の切断
No. 画像                                     手順 確認
01 after-use-mac-01 Chromeブラウザアドレスバーの鍵マークをクリックし、「BBC micro:bit CMSIS-DAP」の右の「✖️」をクリックし、ブラウザとデバイスのWebUSB接続を切断させることができる。 ※ 同じPCで今後も使うことがある場合、この操作を行う必要がありません。

  • MacOSとmicro:bit接続(USB)の切断
No. 画像                                     手順 確認
01 after-use-mac-02 ここからは、PCとmicro:bitの接続を安全に切断するための操作を行う。Finderを起動し、「場所」の「MICROBIT」右の「停止マーク」をクリックし、PCとmicro:bitの接続を切断。 「場所」のMICROBITの表記が消えることを確認。
02 PCとmicro:bit接続用USBケーブルを取り外す。 接続切断作業が完了。


# 7.2.1.3. Chromebookでの接続解除方法

  • MakeCodeとmicro:bit接続(WebUSB)の切断
No. 画像                                     手順 確認
01 after-use-chromebook-01 Chromeブラウザアドレスバーの鍵マークをクリックし、「BBC micro:bit CMSIS-DAP」の右の「✖️」をクリックし、ブラウザとデバイスのWebUSB接続を切断させることができる。 ※ 「更新後の設定をこのサイトに適用するには、このページを再読み込みしてください。」と表示された場合、「再読み込み」ボタンをクリックしてください。

※ 画像のプロジェクト名やブロック(プログラミングコード)の内容は、上記手順と異なる部分があります。無視してください。

  • Chromebookとmicro:bit接続(USB)の切断
No. 画像                                     手順 確認
01 after-use-chromebook-03 ここからは、Chromebookとmicro:bitの接続を安全に切断するための操作を行う。「ファイル」アイコンをクリックし、ファイル管理画面を起動する。 ファイルのウィンドウが表示されます。
02 after-use-chromebook-04 MICROBITのドライブが接続中であることを確認。
03 after-use-chromebook-05 を起「MICROBIT」右の「停止マーク」をクリックし、Chromebookとmicro:bitの接続を切断。
04 after-use-chromebook-06 MICROBITの表記が消えることを確認。
05 Chromebookとmicro:biから接続用USBケーブルを取り外す。 作業完了。



# 7.2.2. Bluetooth接続の場合の接続解除方法(iOS、Android)

# 7.2.2.1. iOSでの接続解除方法

  • micro:bitアプリとmicro:bit接続の切断
No. 画像                                     手順 確認
01 after-use-ios-01 micro:bitアプリのTOP画面で「micro:bitを選ぶ」をタップする。 「micro:bitを選ぶ」画面が表示される。
02 after-use-ios-02 一覧から接続を解除するmicro:bitを選択し、ダストボックスアイコンをタップする。
03 after-use-ios-03 「Remove this micro:bit?」と表示されるので「Remove」をタップする。
04 after-use-ios-04 「現在選択されているmicro:bit」に「何も選択されていません」と表示される。これでmicro:bitアプリに保存されている接続情報が削除される。


  • iOSとmicro:bit接続の切断
No. 画像                                     手順 確認
05 iOS「設定」アイコンをタップし、設定画面の「Bluetooth」を選択する。 現在iOSでBluetoothの接続情報を保持しているデバイスの一覧が表示される。
05 after-use-ios-05 該当micro:bitの右横にある「i」をタップする。 デバイスの登録解除メニューが表示される。
06 after-use-ios-06 「このデバイスの登録を削除」をタップすると、画面下に赤字で「このデバイスの登録を削除」が表示されるのでそれをもう一度タップする。 デバイスの登録削除処理が実行される。
07 after-use-ios-07 該当micro:bitの接続情報が削除されると、Bluetooth接続デバイス一覧から該当micro:bitの表示が消える。


# 7.2.2.2. Androidでの接続解除方法

上記iOSと同じ操作の流れとなります。上記iOSの手順をご参考ください。


# 7.3. その他作業

  • 電池ボックスの電源スイッチがOFFになっていることを確認し、電池を取り出します。

  • micro:bit(マイクロビット)、電池ボックス、USBケーブルを収納ケースに収納します。

  • 必要に応じて、ブラウザの終了(PCの場合)、アプリの終了(タブレット・スマートフォン)、や端末のシャットダウンを実施します。




Last Updated: 10/5/2023, 9:36:44 AM