#13 Bluetooth接続をしよう【もっと!後輩たちのためのEV3rt講座】

# 目次

| 章 | タイトル | 内容 |
|:-:|:-:|:-:|
| 1 | [はじめに](#1-はじめに) | 今回の説明 |
| 2 | [PCとBluetoothで接続](#2-pcとbluetoothで接続) | ペアリングについて説明 |
| 3 | [通信の準備](#3-通信の準備) | Tera Termのインストール |
| 4 | [Bluetooth経由でappを転送する](#4-bluetooth経由でappを転送する) | 接続・転送方法の説明 |
| 5 | [まとめ](#5-まとめ) | 今回のまとめ |

# 1. はじめに

今回はEV3rtを用いた場合のBluetooth接続方法について解説したいと思います。

今まで、コンパイルしたプログラムをEV3に転送するには、USBケーブルを用いた有線での方法しかありませんでしたが、今回紹介する方法により、Bluetoothを用いた**無線転送**が出来るようになります。
開発効率アップに繋がりますので、使いこなせるようになりましょう！

(※ 一部スクリーンショットについて、過去の記事より流用しております。)

# 2. PCとBluetoothで接続

まずはパソコンとEV3を接続する必要があります。
「設定」を開いて「Bluetooth」の設定項目へと移動しましょう。

## Windows 11 の場合

:::note warn
Windows 11 を使用している場合、このセクションの作業が必要です。
10以前を使用している場合は次の **「ペアリング」** へ進んでください。
:::

EV3rtのBluetooth接続では、少しマイナーな方法である「Bluetooth SPP (Serial Port Profile) 」という接続方式が用いられます。
Windows 11になってからというもの、このBluetooth SPPでの接続にはひと手間加える必要が発生しているため、まずはその作業を行います。

「設定」アプリの「Bluetoothとデバイス」に移動後、「デバイス」を選択します。

![スクリーンショット 2024-09-14 231300.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/52ce2fc7-b389-8243-d4c8-bf18e0c5c409.png)

「デバイス」が開いたら、下の方へ移動し、「デバイスの設定」の「Bluetoothデバイスの検出」を探します。
この項目のデフォルト設定は「規定」ですが、これを **「詳細」** に変更します。

![スクリーンショット 2024-09-14 231322.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/cf56ec92-1b8f-a35d-9dbf-8d9552c16d00.png)

![スクリーンショット 2024-09-14 231327.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/00dfb559-595a-f0b9-b9f6-4092c672af33.png)

これで準備完了です。

## ペアリング

それでは、EV3とのペアリングをしていきます。
「デバイスの追加」を押し (Windows 11の場合は「Bluetooth」を選択)、「Mindstorms EV3」を選択します。

![bt_pair2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/aabdd787-cf42-4b2a-3c3e-e358af41c6ee.png)

すると、パスワードの入力を求められます。
ここでのパスワードとは、[「#3 アプリケーション開発のおやくそく」の2章](https://qiita.com/koushiro/items/e3d04e3a4e266c603865#2-sd%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E5%85%A5%E3%82%8C%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)で説明済みの、`etc/rc.conf.ini`ファイルで設定した[Bluetooth]の **PinCode** のことです。
デフォルトであれば「0000」になっているはずです。

![bt_pair1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/ea752792-6130-41bb-ad86-65a85368e5fe.png)

ここまで完了し、以下のように「ペアリング済み」と表示されればペアリングの作業は完了です。

![bt_pair3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/f9ea26d8-a6e6-d625-c561-3aab0196e229.png)

### TOSHIBA製 Bluetoothスタックを用いる方法について

[過去の記事](https://qiita.com/koushiro/items/578a1d65721b982c55c6)では、TOSHIBA製のBluetoothスタック(接続ソフト)を用いる方法も紹介していましたが、特に使わずともこれから説明する作業は出来る他、古いソフトとなり脆弱性の問題もあるため、ここでは取り扱わないこととします。
もし、上記の手順(Windowsの「設定」からペアリング)が上手く行かない場合は、参照してみてください。

# 3. 通信の準備

続いて、PC側でBluetoothの通信を行うためのソフトをインストールしていきます。
前述の通り、EV3rtではBluetooth SPPという接続方法を用いるため、それに対応したソフトが必要となります。
ここでは、シリアルモニタとして非常に有名な **「Tera Term」** を用いたいと思います。

## Tera Term のインストール

では、Tera Termをインストールしていきます。
まずは[Tera Term のGithubリポジトリ](https://github.com/TeraTermProject/teraterm/releases)へアクセスしましょう。
一番上にあるのが最新リリースとなるため、特にこだわりが無ければこれをインストールしましょう。
「Assets」の部分の `teraterm-5.X.exe` という名前のファイルをダウンロードします。

![スクリーンショット 2024-09-14 234201.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/b6158079-94c5-d95a-a3fe-bf6e8cd6eac7.png)

ダウンロード出来たら、インストーラを開きましょう。

言語を聞かれるので「日本語」で進めます。

![スクリーンショット 2024-09-14 234535.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/c8948dba-c715-0d55-53b2-7a2154beb3bb.png)

続いて、使用許諾に同意してください。

![スクリーンショット 2024-09-14 234544.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/b79c19fb-b81a-b1d2-a605-277e653d84cc.png)

次に何をインストールするか聞かれますが、「標準インストール」のままで結構です。

![スクリーンショット 2024-09-14 234557.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/08ddf844-6cf5-9e98-9133-2eeb8a0c4627.png)

ソフト内で用いる言語を聞かれますが、これも「日本語」のまま進めます。

![スクリーンショット 2024-09-14 234602.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/f15e5af5-5dfc-7bbd-694c-9da8ae4f6bcd.png)

その他、オプションを聞かれますが、特にこだわりが無ければ、そのまま進めれば良いかと思います。

![スクリーンショット 2024-09-14 234607.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/842d2b00-16ff-11af-a995-16e8a1db9302.png)

インストールするものを確認し、「インストール」ボタンを押してください。

![スクリーンショット 2024-09-14 234611.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/0b66377c-eed5-caff-6fc5-090f5e0f5373.png)

以下の画面が表示されたら「インストール」完了です。

![スクリーンショット 2024-09-14 234622.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/354157b5-5dda-ebdf-a4a1-95b49b7c74f3.png)

これで、Bluetooth通信する準備が整いました。

# 4. Bluetooth経由でappを転送する

いよいよ、EV3rtとBluetooth通信をしていきます。
今回はコンパイルしたアプリ(`app`)の転送を行います。

## COMポートの確認

これからPCとEV3は、Bluetooth上で「シリアル通信」を行うわけですが、EV3がどのポートに繋がっているかを調べておく必要があります。そこで、以下の手順でCOMポートを調べましょう。

`コントロールパネル` -> `ハードウェアとサウンド` -> `デバイスとプリンター` にアクセス

![スクリーンショット 2024-09-15 0003110.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/00b5b0bd-5f4c-d02c-8bca-9eb15863c38b.png)

![スクリーンショット 2024-09-15 000831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/9a86d4ab-c80e-df48-328e-987302a8de34.png)

![スクリーンショット 2024-09-15 000845.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/03ea13b1-9713-5ff9-6402-43ac55fce714.png)

:::note info
Windows 11の場合は `設定` -> `Bluetoothとデバイス` ->  `デバイス` を選択
一番下へ行き、 `その他のデバイスとプリンターの設定` を開く
:::

`Mindstorms EV3` を選択し、`プロパティ` を開きます

![スクリーンショット 2024-09-15 001412.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/afe68f72-c07d-add7-48d8-3bd197f8922f.png)

`ハードウェア` もしくは `サービス` のタブを選択し、以下の赤線部を確認します。
これが接続されているCOMポートとなります。

![スクリーンショット 2024-09-15 001740.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/91cfe73d-d6ad-7272-ae9b-34d7fa69d973.png)

この場合、接続ポートは **「COM3」** となります。

## Tera Term での接続

COMポートの確認が出来たら、先ほどインストールしたTera Termを起動し、通信をしていきましょう。

起動すると、以下のように「新しい接続」という画面が表示されるかと思います。
(出ない場合は、`ファイル`->`新しい接続`からアクセス出来ます)

![スクリーンショット 2024-09-15 002403a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/66bc3382-032b-68b7-7cfe-a960bb433f1f.png)

ポートの部分で先ほど調べたCOMポートを選択し、「OK」を押して接続します。
接続出来たら、以下のように選択したCOMポートが表記されるはずです。

![スクリーンショット 2024-09-15 002626.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/9b2925ad-f32a-07c5-f78f-213a53b0c8c5.png)

## appを転送

接続が出来たら、いよいよアプリを転送していきます。
PC側の操作を行う前に、EV3rtの操作をします。

メニュー画面から **「Bluetooth SPP」** を選択します。

![IMG_83450.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/ed9e9a3d-3086-d7c2-e4a4-3648825215be.jpeg)

以下のような表示になれば、準備完了です。

![IMG_8346.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/6155b36c-9122-763c-09a8-a49883271e61.jpeg)

では、Tere Termの画面に戻り、アプリを転送していきます。
`ファイル` -> `転送` -> `ZMODEM` -> `送信` と選択します。

![スクリーンショット 2024-09-15 004306.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/e3c52aed-36ec-4ed1-5db8-aaa66983c6e7.png)

EV3rtのフォルダを開き、`workspace`フォルダの`app`を選択します。
(プログラム名を変えたい場合は、この転送前にしておきましょう。)

![スクリーンショット 2024-09-15 004939.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183170/6673baa1-fa77-c20b-bdbb-77ebfc46f10c.png)

転送出来たら、EV3rt側で「Click the CENTER button to run.」と表示されるので、真ん中ボタンを押してプログラムを起動します。
この時、モータ等を使用するプログラムの場合、その場で走り出す可能性があるので注意してください。

これで、Bluetoothによるappの無線転送が出来ました！

# 5. まとめ

今回は、EV3rtにおけるBluetoothの接続方法、およびアプリの転送方法を解説していきました。
実はこれ以外にも、Bluetoothを用いて**データのやり取り**をすることが出来ます。
これについては次回説明したいと思います。

前回: [#12 テキストを扱おう&ファイルを読み書きしよう](https://qiita.com/koushiro/items/0c5a916d431a36dcdbbc)
次回: [#14 Bluetoothを使ってPCと通信しよう](https://qiita.com/koushiro/items/c8a428af2f30b7812f27)