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_HTM_HRM1017
BLE_Health_Thermometer; based on todotani-san's mod. Libraries are now genuine.
コンパイルすると、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使うようになっています。これらのライブラリは、かなり活発に開発が行われており、機能追加も頻繁です。
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までしか流せません。
当社の2ch FET付きLEDボードもお薦めです。
基板上のスイッチを押してもリセットできません¶
本体正面には、タクトスイッチが一つ付いています。これは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
サンプル¶
BLE_RCBController¶
Import programBLE_RCBController2
iOSのBLEコントローラアプリ「RCBController」と接続し、コントローラの操作を取得するサンプルプログラムです。 mbed HRM1017で動作を確認しています。 2014.08.20時点でのBLEライブラリに対応しました。
詳細は、jksoftさんのmbed HRM1017用RCBControllerサンプルプログラムを参照してください。
Note
mbed HRM1017の新しいファームウェアとその書き込み方法は次のページに書かれています。
Firmware HRM1017