でばいすの山小屋

デバイスとかクラウドを実験中。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

ModusToolbox 1.0 をインストールしてみる ( Windows / macOS )

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

PSoC の新しい開発環境 ModusToolbox 1.0 がリリースされたので、インストールしてみます。
ModusToolbox は、Windows / macOS / Linux に対応しています。
今回は、Windows 10 / macOS Mojave にインストールします。

対応OS

対応OS は、以下のようになっています。

Windows の場合、32ビット版には対応してないとのことなので注意が必要です。

対応デバイス/対応キット

PSoC 6 系(CYBLE-416045-02を含む)に対応しています。

対応キットは、下記の通りです。

  • CY8CKIT-062-BLE
  • CY8CKIT-062-WIFI-BT
  • CY8CPROTO-062-4343W

ダウンロード

ModusToolbox のページに行き
http://www.cypress.com/products/modustoolbox-software-environment

右側の「Download ModusToolbox」をクリックし、ダウンロードします。
※ダウンロードするには、Cypress のウェブサイトにてアカウントを作成し、ログインする必要があります。

インストール手順(Windows編)

インストールは、簡単です。ウィザード通りすすめていきます。



インストール完了です。



ModusToolbox を起動して、プロジェクトを保存するフォルダを設定します。


初回起動時には、LICENSE AGREEMENT が表示されるので、「Accept」を押します。

インストール手順(Mac OS編)

インストールは、簡単です。ウィザード通りすすめていきます。



インストール完了です。



ModusToolbox を起動して、プロジェクトを保存するフォルダを設定します。


初回起動時には、LICENSE AGREEMENT が表示されるので、「Accept」を押します。

PSoC Creator 4.2 をインストールしてみる

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

PSoC Creator 4.2 を Windows10 にインストールします。
ただ、最新のデバイスPSoC 6 の一部など)には対応していないため、さらにいくつかの更新が必要になりますので、そのあたりをまとめてみました。


ダウンロード

PSoC Creator のページに行き
http://japan.cypress.com/products/psoc-creator-integrated-design-environment-ide
f:id:blgkns:20181201215104p:plain:w320
右側の「PSoC Creator のダウンロード」をクリックし、ダウンロードします。
※ダウンロードするには、Cypress のウェブサイトにてアカウントを作成し、ログインする必要があります。


インストール

インストーラ ( PSoCCreatorSetup_4.2_es100_b641.exe ) (2018/12/01時点) を実行する。

.NET Framework 3.5」がインストールされていない場合
下記のような表示が出てインストールが中止されます。
f:id:blgkns:20161201163748p:plain

.NET Framework 3.5」をインストールします。
「コントロールパネル」の「Windowsの機能の有効化または無効化」で、
.NET Framework 3.5(.NET 2.0 および 3.0を含む)」にチェックをつけて、「OK」
f:id:blgkns:20161201163749p:plain

.NET Framework 3.5」のインストールが終わったら、再度、PSoC Creatorインストーラを実行します。


Visual Studio 2013 の Visual C++ 再頒布可能パッケージ」がインストールされていない場合
下記のような表示が出てインストールが中止されます。
f:id:blgkns:20181201215105p:plain
リンク先よりダウンロードしてインストールします。
インストールが終わったら、再度、PSoC Creatorインストーラを実行します。


画面に従いインストールしていきます。
f:id:blgkns:20181201215106p:plain

f:id:blgkns:20181201215107p:plain

f:id:blgkns:20181201215108p:plain

f:id:blgkns:20181201215109p:plain

f:id:blgkns:20181201215110p:plain

f:id:blgkns:20181201215111p:plain
使用者名とメールアドレスを入力

f:id:blgkns:20181201215112p:plain
Cypressのウェブサイトでログインした時のメールアドレスおよびパスワードを入力

インストール完了!

開発キット

持っている開発キット(ハードウェア)にあったパッケージをインストールすることで、PSoC Creator をより便利に使うことができます。

たとえば、「PSoC 6 WiFi-BT Pioneer Kit」の場合、
http://japan.cypress.com/documentation/development-kitsboards/psoc-6-wifi-bt-pioneer-kit
このページの「関連ファイル」の
「Download CY8CKIT-062-WiFi-BT Kit Only Package (Kit Design Files, Documentation, Examples)」をダウンロードし、インストールします。

