You are viewing an older revision! See the latest version

mbed HRM1017をはじめよう

English documentation is on Getting started with mbed HRM1017.

Note

どうしても日本語のページ名にしたかったため、URLにマルチバイトが入ってしまいました。Tweetで紹介していただくとき、次のURLをコピペしていただくと、正しく短縮されて便利だと思います。
mbed HRM1017をはじめよう https://mbed.org/teams/Switch-Science/wiki/mbed-HRM1017%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86

概要

mbed HRM1017のピン配置は次の通りです。
/media/uploads/ytsuboi/hrm1017_pinout-20140611.png



本体正面には、タクトスイッチが一つ付いています。これはHRM1017(nRF51822)のリセット用ですが、今のところ機能しません。今後、mbedインターフェースのファームウェアのアップデートで対応予定です。

基板上面のソルダジャンパ2つは、BLEモジュールのTX,RXとmbedインターフェースを接続しています。HRM1017と外部のデバイスをUARTで接続したいときには、このソルダジャンパのハンダを除いてください。

基板底面のソルダジャンパは、USB - レギュレータ - インターフェースチップの3V3と、BLEモジュール - ピンヘッダ の3V3をショートしてます。モジュール単体でバッテリ駆動したいときに、モジュールだけにピンヘッダから給電するときには、この底面のソルダジャンパのハンダを除いてください。

回路図(PDF)

Warning

LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。

Note

Windowsでは、COMポートとして認識せるためにドライバのインストールが必要です。Windows serial configurationの「Download latest driver」からドライバのインストーラが入手できます。

販売店

- スイッチサイエンス
- 千石電商
- アールティ
- 共立電子産業
- Amazon

とりあえず

とりあえず、何かを動かしてみたい方は、Platformsのhttp://mbed.org/platforms/mbed-HRM1017/をご自分のオンラインコンパイラに追加した上で、こちらのプログラムをインポートし、コンパイルしてみてください。

Import programBLE_Health_Thermometer2-010

BLE_Health_Thermometer for mbed HRM1017 with BLE library 0.1.0


コンパイルすると、hexファイルがダウンロードされます。
nRF51822はBLEのスタックの部分がSoftDeviceということでプログラム可能になっています。自分のプログラムとSoftDeviceの両方を転送するために、hexファイルとなっています。

ボードをUSBでPCに接続すると、MBEDというドライブがマウントされるはずです。ここにhexファイルをドラッグ・アンド・ドロップすることで、mbedにプログラムを転送することができます。hexファイルをドラッグ・アンド・ドロップすると、「MBED」ドライブは勝手にアンマウントされ、再度マウントされます。このとき、HRM1017はリセットされ、コードの実行が始まります。

Nordicが提供している、nRF Toolboxというプログラムをお手持ちのiPhoneにインストールして起動し、HTMというアイコンをタップ、CONNECTというボタンをタップすることで、HRM1017が電波を吹いていれば一覧にデバイスが現れると思います。温度も表示させたい人は、こんな感じでI2Cの温度センサを接続すると良いでしょう。


現在メンテナンスされている新しいBLEのライブラリ、BLE_API使うようになっています。これらのライブラリは、かなり活発に開発が行われており、機能追加も頻繁です。しかし、最新のBLE_APIライブラリを使うためには、いくつかの修正をしなければ動きません。この修正をtodotaniさんが施して公開して下さっているのが、上記のプログラムです。
修正内容については、同氏のWiki /users/todotani/code/BLE_Health_Thermometer2-010/wiki/BLE_Health_Thermometer2-010 を参照してください。

FAQ

HEXファイルを書き込んでもプログラムが動きません

オンラインコンパイラでダウンロードしたファイルを直接MBEDドライブに保存した場合、うまく動かないという事例が報告されています。
お手数ですが、いったん他の場所にHEXファイルを保存してから、MBEDドライブにドラッグ・アンド・ドロップして書き込んでください。
なお、HEXファイルをドラッグ・アンド・ドロップして、コピーを終えるとMBEDドライブは勝手に取り外され、再度接続された状態になります。再度接続したあとは、コピーしたはずのHEXファイルが見えなくなっていますが、nRF51822にプログラムは書き込まれていますのでご安心ください。

Blinkyを実行しても基板上のLEDが点滅しません

mbed HRM1017に付いているLEDは、mbedインターフェースのアクセスランプです。
Blinky(Lチカ)は、別途LEDをFETでドライブするように取り付けて行ってください。

Warning

LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。

基板上のスイッチを押してもリセットできません

本体正面には、タクトスイッチが一つ付いています。これはHRM1017(nRF51822)のリセット用ですが、今のところ機能しません。今後、mbedインターフェースのファームウェアのアップデートで対応予定です。

接続事例

iPhone/iPad

iPhone 4S以降など、BLE対応のiOSデバイス

Android

Nexus 5 (接続できない場合、OSをアップデートしてください。)
Nexus 7

Windows 8/8.1

SurfaceなどのBLE対応デバイス
MakerLabNagoyaのWikiに、色々なTipsが掲載されています。http://makerlab.jp/wiki/kb:mbed-ble
matsujirushiさんによって、githubでコードが公開されています。 https://github.com/matsujirushi/mjwinble

参考資料

Miconoさんによる、mbed HRM1017資料館@ROBOMIC(ブログ)
http://micono.cocolog-nifty.com/blog/mbed-hrm1017.html

サンプル

HRM1017がプラットフォームに追加されたことに伴い、以下のプログラムは上手く動かないかもしれません。現在調査を行っています。

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_RCBController2

iOSのBLEコントローラアプリ「RCBController」と接続し、コントローラの操作を取得するサンプルプログラムです。 mbed HRM1017で動作を確認しています。 2014.08.20時点でのBLEライブラリに対応しました。

Import programBLE_RCBController

iOSのBLEコントローラアプリ「RCBController」と接続し、コントローラの操作を取得するサンプルプログラムです。 mbed HRM1017で動作を確認しています。

詳細は、jksoftさんのmbed HRM1017用RCBControllerサンプルプログラムを参照してください。


All wikipages