toio を スマホからいじってみる ~ Lチカ編 ~
toio 買ってみた
なんかタイムライン上におもしろそうなデバイスの情報が流れてきて、買ってしまいました。toio !
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 デバイスの一覧が表示されます。
ここで、コア キューブの電源をいれると、デバイス一覧に「toio Core Cube」が表示されるので、「Connect」ボタンを押します。
接続が成功すると、接続されたコア キューブから、「ピロピロピー」という音が鳴ります。
toio コアキューブで Lチカ
次に、コア キューブにコマンドを送ってみます。コマンドも動作もわかりやすい「ランプ」をいじります。コア キューブの裏側にあるランプは、好きな色で点灯/点滅ができるようになっています。
ランプ制御については、下記に資料があります。
toio コア キューブ 技術仕様
これを参考に、ランプを赤/緑を交互に点滅するコマンドを送ってみます。
nRF Connect アプリで、スワイプして、「Services」画面を表示させます。
スクロールして、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ボタンを押して、送信します。
コアキューブは、赤/緑点灯を500ミリ秒毎に繰り返します。
データの値を変えることで、ランプの色や点滅間隔を変えることができます。