新規プロジェクト作成時に、対象のキットが表示されるようになります。
f:id:blgkns:20181201215113p:plain

また、C:\Program Files (x86)\Cypress\ 以下の該当フォルダに回路図やBOMなどもインストールされます。

Keil ライセンス取得ダイアログについて

しばらく使っていると、Keil のライセンス取得を求められるようになります。
以下の手順で、ダイアログ表示を止めることができます。
(※PSoC 3 で開発する方は、ライセンスを取得してください。本記事では扱いません。)
メニューの「Tool」「Options」で、
f:id:blgkns:20161201163759p:plain
「Don't show Keil registration....」に、チェックをつけます。

新しいデバイスに対応させる

PSoC Creator を起動します。
f:id:blgkns:20181201215114p:plain
「Tools」「Find new devices」を選択します。
新しいデバイス対応のアップデートがある場合は、下記のようなダイアログが表示されます。
f:id:blgkns:20181201215115p:plain
必要に応じて、インストールします。

PSoC Programmer / PDL(Peripheral Driver Library) の更新

PSoC Creator を起動します。
f:id:blgkns:20181201215116p:plain
「Help」「Update Manager」を選択します。
f:id:blgkns:20181201215117p:plain
PSoC Programmer 3.27.1」の「Update」を押してインストールします。
また、「Peripheral Driver Library 3.0.3」を「Download」を押して、インストールします。 インストールし、再度、Update Managerを起動すると、「Peripheral Driver Library 3.0.4」が表示されますので、こちらも同様に対応します。

今後も更新があれば、Update Manager に表示されますので、たまにチェックされることをおすすめします。

PSoC 6 Pioneer Kit で、Lチカしてみる (2)

PSoC Advent Calendar 2017の19日目の記事です。

PSoC 6 Pioneer Kit で、Lチカしてみます。
その2回目になります。

前回は、こちら
yamagoya.hatenablog.jp

今回は、コードを書かずに、Lチカします。
PSoC 6 Pioneer Kit を使うには、PSoC Creator 4.2 以降のものが必要になります。

PSoC Creator 4.2 について
2017/12/19 現在、正式リリースはされていません。ベータバージョンとして提供されています。
下記の PSoC 6 のページからリンクが張られており、ダウンロードには、ユーザ登録が必要です。

Cypress PSoC 6
http://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6


プロジェクトを作成

PSoC Creator 4.2 を起動します

f:id:blgkns:20171217165542p:plain:w640
「Create Project」を押す

f:id:blgkns:20171217165543p:plain:w640
「Target kit」「CY8CKIT-062-BLE (PSoC 63)」を選択して、「Next >」を押す

f:id:blgkns:20171217165544p:plain:w640
「Empty schematic」を選択して、「Next >」を押す

f:id:blgkns:20171217165545p:plain:w640
「Next >」を押す

f:id:blgkns:20171218144020p:plain:w640
ワークスペース名など、任意に設定して、「Finish」を押す

クロックの設定

f:id:blgkns:20171218144021p:plain:w640
「Clocks」を選択して、「Edit Clock」を押す

f:id:blgkns:20171218144033p:plain:w640
「High Frequency Clocks」タブを開く
「HFClk0」の設定を、「Path 1 (8 MHz)」「8」とする
「PeriClk」の「Divider」を「100」にする
「OK」を押す

コンポーネントの配置

f:id:blgkns:20171218144023p:plain:w640
「TopDesign.cysch」を開く

f:id:blgkns:20171218144024p:plain:w640
右上のComponent Catalogの検索窓に、「clock」と入力
「Clock」を、TopDesign.cysch にドラッグ&ドロップする

f:id:blgkns:20171218144029p:plain:w640
新しく作られた「Clock_1」コンポーネントをダブルクリックして開く。
Frequency を「2 Hz」に設定する

f:id:blgkns:20171218144025p:plain:w640
右上のComponent Catalogの検索窓に、「flip」と入力
「Toggle Flip Flop」を、TopDesign.cysch にドラッグ&ドロップする

f:id:blgkns:20171218144026p:plain:w640
右上のComponent Catalogの検索窓に、「high」と入力
「Logic High '1'」を、TopDesign.cysch にドラッグ&ドロップする

