wiki:PSoC4BLEStart

PSoC 4 BLEをはじめてみよう

PSoC 4 BLEでの開発を、ビーコン、ここではEddystoneを題材に経験してみましょう。

必要な物:

まず、PSoC Creatorを起動します。起動を終えたら、[File]-[New]-[Project]を選択して、新しいプロジェクトを作ります。

プロジェクトをつくるときには、使用するテンプレートを選択します。ここでは、「Target hardware」として「Kit: CY8CKIT-042-BLE (PSoC 4100 BLE / PSoC 4200 BLE)」を選択します。

次に、Prohect templateは、「Pre-populated schematic」にしておきましょう。

最後に、プロジェクトに名前を付けます。ここでは、「PSoC_Eddystone」としておきました。

OKボタンをクリックすると、新規プロジェクトが開きます。このような「Bluetooth Low Energy」コンポーネントが画面に出ているはずですので、これをダブルクリックしてください。Component Configuration Toolのウィンドウが開きます。

ProfileをCustomにします。また、恐らく最初からチェックが入っていますが、Use BLE low power modeというチェックボックスにチェックを入れます。

次に、「Profiles」タブに切り換えてください。
「Custom Service」のパラメータを変更します。UUIDを16-bitにして、UUIDをEddystoneの「feaa」にします。
※bit長のドロップダウンリストボックスが見当たらない場合、ウィンドウを大きくすると表示されます。

今度は、「GAP Settings」タブです。
「General」の項に有る、「Silicon generated "Company assigned" part of device address」にチェックを入れます。これにチェックを入れないと、ビルドしたバイナリを書き込んだBLEモジュールのデバイスアドレスが全て同じ値になってしまいます。
「Device name」にはお好みのものを入れてください。AppearanceはUnknownにしておきます。

「Advertisement settings」の項に有る、「Advertising type」を「Scannable undirected advertising」にします。 また、「Fast advertising interval」の「Timeout」のチェックを外します。

最後に、「Advertisement packet」の項です。
「Service UUID」-「Custom Service」にチェックを入れます。また、「Service Data」-「Custom Sercie」にもチェックを入れます。
すると、Dataの項に入力出来るようになりますので、Eddystoneのフレームを記入します。ここでは、「10:00:01:73:77:69:74:63:68:2D:73:63:69:65:6E:63:65:00」と入力しました。先頭1バイト目の0x00は、Eddystoneのものであることを意味します。2バイト目の0x00は送信している電波の強度、GAP SettingsのGeneraiでTX power levelを0dBmにしたので、0dBmにしました。3バイト目はURLスキーム、0x03は「https」を意味します。その後はアスキーコードでURLの文字列を記述し、最後の0x00は、「.com/」を意味します。
詳細は、次のURLを参照してください。 https://github.com/google/eddystone/tree/master/eddystone-url

以上でGUI作業は終了です。最後にコードを書きましょう。といっても、書くことはほとんどありません。
まず、main.cを開きます。main.cは次の場所をダブルクリックすることで開くことができます。

今回は、プロジェクトのテンプレートを使っているので、既にコードのテンプレートが記述されています。
このコードの40-41行目、

        case CYBLE_EVT_STACK_ON:
            CyBle_GappStartAdvertisement( CYBLE_ADVERTISING_FAST );

このCyBle_GappStartAdvertisementがコメントアウトされていますので、アンコメントします。たったそれだけです。

これで、ビルドを行ってください。
ビルドが完了したら、パソコンにMiniProg3を接続します。まだ、デバッガとPSoC BLEモジュールは接続しないでください。
次に、[Debug]-[Select Debug Target]をクリックして、デバッガを選択するウィンドウを開きます。ここでPort Settingをクリックしてください。

MiniProg3はターゲットに電力を供給することができます。ここでは、3.3Vを供給するように設定します。また、MiniProg3には10ピンのコネクタと5ピンのコネクタがありますので、5ピンのコネクタを使うように設定します。

ここまで終えたら、デバッガとPSoC 4 BLEを接続します。接続は次の写真を参考に行ってください。
CY8CKIT-142の基板表面を見ると、PROGというシルクがあります。VDDDというシルクがあるピンとMiniProg3のVTARGが接続されるようにして接続します。
向きを間違えると、CY8CKIT-142やMiniProg3を破損する恐れがありますので、十分に注意をして接続してください。

接続を終えたら、最後に書き込みを行います。[Debug]-[Program]をクリックすると書き込みが開始されます。
書き込みを終えると、Eddystoneのビーコンが出ているはずです。

iOSデバイスに、Chromeをインストールすると、こんな感じに見えるはずです。

なぜか、AndroidにChromeをインストールしてもEddystoneを拾ってくれないので、Locate BeaconやiBeacon & Eddystone Scannerなどのアプリケーションを入れて拾ってみました。

Last modified 14 months ago Last modified on May 2, 2016 5:10:47 PM

Attachments (22)