本記事について
この記事は CoreBluetoothForUnity Advent Calendar 2023 の4日目の記事です。
CoreBluetoothForUnity のサンプル 01_LightControl, 02_ButtonInformation で toio のランプの色変更と、ボタンの状態を取得する方法を紹介します。
toio とは
小さいロボットです。
Unity で扱うための公式の SDK が公開されています。
本記事ではこの SDK を使わずに toio と通信します。
toio の通信仕様
大変ありがたいことに、各種機能・Service, Characteristic の UUID ・データのフォーマットが以下に綺麗にまとまっています。
学習する上では非常に便利です。
サンプルで通信する手順
LightControl
データフォーマットは同じなため、以下のように Service, Characteristic の UUID を差し替えるだけで接続・通信可能です。
public static class SampleLightControl_Data
{
// See the following for generating UUIDs:
// https://www.uuidgenerator.net/
- public static readonly string ServiceUUID = "068C47B7-FC04-4D47-975A-7952BE1A576F";
- public static readonly string LightControlCharacteristicUUID = "2AE0B518-1DF2-4192-9E4A-EDEF2F30B04C";
+ public static readonly string ServiceUUID = "10B20100-5B3B-4571-9508-CF3EFCD7BBAE";
+ public static readonly string LightControlCharacteristicUUID = "10B20103-5B3B-4571-9508-CF3EFCD7BBAE";
Service UUID は通信概要のページ
Characteristic UUID は各種機能のランプのページから取ってきています。
データフォーマットは以下です。
ButtonInformation
toio にはボタンが1つだけ、ランプが押せるようになっています。
手順は LightControl と同様です。
Service UUID と Characteristic UUID を以下に差し替えることで通信できます。
ServiceUUID: 10B20100-5B3B-4571-9508-CF3EFCD7BBAE
CharacteristicUUID: 10B20107-5B3B-4571-9508-CF3EFCD7BBAE
Characterictic UUID およびデータフォーマットは以下のページにあります。
おわりに
toio 面白いし、BLE の学習に非常に有効なため値段の価値ある良いおもちゃだと思います。
ぜひ遊んでみてください!
Comments
Let's comment your feelings that are more than good