でばいすの山小屋

デバイスとかクラウドを実験中。IoTのふもとあたりをうろうろ。

PSoC 6 で BLE 通信してみる

PSoC Advent Calendar 2018の24日目の記事です。

PSoC 6 で、BLE 通信してみます。
最近リリースされた PSoC 6 BLE PROTOTYPING KIT (CY8CPROTO-063-BLE) と PSoC Creator を使います。PSoC 初心者/初級者向けに、サンプルプロジェクトを使い、設定の変更だけで動くようにします。コードは書きません。

PSoC 6 BLE PROTOTYPING KIT (CY8CPROTO-063-BLE)

f:id:blgkns:20181223231028p:plain
CYBLE-416045-02 モジュールが載っています。この緑のモジュールが技適を取得していますので、安心して使用できます。この記事を書いてる時点で、Cypress Store、Mouser、Digi-Keyチップワンストップにて、US$20くらいで販売されています。お手軽価格のボードなので、そのうち、日本のお店でも売られるようになるかと思います。

CySmart

PSoC 6 と通信するために、今回は、スマートフォンを使用します。
BLE に対応した iOS / Android 端末に、Cypress社の「CySmart」アプリをダウンロードします。
App StoreGoogle Play からダウンロードできます。)

プロジェクトの作成

PSoC Creator を起動します。

f:id:blgkns:20181223231029p:plain
Create Project ボタンを押します。

f:id:blgkns:20181223231030p:plain
「Target module」「CYBLE-416045-02」を選択し 、「Next >」を押します。
「CYBLE-416045-02」が選択肢にない場合、セットアップが足りていないところがあります。下記の記事を参照してください。
yamagoya.hatenablog.jp

f:id:blgkns:20181223231031p:plain
「Code example」を選択し、「Next >」を押します。

f:id:blgkns:20181223231032p:plain
「CE217637_BLE_Fine_Me」を選択し、「Next >」を押します。

f:id:blgkns:20181223231033p:plain
「Next >」を押します。

f:id:blgkns:20181223231034p:plain
「Workspace name」「Location」(保存フォルダ)を設定し、「Finish」を押すと、プロジェクトが生成されます。

バイスの選択

この記事を書いてる時点で、デバイスが正しく設定されない問題があるようなので、直します。

f:id:blgkns:20181223231035p:plain
「Project」を右クリックし、「Device Selector...」を押します。

f:id:blgkns:20181223231036p:plain
「CYBLE-416045-02」を選択し、「OK」を押します。

Pins の設定変更

このサンプルプロジェクトは、別のキット向けの設定になっているため、IO の接続を変更します。

f:id:blgkns:20181223231037p:plain
「Pins」タブを開きます。

f:id:blgkns:20181223231038p:plain
Advertising_LED : P7[1]
Alert_LED : P6[3]
Disconnect_LED : P9[4]
に設定します。
※このキットには、LEDが2つしかないため、Disconnect_LED は、未使用のピンに割り当てます。

接続

f:id:blgkns:20181223231039p:plain
キットと PC を USBケーブルでつなぎます。

Program / 実行

f:id:blgkns:20181223231040p:plain 「Program」ボタンを押します。

f:id:blgkns:20181223231041p:plain
ターゲット選択画面が表示されるので、「PSoC 63 CYBLE-416045-02(CM0p)」を選択し、「OK / Connect」を押します。
PSoC 63 には、Cortex M0+ / Coretex M4 の2つの CPU が載っているため、どちらをデバッグターゲットにするか選択します。

f:id:blgkns:20181223231042p:plain
ビルドが終わると自動的に、デバイスに書き込みが始まります。問題なく書き込みが完了すると上記のように表示されます。

f:id:blgkns:20181223231043p:plain
同時に キットの緑色の LED が点灯します。緑色の LED が点灯しているのは、接続可能状態(アドバタイジング中)を示しています。一定時間放置すると、タイムアウトで消灯し、接続できなくなりますので、その場合は、キット上の「RESET」ボタンを押してください。 f:id:blgkns:20181223231044p:plain

スマートフォンで、CySmart を起動します。


キットは 「Find Me Target」として、表示されます。これを選択し、接続します。 接続できると、キットの緑色の LED が消灯します。


CySmart で、「Find Me」サービスを選択します。


Select を押し、「No Alert」「Mid Alert」「High Alert」のいずれかを選択します。

f:id:blgkns:20181223231049p:plain
キット上の赤い LED が「消灯」「点滅」「点灯」します。

参考資料

CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Board Guide.pdf
http://japan.cypress.com/documentation/development-kitsboards/psoc-6-ble-prototyping-kit