Version 6 (modified by 8 years ago) ( diff ) | ,
---|
PSoC 4 BLEをはじめてみよう
PSoC 4 BLEでの開発を、ビーコン、ここではEddystoneを題材に経験してみましょう。
必要な物:
- CY8CKIT-142 PSoC 4 BLEモジュール 1個
- PSoC MiniProg3 1個
- 両方長いピンヘッダ 5ピン分
- PSoC CreatorをインストールするWindowsパソコン
- PSoC Creator この記事は3.3で検証して書きました。
まず、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などのアプリケーションを入れて拾ってみました。
Attachments (22)
- create_new_project.png (70.1 KB ) - added by 9 years ago.
- select_template.png (128.1 KB ) - added by 9 years ago.
- component_catalog.png (261.1 KB ) - added by 9 years ago.
- configure_BLE1.png (139.7 KB ) - added by 9 years ago.
- configure_BLE2.png (90.8 KB ) - added by 9 years ago.
- select_project_type.png (71.5 KB ) - added by 9 years ago.
- select_template.2.png (78.6 KB ) - added by 9 years ago.
- create_project.png (64.6 KB ) - added by 9 years ago.
- BLE_component.png (78.7 KB ) - added by 9 years ago.
- configure_BLE1.2.png (71.8 KB ) - added by 9 years ago.
- configure_BLE2.2.png (82.9 KB ) - added by 9 years ago.
- configure_BLE3.png (82.6 KB ) - added by 9 years ago.
- configure_BLE4.png (83.2 KB ) - added by 9 years ago.
- configure_BLE5.png (135.1 KB ) - added by 9 years ago.
- main.c.png (64.6 KB ) - added by 9 years ago.
- debug_target.png (46.3 KB ) - added by 9 years ago.
- port_setting.png (35.0 KB ) - added by 9 years ago.
- pinheader.png (247.3 KB ) - added by 9 years ago.
- pinheader2.png (258.9 KB ) - added by 9 years ago.
- ios_sample.png (218.1 KB ) - added by 9 years ago.
- locate_beacon.png (107.2 KB ) - added by 9 years ago.
- beacon_scanner.png (87.6 KB ) - added by 9 years ago.