f:id:blgkns:20171218144027p:plain:w640
右上のComponent Catalogの検索窓に、「pin」と入力
「Digital Output Pin」を、TopDesign.cysch にドラッグ&ドロップする

f:id:blgkns:20171218144028p:plain:w640
新しく作られた「Pin_1」コンポーネントをダブルクリックして開く。
Nameを「LED」にする。

f:id:blgkns:20171218144030p:plain
コンポーネントを移動させ、このようにつなげる。

f:id:blgkns:20171218144031p:plain:w640
Pins をダブルクリックする。
「LED」の Port のドロップダウンリストから、P1[5]を、選択する。

実行

f:id:blgkns:20171218144032p:plain
Program ボタンを押すと、コードが書き込まれ、実行されます。

f:id:blgkns:20171218171541p:plain
LED が点滅します。

PSoC 6 Pioneer Kit で、Lチカしてみる (1)

PSoC Advent Calendar 2017の18日目の記事です。

PSoC 6 Pioneer Kit で、Lチカしてみます。
2回にわけて記事にしてみました。
今回は、コードを少し書いて、Lチカします。
PSoC 6 Pioneer Kit を使うには、PSoC Creator 4.2 以降のものが必要になります。

PSoC Creator 4.2 について
2017/12/18 現在、正式リリースはされていません。ベータバージョンとして提供されています。
下記の PSoC 6 のページからリンクが張られており、ダウンロードには、ユーザ登録が必要です。

Cypress PSoC 6
http://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6


プロジェクトを作成

PSoC Creator 4.2 を起動します

f:id:blgkns:20171217165542p:plain:w640
「Create Project」を押す

f:id:blgkns:20171217165543p:plain:w640
「Target kit」「CY8CKIT-062-BLE (PSoC 63)」を選択して、「Next >」を押す

f:id:blgkns:20171217165544p:plain:w640
「Empty schematic」を選択して、「Next >」を押す

f:id:blgkns:20171217165545p:plain:w640
「Next >」を押す

f:id:blgkns:20171217165546p:plain:w640
ワークスペース名など、任意に設定して、「Finish」を押す

Digital Output Pin を配置する

f:id:blgkns:20171217165547p:plain:w640
右上のComponent Catalogの検索窓に、「pin」と入力
「Digital Output Pin」を、TopDesign.cysch にドラッグ&ドロップする

f:id:blgkns:20171217165548p:plain:w640
Digital Output Pinは、「Pin_1」という名で、生成される。
※写真は、Zoom In で拡大してます。
これをダブルクリックする。

f:id:blgkns:20171217172306p:plain:w640
Nameを「LED8」に変更。
「HW connection」のチェックをはずして、OKを押す。
※Nameには、任意の名前をつけられます。その場合、以下のすべての「LED8」を読み替えてください。

f:id:blgkns:20171217165550p:plain:w640
Pins をダブルクリックする。
「LED8」の Port のドロップダウンリストから、P1[5]を、選択する。

コードを書く

左の Workspace Explorer の main_cm0p.c を、ダブルクリックする。
forのなかに、2行加えます。
※コメントは削除しています。

#include "project.h"

int main(void)
{
    __enable_irq();
    Cy_SysEnableCM4(CY_CORTEX_M4_APPL_ADDR); 

    for(;;)
    {
        Cy_GPIO_Inv(LED8_PORT, LED8_NUM);
        CyDelay(500);
    }
}

コードの説明(ざっくり)
LED の GPIO の出力を反転させる。
500msec(0.5秒)待つ。
これを繰り返す。

f:id:blgkns:20171217165551p:plain:w640
Program ボタンを押すと、コードが書き込まれ、実行されます。

f:id:blgkns:20171217165552p:plain:w640
LED が点滅します。

おまけ

この Kit には、ほかにも LED が、のっていますので、光らせる LED を変えてみてください。
※Pins の LED の Port の接続先を変えることで光らせる LED を変えられます。
LED の Port は、このようになっています。

Port
LED5 RGB (R) P0[3]
LED5 RGB (G) P1[1]
LED5 RGB (B) P11[1]
LED8 オレンジ P1[5]
LED9 P13[7]


