2014/9/18 現在のmbedのライブラリに合わせて、内容を修正しました。
明日よりBluetooth Low energy(BLE)対応mbed、mbed HRM1017が発売されます。今回はこのmbedでBLE通信をします。
BLEとはBluetoothの新しい通信規格です。低消費電力で簡単にデバイスとスマートフォンを接続することができます。
今回は温度センサで取得したデータをiPad miniを使って表示するシステムを作ります。
使用するデバイスは次の3つです。
- mbed HRM1017
- 温度センサ TMP102
- iPad mini
温度センサで取得したデータをI2C通信でmbed HRM1017に送信。さらにそのデータをmbed HRM1017からiPadでBLEを使って通信し、iPadの画面上に表示させます。絵がiPhoneになっていますが、通信のイメージは画像のようになります。
1.プラットフォームの選択
mbedを使うのが初めての方は、NXP社が提供しているコチラのページを見てアカウントを取得してから、このブログに戻ってきて下さい。
mbed HRM1017のプラットフォームは準備中なので、代わりに同じチップを搭載しているNordic nRF51822のプラットフォームを選択します。
mbed HRM1017のplatformページに飛んで、右側にある “Add to your mbed compiler"をクリックすると、mbed HRM1017がオンラインコンパイラに登録されます。
2.プログラムの準備
今回使いたいプログラムは弊社wikiにあるものを使用します。このページ真ん中あたりにあるBOXから、プログラムを自分のコンパイラにインポートします。
"Import program"ボタンをクリックすると、新しいタブでコンパイラ画面が開かれ、下の画面がでてきます。既に他のタブでコンパイラを開いている場合は、そこにでてきます。
画面内に書いてある事を確認しましょう。
source URLはこのプログラムが置いてあるリンクです。
Import Asはimportをプログラムとしてインポートするのか、ライブラリとしてするのか。今回はプログラムを選びます。
import Nameはこのプログラムの名前です。
Updateはこのプログラムに含まれている全てのライブラリを最新版に更新してインポートしたい時にチェックをします。最新のライブラリにはバグ修正や新しいプラットフォームへの対応などが含まれますので、チェックするようにしましょう。
最後に"Import"ボタンをクリックすると完了です。インポートが成功すると、新しいプロジェクトが左カラムに追加されます。
プログラムの説明は後日別記事にてアップしますので、今回は省略します。
回路の準備
次に回路の準備をしたいので、ピン配置を確認します。
I2C通信を使って、温度センサの値を取得したいので、P0_20とP0_22をセンサと接続します。もちろん、VDDとGNDも接続します。
下の配線図をもとに作りましょう。
ブレッドボード上に配線するとこのようになります。
コンパイルと実行
"Compile"ボタンをクリックして、コンパイルが成功すると”BLE_HTM_HRM1017_HRM1017_.hex”というファイルがダウンロードされます。他のmbedの場合はコンパイル後バイナリファイルとして出力されますが、今回はhexファイルとして出力されます。
hexファイルをドラッグ&ドロップでMBEDにコピーしましょう。書き込みが終わるとMBEDがアンマウント→再マウントされます。
アプリの準備
回路とプログラムの用意ができましたので、最後にiPadのアプリを準備しましょう。
今回使うのはNordic Semiconductor社が提供しているテスト用アプリ nRF Toolboxを使います。アプリは下の画像からダウンロードページに飛べます。
アプリをインストールし、起動させたらHTMを選んで、次の画面でCONNECTから通信するデバイスを選びます。
デバイスはnRF5xを選択します。ペアリング(接続)が成功すると画面中央に温度が表示されるようになります。温度以外の情報は通信していないので、日付や所在地はn/aになります。左上の電池の残量も正しく表示されません。
是非mbed HRM1017で簡単につながるBLEの世界を体験してください。