でばいすの山小屋

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

toio を スマホからいじってみる ~ Lチカ編 ~

toio 買ってみた

なんかタイムライン上におもしろそうなデバイスの情報が流れてきて、買ってしまいました。toio !

f:id:blgkns:20200615015320p:plain:w320
toio は、カートリッジ式のソフト(別売)があったり、パソコンでのプログラミング環境があったりするのですが、今回は、toio をプログラミングなしで、スマホからいじってみます。
toio は、BLE(Bluetooth Low Enery)で通信して、制御/連係動作するようになっています。また、その仕様も公開されているため、toio コア キューブ(以下、コア キューブ)を、PCやスマホから自由に制御できるようになっています。

toio 公式ページは下記
toio

BLE ツールのインストール

App Store もしくは、Google Play から、BLE ツールをインストールします。
nRF Connect for Mobile
似たようなツールは、他にもありますが、今回は「nRF Connect」の iOS版を使用します。使い慣れたものがある方は、それを使っていただいて、以下、読み替えてください。

toio コアキューブと接続

スマホで nRF Connectアプリを起動します。
(初回起動時は、Bluetoothの使用許可を求められるので、許可します。)
起動すると、近くの通信可能な BLE デバイスの一覧が表示されます。
f:id:blgkns:20200615015326p:plain:w240
ここで、コア キューブの電源をいれると、デバイス一覧に「toio Core Cube」が表示されるので、「Connect」ボタンを押します。
接続が成功すると、接続されたコア キューブから、「ピロピロピー」という音が鳴ります。

toio コアキューブで Lチカ

次に、コア キューブにコマンドを送ってみます。コマンドも動作もわかりやすい「ランプ」をいじります。コア キューブの裏側にあるランプは、好きな色で点灯/点滅ができるようになっています。
ランプ制御については、下記に資料があります。
toio コア キューブ 技術仕様
これを参考に、ランプを赤/緑を交互に点滅するコマンドを送ってみます。
f:id:blgkns:20200615015331p:plain:w240
nRF Connect アプリで、スワイプして、「Services」画面を表示させます。
f:id:blgkns:20200615015336p:plain:w240
スクロールして、Characteristic「10B20103-5B3B-4571-9508-CF3EFCD7BBAE」の「↑」(Writeボタン)を押します。
送るデータは下記のようにします。

データ位置 タイプ 内容 データ
0 UInt8 制御の種類 0x04(連続的な点灯・消灯)
1 UInt8 繰り返し回数 0x00(無限)
2 UInt8 Operation の数 0x02(Operation 2 つ)
3 UInt8 ランプを制御する時間 0x32(500 ミリ秒)
4 UInt8 制御するランプの数 0x01
5 UInt8 制御するランプの ID 0x01
6 UInt8 ランプの Red の値 0xff
7 UInt8 ランプの Green の値 0x00
8 UInt8 ランプの Blue の値 0x00
9 UInt8 ランプを制御する時間 0x32(500 ミリ秒)
10 UInt8 制御するランプの数 0x01
11 UInt8 制御するランプの ID 0x01
12 UInt8 ランプの Red の値 0x00
13 UInt8 ランプの Green の値 0xff
14 UInt8 ランプの Blue の値 0x00

データ部分を、16進数のまま「040002320101ff000032010100ff00」と、アプリに入力し、Writeボタンを押して、送信します。
f:id:blgkns:20200615015342p:plain:w240
コアキューブは、赤/緑点灯を500ミリ秒毎に繰り返します。
f:id:blgkns:20200615015348p:plain:w320
データの値を変えることで、ランプの色や点滅間隔を変えることができます。