作るもの
Catbell NotifierはAndroid ThingsおよびAndroidデバイス(5.0以降)で動作しますが、それにBLEで通信して状態を表示したり、光って知らせるためのペリフェラルをM5Stackを使って作ります。Catbell Notifierとは
Android ThingsやAndroidデバイスで動作する、CIのビルドのような時間が掛かるものの通知をディスプレイに表示するためのアプリです。このアプリ自体はディスプレイに状態を表示し続けますが、M5Stackという小さな開発モジュールにBLEで通信することで、そちらの液晶にも状態を表示できます。
M5Stackについて
M5StackはESP32というモジュールに次のようなものが扱える形でパッケージングされた開発モジュールです。
- 320 x 240 TFTカラーディスプレイ
- microSDカードスロット
- スピーカー
- 各種I/Oピン
- M5Stack Arduino Library: https://github.com/m5stack/M5Stack
価格も5000円弱と安価で、Switch ScienceやAmazonでも手に入ります。
ESP32はBLE(Bluetooth Low Energy)やWiFiのための技適が通っており、安価にこういったペリフェラルを作ることができます。
Catbell Notifier用のファームウェア
プロジェクトサイトの中にファームウェアのソースコードがあります。これをM5Stackに書き込むことでAndroid上で動作するアプリと通信ができるようになります。
アプリ上での設定
ナビゲーションドロワーからPeripheral Settingsを開きます。ペリフェラルの電源が入っていれば、リストにペリフェラルのBluetoothのMACアドレスが表示されます。表示されない場合は何処かおかしいです。
もし原因がわからない場合はnRF Connect for MobileのようなアプリでM5Stackに接続できるか確認し、問題を切り分けましょう。
チェックを入れ、トップの画面に戻ると接続されます。
LEDを取り付けて光らせる
M5Stackには拡張コネクタが有り、そこにフルカラーLEDを取り付けることで光らせることができます。使用しているLEDはOSTBMCZ2C1DというカソードコモンのフルカラーLEDです。
配線図は次の通りです。
実際に実装したもののは次のとおりです。裏表の配置に気をつけましょう。
M5Stackに繋ぐためのケーブルも作ります。
フラットケーブルにコネクタをカシメて作ります。
動作確認で光らせるには、Edit Statusの編集画面から行えます。
筐体を作る
3Dプリンターで筐体を作れます。3DモデルはBlenderで作ったものと、それをSTLにエクスポートしたものがあります。
筆者はReplicator Dualを使っているので、それようにMakerBotで並べて印刷します。丸い小さな円盤はヘルパーディスクと呼ばれる、印刷中に熱収縮で剥がれるのを防止するためのものです。
印刷が終わって塗装したい場合はヤスリやパテ、サーフェイサーで表面を整えます。
塗装が終わったら組み立てます。底面のネジはそのままだと机を傷つけることがあるのでクッションゴムを付けます。
最後に透明な樹脂で作った可愛いゴーファーのフィギュアを乗せます。