You are viewing an older revision! See the latest version
mbed HRM1017をはじめよう
Warning
mbed HRM1017は、オンラインコンパイラへの登録を依頼中です。
当面の間、オンラインコンパイラでは、Nordic nRF51822を選択して開発を行ってください。
概要¶
mbed HRM1017のピン配置は次の通りです。
本体正面には、タクトスイッチが一つ付いています。これはHRM1017(nRF51822)のリセット用ですが、今のところ機能しません。今後、mbedインターフェースのファームウェアのアップデートで対応予定です。
基板上面のソルダジャンパ2つは、BLEモジュールのTX,RXとmbedインターフェースを接続しています。HRM1017と外部のデバイスをUARTで接続したいときには、このソルダジャンパのハンダを除いてください。
基板底面のソルダジャンパは、USB - レギュレータ - インターフェースチップの3V3と、BLEモジュール - ピンヘッダ の3V3をショートしてます。モジュール単体でバッテリ駆動したいときに、モジュールだけにピンヘッダから給電するときには、この底面のソルダジャンパのハンダを除いてください。
回路図(PDF)
Note
Windowsでは、COMポートとして認識せるためにドライバのインストールが必要です。Windows serial configurationの「Download latest driver」からドライバのインストーラが入手できます。
販売店¶
- スイッチサイエンス
- 千石電商
- アールティ
- 共立電子産業
- Amazon
とりあえず¶
とりあえず、何かを動かしてみたい方は、PlatformsのnRF51822をご自分のオンラインコンパイラに追加した上で、こちらのプログラムをインポートし、コンパイルしてみてください。
Import programBLE_Health_Thermometer_IRC
Originally from Donal's blog article. http://mbed.org/users/donalm/code/BLE_Health_Thermometer_Blog/ Changed low freq. clock source from XTAL to IRC.
コンパイルすると、hexファイルがダウンロードされます。
nRF51822はBLEのスタックの部分がSoftDeviceということでプログラム可能になっています。自分のプログラムとSoftDeviceの両方を転送するために、hexファイルとなっています。
ボードをUSBでPCに接続すると、MBEDというドライブがマウントされるはずです。ここにhexファイルをドラッグ・アンド・ドロップすることで、mbedにプログラムを転送することができます。hexファイルをドラッグ・アンド・ドロップすると、「MBED」ドライブは勝手にアンマウントされ、再度マウントされます。このとき、HRM1017はリセットされ、コードの実行が始まります。
Nordicが提供している、nRF Toolboxというプログラムをお手持ちのiPhoneにインストールして起動し、HTMというアイコンをタップ、CONNECTというボタンをタップすることで、HRM1017が電波を吹いていれば一覧にデバイスが現れると思います。温度も表示させたい人は、こんな感じでI2Cの温度センサを接続すると良いでしょう。
Low Frequency Clock¶
このプログラムは、Bluetooth LE Example on mbed - Health Thermometer!の記事のプログラムをちょっと改造したものです。Nordicのmkitには32kHzのクリスタルが載っているのですが、このボードには搭載されていません。このため、nRF51822内蔵の発振回路を使うように設定してください。具体的には、コードの画像の部分を次の様に書き換えています。
// SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, false); SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION, false);
現在のところ、BLEのライブラリは二種類存在します。
古いもの。
Import libraryBLE_API_Native_blog
BLE API as used in the blog entry.
これを、内蔵の発振回路を使うように改造したのが、こちらです。
Import programBLE_API_Native_IRC
Originally from Donal's blog article. http://mbed.org/users/donalm/code/BLE_Health_Thermometer_Blog/ Changed low freq. clock source from XTAL to IRC.
ライブラリが二つに分離した新しいものです。
Import libraryBLE_API
High level Bluetooth Low Energy API and radio abstraction layer
Import librarynRF51822
Nordic stack and drivers for the mbed BLE API
これを、内蔵の発振回路を使うように改造したものが、こちらです。BLE_APIのほうは、書き換えが必要ありません。
Import librarynRF51822_IRC
changed low freq. clock source to IRC
Information
mbed HRM1017がPlatformsページに正式に登録され次第、ライブラリ「nRF51822」は、オンラインコンパイラでターゲットをmbed HRM1017にすれば自動的に内蔵のクロックを使うように切り替わるようにリクエストを出す予定です。
当面の間、お手間ですが、ライブラリの切り換えないしは、コードの書き換えて対応をお願いいたします。
FAQ¶
HEXファイルを書き込んでもプログラムが動きません¶
Internet Explorerをお使いの方が、オンラインコンパイラでダウンロードしたファイルを直接MBEDドライブに保存した場合、うまく動かないという事例が報告されています。
お手数ですが、いったん他の場所にHEXファイルを保存してから、MBEDドライブにドラッグ・アンド・ドロップして書き込んでください。
Blinkyを実行しても基板上のLEDが点滅しません¶
mbed HRM1017に付いているLEDは、mbedインターフェースのアクセスランプです。
Blinky(Lチカ)は、別途LEDと電流制限抵抗を取り付けて行ってください。
基板上のスイッチを押してもリセットできません¶
本体正面には、タクトスイッチが一つ付いています。これはHRM1017(nRF51822)のリセット用ですが、今のところ機能しません。今後、mbedインターフェースのファームウェアのアップデートで対応予定です。
接続事例¶
iPhone/iPad¶
iPhone 4S以降など、BLE対応のiOSデバイス
Android¶
Nexus 5 (接続できない場合、OSをアップデートしてください。)
Nexus 7
Windows 8/8.1¶
SurfaceなどのBLE対応デバイス
matsujirushiさんによって、githubでコードが公開されています。 matsujirushi/mjwinble
サンプル¶
ANCS¶
Import programBLE_ANCS_SDAPI_IRC
changed low freq. clock source to IRC
1. importし、コンパイルしてダウンロードされたhexファイルを「MBED」ドライブにドラッグ・アンド・ドロップします。
2. USBで接続しているパソコンから、mbed HRM1017にシリアルターミナルで9,600bpsで接続します。
3. iPhoneの、設定→Bluetoothを見ると「ANCC」というデバイスが見つかりますので、選択し、ペアリングします。
4. iPhoneに電話がかかってきたり、プッシュ通知がなされると、シリアルターミナルに様々なメッセージがでます。
BLE_RCBController¶
Import programBLE_RCBController
iOSのBLEコントローラアプリ「RCBController」と接続し、コントローラの操作を取得するサンプルプログラムです。 mbed HRM1017で動作を確認しています。
詳細は、jksoftさんのmbed HRM1017用RCBControllerサンプルプログラムを参照してください。