obnizとは
株式会社 CambrianRobotics(カンブリアンロボティクス)がつくっている、obnizという名のデバイスです。
そしてobnizOSという名のOSのことを指すこともあります。
M5StickC[obniz無期限ライセンス付属]の中のobnizはobnizOSのことを指してます。
M5StickCとは
M5StickC社がつくっている、M5Stickという名のマイコンのCタイプです。
組織名とサービス名が一致しているのがいまっぽいですね。
M5StickCは、超小型にもかかわらず、
・バッテリー
・ディスプレイ
・加速度センサ
・WiFi
などが搭載されている、もりもりなマイコンとなっています。
スイッチサイエンスの商品ページに詳しい情報が載っています。
関連する商品一覧をみると、M5Stick、種類がわんさかあります。正直どう違うのかがイマイチわからないモデルもあったりなかったり。
今回はobnizOSがインストールされているモデルが売っているという理由で、M5StickCを選びました。
M5StickC(obnizOS)をnpmパッケージで動かす
こちらの記事を見て、obniz を使えばいいのか、 m5stickcjs を使えばいいのか迷ったのですが、
いろいろ調べた結果、obniz を使えば良いようです。
ソースを読んでみると、m5stickcjs は obniz の中に内蔵されてました。
JavaScript
使うパッケージさえ分かってしまえばこっちのものです。
const Obniz = require('obniz'); const m5 = new Obniz.M5StickC('XXXXXXXX'); // obnizIDを入れる m5.onconnect = async () => { await m5.setupIMUWait(); setInterval(async () => { const acc = await m5.accelerationWait(); console.log(`{ x: ${acc.x}, y: ${acc.y}, z: ${acc.z} }`); }, 100); };
という感じで、簡単に加速度センサの値にアクセスすることができます。
この例だと、0.1秒に1回加速度センサの値を取得します。
DEMO
小型なのに、加速度センサ、バッテリー、WiFiを積んでいるので、無線で動くという強みを活かして、加速度に応じて音が出るという装置の作成につかってます。
スピーカーはNodeサーバを立てているMacのものを使っているので、スタンドアロンでは無いのですが、その分音質が良いので満足してます。
シェーカーを振ってる間だけ壮大なBGMが流れる仕組みを作りました。名付けて「フルオーケストラ」です。
— 君塚史高 (@ki_230) 2020年7月10日
全力で振らないと頭出しされるので、フルで聴くためには2分46秒頑張る必要があります。
心なしか、完成した完全栄養食が、いつもより神々しく感じました。 pic.twitter.com/QabfzyQufI
LOGIC(ミスト化粧水・泡洗顔)が届いた。
— 君塚史高 (@ki_230) 2020年7月10日
2本セットで、ミスト化粧水は「振らない」、泡洗顔は「良く振る」とのこと。良く振る方は振りたくなるように、振ったら音が出るようにしておいた。https://t.co/YFqHFCJd2q pic.twitter.com/T4i2wKqNto
殺虫剤から必殺技っぽい音が流れる仕組みを作りました。
— 君塚史高 (@ki_230) 2020年7月13日
名付けて「ジェットバズーカ」です。 pic.twitter.com/YD7RWMuhID