参考:
PSoC 6 Pioneer Kit の回路図は、下記にインストールされます。
C:\Program Files (x86)\Cypress\CY8CKIT-062-BLE PSoC 6 BLE Pioneer Kit\1.0\Hardware\CY8CKIT-062-BLE\CY8CKIT-062-BLE Schematic.pdf

PSoC 6 Pioneer Kit / E-ink ディスプレイの表示データを作ってみる

PSoC Advent Calendar 2017の7日目の記事です。

PSoC 6 Pioneer Kit の E-ink ディスプレイで遊んでみます。
今回は、PSoC 側のコードは書きません。
PSoC 6 Pioneer Kit を使うには、PSoC Creator 4.2 が必要になります。

PSoC Creator 4.2 について
2017/12/07 現在、正式リリースはされていません。ベータバージョンとして提供されています。
下記の PSoC 6 のページからリンクが張られており、ダウンロードには、ユーザ登録が必要です。

Cypress PSoC 6
http://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6


プロジェクトを作成

PSoC Creator 4.2 を起動します

f:id:blgkns:20171207030242p:plain:w480
「Create Project」を押す

f:id:blgkns:20171207030243p:plain:w480
「Target kit」「CY8CKIT-062-BLE (PSoC 63)」を選択して、「Next >」を押す

f:id:blgkns:20171207030244p:plain:w480
「Code example」を選択して、「Next >」を押す

f:id:blgkns:20171207030245p:plain:w480
「CE218133_EINK_CapSense」を選択して、「Next >」を押す

f:id:blgkns:20171207030246p:plain:w480
「Next >」を押す

f:id:blgkns:20171207030247p:plain:w480
ワークスペース名など、任意に設定して、「Finish」を押す


サンプルプロジェクトの実行

f:id:blgkns:20171207030248p:plain:w480
screen.c の 140行目に BreakPoint をしかけて、デバッグ実行(デバッグ実行ボタンを押すか、F5を押す)する

f:id:blgkns:20171207030249p:plain:w480
デバッグターゲット選択画面が表示される場合は、
PSoC 63 CY8C6347BZI-BLD53(CM0p)」を選択して、「OK / Connect」を押す

ビルドされ、書き込みが完了し、実行される。
実行されると、main_cm0p.c の main 関数の頭で、止まるので、F5 を押して進めると.... f:id:blgkns:20171208011113p:plain:w480
E-ink ディスプレイにイメージが描画される。

Shift+F5 で、デバッグ実行を止める。

ここで、デバッグ実行を止めずに、そのまますすめると、このサンプルプロジェクトを試すことができます。
Pioneer Kit の右下のタッチセンサー部分をスライドしたり、タッチすることで、画面が書き換わります。


画像データを書き換えてみる

次に、このサンプルプロジェクトの起動画面を書き換えてみます。

f:id:blgkns:20171207030251p:plain:w480
screen_contents.c : 509行目から、起動画面のイメージがあります。
ここの最初の1バイトを、0xFF から 0x00 に書き換えて、デバッグ実行します。
さらに、F5を押して、進めると....

f:id:blgkns:20171207030252p:plain:w480
E-ink ディスプレイの左上に、小さな線(縦1ピクセル/横8ピクセル)が描かれていることがわかります。
画像イメージは、1ビットが1ピクセルに対応しています。つまり、1バイトで、8ピクセル
この E-ink ディスプレイは、縦横264x176なので、全画面の画像データは、264×176÷8 = 5808バイトとなります。
そんなデータをひたすら書いていくのはつらいので、BMP から画像データへのコンバータを作ってみました。


画像データコンバータ

やることは単純です。
BMP ファイルを読み込み、1ピクセルずつ色を見て、1バイトに詰めて、16進数表示でテキストにしています。
処理を簡単にするために、BMP の赤のみをみています。
下記のコードは、WPF/C# の一部です。
Linuxな方!PNG対応したい方!Advent Calendar 書くネタないなぁという方!コンバータ作って、ぜひ投稿してください)

MainWindow.xaml

<Window (snip)
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="File Select" HorizontalAlignment="Left" Margin="10" VerticalAlignment="Top" Width="80" Height="20" FontSize="12" Click="Button_Click"/>
        <TextBox Name="tbResult" Margin="10,40,10,10" />
    </Grid>
</Window>


MainWindow.xaml.cs

using Microsoft.Win32;
using System;
using System.Windows;
using System.Drawing;

