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)
CYBLE-416045-02 モジュールが載っています。この緑のモジュールが技適を取得していますので、安心して使用できます。この記事を書いてる時点で、Cypress Store、Mouser、Digi-Key、チップワンストップにて、US$20くらいで販売されています。お手軽価格のボードなので、そのうち、日本のお店でも売られるようになるかと思います。
CySmart
PSoC 6 と通信するために、今回は、スマートフォンを使用します。
BLE に対応した iOS / Android 端末に、Cypress社の「CySmart」アプリをダウンロードします。
(App Store や Google Play からダウンロードできます。)
プロジェクトの作成
Create Project ボタンを押します。
「Target module」「CYBLE-416045-02」を選択し 、「Next >」を押します。
「CYBLE-416045-02」が選択肢にない場合、セットアップが足りていないところがあります。下記の記事を参照してください。
yamagoya.hatenablog.jp
「Code example」を選択し、「Next >」を押します。
「CE217637_BLE_Fine_Me」を選択し、「Next >」を押します。
「Next >」を押します。
「Workspace name」「Location」(保存フォルダ)を設定し、「Finish」を押すと、プロジェクトが生成されます。
デバイスの選択
この記事を書いてる時点で、デバイスが正しく設定されない問題があるようなので、直します。
「Project」を右クリックし、「Device Selector...」を押します。
「CYBLE-416045-02」を選択し、「OK」を押します。
Pins の設定変更
このサンプルプロジェクトは、別のキット向けの設定になっているため、IO の接続を変更します。
「Pins」タブを開きます。
Advertising_LED : P7[1]
Alert_LED : P6[3]
Disconnect_LED : P9[4]
に設定します。
※このキットには、LEDが2つしかないため、Disconnect_LED は、未使用のピンに割り当てます。
接続
キットと PC を USBケーブルでつなぎます。
Program / 実行
「Program」ボタンを押します。
ターゲット選択画面が表示されるので、「PSoC 63 CYBLE-416045-02(CM0p)」を選択し、「OK / Connect」を押します。
※PSoC 63 には、Cortex M0+ / Coretex M4 の2つの CPU が載っているため、どちらをデバッグターゲットにするか選択します。
ビルドが終わると自動的に、デバイスに書き込みが始まります。問題なく書き込みが完了すると上記のように表示されます。
同時に キットの緑色の LED が点灯します。緑色の LED が点灯しているのは、接続可能状態(アドバタイジング中)を示しています。一定時間放置すると、タイムアウトで消灯し、接続できなくなりますので、その場合は、キット上の「RESET」ボタンを押してください。
スマートフォンで、CySmart を起動します。
キットは 「Find Me Target」として、表示されます。これを選択し、接続します。
接続できると、キットの緑色の LED が消灯します。
CySmart で、「Find Me」サービスを選択します。
Select を押し、「No Alert」「Mid Alert」「High Alert」のいずれかを選択します。
キット上の赤い LED が「消灯」「点滅」「点灯」します。
参考資料
CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Board Guide.pdf
http://japan.cypress.com/documentation/development-kitsboards/psoc-6-ble-prototyping-kit