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のピン配置は次の通りです。
本体正面には、タクトスイッチが一つ付いています。これは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サンプルプログラムを参照してください。