namespace (Your Namespace)
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            string result = "";
            ofd.DefaultExt = ".bmp";
            ofd.Filter = "BMP|*.bmp";
            if (ofd.ShowDialog() == true)
            {
                Bitmap bitmap = new Bitmap(ofd.FileName);
                for (int y = 0; y < bitmap.Height; y++)
                {
                    result += "  ";
                    for (int x = 0; x < bitmap.Width; x+=8)
                    {
                        int a = 0;
                        for (int i = 0; i < 8; i++)
                        {
                            a = a << 1;
                            Color c = bitmap.GetPixel(x+i, y);
                            if (c.R > 127)
                                a |= 1;
                        }
                        result += string.Format("0x{0:X02}, ", a);
                    }
                    result += string.Format("// {0}", y + 1) + Environment.NewLine;
                }
                tbResult.Text = result;
            }
        }
    }
}

読ませるBMPファイルは、縦横264x176の物を準備してください。
サイズが間違っていると、画像がずれたり、動作がおかしくなります。


f:id:blgkns:20171207030253p:plain:w480
実行後、出力された16進数のデータを、screen_contents.c の 511~686行目と部分に上書きします。
※画像ではわかりにくいですが、176行分上書きしてください。


これを、デバッグ実行すると....

f:id:blgkns:20171207030254p:plain:w480
うまく表示されました!

IoTおもちゃを作ってみた

PSoC Advent Calendar 2016の13日目です。

以前、作った「IoTおもちゃ」について書いてみます。

IoTおもちゃ「ハロウィンのお城」

f:id:blgkns:20161213031434p:plain:w320
6cm角のサイコロ型の箱におさまる大きさのペーパークラフトです。 これを、PC やスマホから、照明を操作できるようにしました。

f:id:blgkns:20161213031435p:plain:w240

操作画面です。ブラウザから操作できます。

ペーパークラフト

株式会社さんけい の ペーパークラフトキット「みにちゅあーとmini」を改造して使用しています。 窓ガラス部分を、光りが通るように、プラバンに変え、中に LED を入れ、配線を床下に出しています。
f:id:blgkns:20161213031436p:plain:w320
床下には、PSoC 4 BLE Module (ピンソケットをはずしたもの)と ボタン電池が入っています。

システムの全体構成

通信経路は、下記のようになっています。
f:id:blgkns:20161213031441p:plain PSoC 4 BLE と Android が、BLE 通信。
Android と PC/スマホクラウドを介して、通信できるようになっています。
はじめて見る人は、「なんでー?」って言ってくれる人が少なくないのですが、わかってしまえば簡単です(^^)

Android端末

f:id:blgkns:20161213031438p:plain:w240
BLE通信 と インターネット通信を仲介するために、それぞれに接続できるようになっています。
もちろん、BLE通信だけで、直接、ペーパークラフトを操作できます。

Cloud / Webアプリ

Microsoft Azure 上に、Web Apps をたてています。
WebアプリとAndroid端末は、SignalR を使って通信しています。
Cloud 側は、ほぼ設定だけで、コードといえる物は、ありません。
Webアプリもボタンを押したら、Cloud に、コマンドを投げるだけというレベル。

BLE 通信

BLE の通信もシンプルです。
f:id:blgkns:20161213031439p:plain:w320
Custom Profileにして、Service / Characteristic を1つ作っています。
Characteristic は、uint8 が 1byte です。 Android から、コマンド 1byte 書き込むことで、動作するようにしています。
2つの LED をどのように光らせるかということを設定するだけなので、8bit で十分です。(単純に手抜き)

ひとこと

いろんな技術を使っていますが、どれも入門編レベルです。
IoTブームとか言われますが、まだまだ、インターネットとやりとり出来たらおもしろくなる物は、たくさんあると思います。
なにか作ってみてはいかがでしょうか?

おまけ

今回使用した「みにちゅあーとmini」は、他にもたくさん発売されており、いくつか改造して遊んでみようと思っています。
そこで、勉強がてら、専用基板つくっちゃいました(笑)
f:id:blgkns:20161213031440p:plain:w320
PSoC 4 BLE で基板を作ってしまうと、技適を通す必要が出てくるため、EZ-BLE PSoC を使っています。
しかし、こんな基板を設計して、気軽に発注できるなんていい時代ですよね。