AI対応スマートウォッチ「Bangle.js」を注文してみた。 | 「藍染 迅(超時空伝説研究所改め)」の部屋

「藍染 迅(超時空伝説研究所改め)」の部屋

小説家ワナビーの「藍染 迅(あいぞめ じん)」です。

書籍化・商業化を目指し、各種コンテストに挑戦しながら、カクヨム、小説家になろう、エブリスタ、アルファポリスなどに作品を投稿しています。

代表作は異世界ファンタジー「「飯屋のせがれ、魔術師になる。」。

外出自粛の中、ネット検索していたら、「Bangle.js」というスマートウォッチが網に引っかかってきた。

 

https://www.kickstarter.com/projects/gfw/banglejs-the-hackable-smart-watch

 

キックスターターで立ち上げた事業らしいが、既に寄付金は目標額に到達している。商品はイギリスから通販で買えるらしい。

 

なので、注文してみた。

 

https://shop.espruino.com/banglejs

 

イギリスのVAT(付加価値税)はカットになる代わりに、国際郵便送料がかかる。なんだかんだで、約1万円弱の買い物となった。有名どころのスマートウォッチに比べれば、大幅なお手頃価格。

このご時世であり、いつ手元に届くかわからないが、気長に待とう。

 

さて、このスマートウォッチ、特長は「Open Source」にある。既に存在するハード(ほぼ確実に中国製であろう)を買ってきて、ファームウェアを書き換えているらしい。ポイントは、JavaScript用のインタプリタを搭載していること。

 

自作のスクリプトをワイヤレスに書き込み、本体上で実行させることができる。Open Sourceなので、ユーザグループが作成した草の根ソフトをダウンロードしてきて自分のBangle.jsに書き込むこともできる。コーディングができなくても大丈夫。

 

https://banglejs.com/apps/

 

スクリプトを自作したいという人のためには、開発環境が用意されている。

 

https://www.espruino.com/ide/

 

このIDEはWEBベースでブラウザから利用することもできるし、AndroidやChromeアプリをダウンロードして使うこともできる。

コーディングにはGUIベースのツールも用意されており、プログラミング学習環境として利用することもできる。このツールは「Scratch」に似たもので、機能を持ったピースを組み合わせるだけで構造化プログラミングを行うことができる。

 

そもそも、Bangle.jsそのものが「Espruino」という実行環境のサブセットになっており、JavaScriptインタプリタとしてのEspruinoを実装しているということらしい。

 

Bangle.jsの主なスペックは、こんな感じ:

*Bangle.jsサイトからの引用。

 

<ハードウエア>

  • IP68 Waterproof: up to 10m underwater
  • Nordic 64MHz nRF52832 ARM Cortex-M4 processor with Bluetooth LE
  • 64kB RAM 512kB on-chip flash, 4MB external flash
  • 1.3 inch 240x240 16 bit LCD display with 2 zone touch
  • GPS/Glonass receiver (UBlox)
  • Heart rate monitor
  • 3 Axis Accelerometer (with Pedometer and Tap detect)
  • 3 Axis Magnetometer
  • Piezo speaker and Vibration motor
  • 350mAh battery, 1 week standby time
  • 5 x 5 x 1.7 cm case, plastic with stainless steel ring
  • Can be disassembled with just 4 screws
<ソフトウエア>
  • Easy to code and debug wirelessly using JavaScript or our graphical editor (based on Blockly)
  • Pre-programmed with the Espruino Open Source JavaScript interpreter 
  • Vast majority of JavaScript ES5 features and many ES6 features including: Regular Expressions, Promises, Arrow Functions, Template Literals
  • 40kB RAM for program memory/variables
  • Bluetooth 4.2 Advertising, Central and Peripheral mode support with built-in Nordic UART service
  • Graphics library with Vector fonts, bimap rotate & scale
  • Tensorflow Lite for Microcontrollers AI
  • Wear-levelled flash filesystem
  • Heatshrink compression
  • Upload functions written in C or ARM Assembler
  • Built-in wireless debugging
  • VT100 Terminal support on LCD
  • Program with Web-based Web Bluetooth IDE or Node.js-based command line tools
 
それなりにいじれそう。
 
スマートウォッチなので、通常はスマホ(Android)とペアで使うことになるだろう。そんなときに、Android側にBangle.jsに対応したアプリがあれば連携して機能を発揮することができる。有志のみなさんが作成してくれることでしょう。それが待てない、という人のためには、Androidアプリの開発環境もある。
 
 
こちら(DroidScript)は、Bangle.jsの開発者とは別の人が運営しているらしいが、Bangle.jsが気に入って対応するplug-inを用意してくれたそうだ。DroidScriptもGoogle Playストアから無料で入手できる。すごいね。
 
これだけの環境が整っていれば、相当いろんなことをして遊べそうだ。今使っている安物のスマートウォッチはベルトがへたってきたし、そろそろ替え時かなと思っていたところ。ちょうどいいタイミングだった。
 
Bangle.jsに出会ったのは、実は最後に出てきた「DroidScript」を調べている過程。plug-inでBangle.jsに対応したという情報から、この二者の関係を知った訳だ。DroidScriptについてはほかの用途も考えているのだが、それはまた別のお話。