Kickstarterで出資をした「Bangle.js 2」というスマートウォッチが到着しました。これが開発意欲をくすぐるガジェットで、楽しくて仕方がないのでご紹介します。
また、Bangle.js 2の一般販売は始まっていませんが、前作の「Bangle.js」は販売されており、1.3インチ 240×240 16ビットカラーの円形ディスプレイのスマートウォッチが以下のサイトで購入できます。
Bangle.js2のスペック
それでは、ハードウェアから触れていきます。公開されているスペックは以下です。
- Nordic 64MHz nRF52840 ARM Cortex-M4 processor with Bluetooth LE
- 256kB RAM, 1MB on-chip flash, 8MB external flash
- 1.3 inch 176×176 always-on 3 bit color LCD display (LPM013M126) with backlight
- Full touchscreen (6H hardness glass)
- GPS/Glonass receiver
- Heart rate monitor
- 3 Axis Accelerometer
- 3 Axis Magnetometer
- Air Pressure/Temperature sensor
- Vibration motor
- 200mAh battery, 4 week standby time
- 36mm x 43mm x 12mm watch body, with standard 20mm watch straps
- Full SWD debug port on rear of watch
スペックを見てわかるように、Apple Watchと肩が並べられるスマートウォッチではなく、腕時計の見た目をしたマイコンといった感じです。
ただ、搭載ディスプレイは特徴的です。
1.3インチのサイズで、解像度は176x176ピクセル、3bitカラーの正方形のディスプレイです。これだけでは軽く読み飛ばしそうなスペックですが、LCDではなく半透過型ディスプレイが搭載されています。
このディスプレイを搭載したことで、バックライトの消灯時は周囲の光を反射するモードで動作するので高い視認性を確保します。これにより、常時ディスプレイに何かを表示した状態で使えます。
良質な素材です
箱から出して電源を入れた後で出来るのは、時間を確認することくらいです。
スマホと同期とはいかなくても、端末で完結するような心拍や歩数の計測、結果表示すらできません。ユーザには完成品ではなく、Bangle.js 2という良質な素材が提供されているだけで、どう料理するかはユーザ次第です。
ただ、お膳立てがないわけではありません。有志で開発されたアプリは以下のサイトに公開されています。
このサイトにWebブラウザでアクセスして、アプリをインストールして端末を自分好みにしていきます。
このときのWebブラウザと端末の接続はBluetoothを使います。恥ずかしながら、このときはじめてWebブラウザでBluetoothがコントロールできることを知りました。ただ、対応ブラウザが限られており、筆者が確認した限り、ChromeやEdgeでは使えましたがSafariでは使えませんでした。
やる気があれば、すぐできる
Bangle.js 2は、やる気とWebブラウザがあれば誰でもアプリを開発できます。よくある開発者登録などは必要ありません。アプリの開発言語はJavaScriptです。ライブラリも充実しており以下でリファレンスが確認できます。
ただ、ハードスペックは、RAMが256KBで、SoCのクロックも64MHzなので、あまり凝ったことはできません。よって、JavaScriptが使えるといっても、今のWebアプリのような感覚でアプリが開発できるワケではありません。
アプリの開発環境は、クラウド上に統合環境が用意されています。
統合環境にはエミレータがあります。
開発の流れは、これを使って開発とひととおりの動作確認をした後、端末にアプリをダウンロードして実際の動きを確認します。アプリの実装は、ベタな感じで進めることになります。これは次回で触れることにします。
今週は、このあたりで、また来週。