Switch Science mbed TY51822r3がmbed OS 5に対応しました!

こんにちは、志村です。

先日、BLEを使えるSwitch Science mbed TY51822r3がスイッチサイエンス製mbedとしては初めて、mbed OS 5に対応しました。mbed OS 5のリリース時の記事を読んでもわかるように、mbed OS 5のバージョンは5.1からリリースされています。その前にあった筈のバージョン5.0は、パートナー企業向けの開発リリース版としてこっそり公開されていたので、ユーザーからは見えなかったのですね。mbed OSは頻繁に更新されており、この記事の公開時点(2016年10月4日)では、mbed OS 5.1.4が公開されています。各バージョンのリリースノートはmbed OSのGit Hubで確認することができます。

話を戻しますが、今日はmbed OS 5のBLEの機能を試すために、Switch Science mbed TY51822r3を使って、mbed OS 5用のサンプルリストの中にあるSimple LED Controlを動かしてみます。このプログラムでは、mbedに接続したLEDの点滅をスマートフォンで制御することができます。

1. プログラムのインポート

Simple LED Controlのページの右側にあるImport into Compilerボタンをクリックすると、オンラインコンパイラにインポートすることができます。
mbed-os-example-ble-led_import-to-compiler

2. プログラムについて

インポートを選ぶとmbed-os-example-ble-LEDというプロジェクト名で、オンラインコンパイラにインポートされます。main.cppはsourceフォルダの中に入っています。

3. コンパイルとプログラムの書き込み

画面上部のコンパイルボタンをクリックすると、プログラムがコンパイルされます。コンパイルに成功するとバイナリファイルがダウンロードされます。ダウンロードされたファイルをmbedにドラッグ&ドロップをして完了です。

4. 回路の準備

Switch Science mbed TY51822r3のLED2のポートにLEDと抵抗を直列に接続します。このmbedに搭載されているチップ(nRF51822)のGPIOポートは、多くの電流を流せないので、大きい値の電流制限抵抗を付ける必要があります。今回は330kΩ抵抗を使用しました。
lightblueexplorer_circuit

5. アプリの準備

mbedにコマンドを送るためのアプリをスマートフォンにインストールします。

6.アプリとmbedをつなぐ

Androidアプリの使い方はmbedのページで解説されているので、本記事ではiOSアプリのLightBlue Explorerを使って、mbedとスマートフォンを繋いでみます。

mbedに電源を供給している状態でアプリを起動すると、LEDという名前のデバイスが見つかるので、これをタップして接続します。
lightblueexplorer_led

接続がうまくいくと、mbedが提供しているサービスのUUID(A000)と、キャラクテリスティック(0xA001)が表示されます。キャラクテリスティックの方をタップします。
lightblueexplorer_characteristic

Write new valueから1を書き込むとLEDが点灯、0を書き込むとLEDが消灯します。
lightblueexplorer_writeNewValue

今回は、オンラインコンパイラを使ってmbed OS 5を動かしてみました。mbed OS 5からはオフラインでも簡単にmbedのプログラムをコンパイルできる、mbed CLI(コマンドラインインターフェス)が提供されています。mbed CLIは他の方が詳しい記事を書いているので、そちらをどうぞ。

スイッチサイエンスチャンネルでmbed webinar(ウェブセミナー)を提供しています。webinarではmbed 2を使って、mbedのオンラインコンパイラの使い方やサンプルコードの解説などを行っています。オンラインコンパイラの使い方や基本的なプログラムの書き方はmbed 2もmbed OS 5もほとんど変わらないので、mbedを始めてみたい方は是非ご覧ください。

Pocket