# micro:bit v2間無線通信の基本




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




# 本ドキュメントの目的


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


# 製品の詳細仕様


# 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)





# 必要な機材


# PC利用時に必要な機材

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 2 HW プログラミング・操作用
02 micro:bit用 ケース 2 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW PCとの接続
04 micro:bit用 電池ボックス 2 HW micro:bitへの電源供給 単4型電池 ✖️2 タイプを想定
05 単4型乾電池 4 HW micro:bitへの電源供給
06 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
07 Google Chrome 1 SW MakeCodeアクセス用
08 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要

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

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 2 HW プログラミング・操作用
02 micro:bit用 ケース 2 HW micro:bit保護
03 micro:bit用 電池ボックス 2 HW micro:bitへの電源供給 単4型電池 ✖️2 タイプを想定
04 単4型乾電池 4 HW micro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitアプリ操作用

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

TIP

必要な機材を準備するにあたって、micro:bit(v2)本体、専用シリコンケース、USBケーブル、電池ボックス、それらを収納する専用バッグをまとめた当社のセット製品「micro:bit basic」 (opens new window)をおすすめします。

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

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




# 概要と所用時間


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



# 事前準備


WARNING

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

TIP

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


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

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




# プログラミング




# 実現したいこと


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

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



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

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


# MakeCode ブロック



# 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)



# 利用後


# PCとmicro:bitの接続解除

  • PCをご利用の場合、この段階では、micro:bitは外部ストレージとして認識し、PCとmicro:bitが接続されたままの状態です。このままPCから取り外すとデータ破損等のリスクがあります。そのため、取り外す前に、接続を解除する必要があります。

  • OSごと、以下の手順にて、PCとmicro:bitの外部ストレージ接続の解除を行います。

  • Chromebookの場合:ファイルのマークをクリックした後、「MICROBIT」右の「停止マーク」をクリックし、PCとmicro:bitの接続を切断します。安全に接続解除ができたら、USBケーブルを取り外します。

    after-use-chromebook-01

  • Macの場合:Finderを起動した後、「場所」の「MICROBIT」右の「停止マーク」をクリックし、PCとmicro:bitの接続を切断します。安全に接続解除ができたら、USBケーブルを取り外します。

    after-use-mac-01

  • スマートフォンとタブレットの接続はBluetoothで行うため、上記のような外部ストレージ接続の解除を行う必要がありません。

# その他作業

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

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

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



Last Updated: 10/5/2021, 11:27:00 AM