You are viewing an older revision! See the latest version

mbed HRM1017をはじめよう

Table of Contents

    Warning

    mbed HRM1017は、オンラインコンパイラへの登録を依頼中です。
    当面の間、オンラインコンパイラでは、Nordic nRF51822を選択して開発を行ってください。

    概要

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



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

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

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

    回路図(PDF)

    Note

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

    販売店

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

    とりあえず

    とりあえず、何かを動かしてみたい方は、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にすれば自動的に内蔵のクロックを使うように切り替わるようにリクエストを出す予定です。
    当面の間、お手間ですが、ライブラリの切り換えないしは、コードの書き換えて対応をお願いいたします。

    サンプル

    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に電話がかかってきたり、プッシュ通知がなされると、シリアルターミナルに様々なメッセージがでます。


    All wikipages