2014年11月9日日曜日

Ringの回路雑感

Kickstarterで出資した変身できないほうの魔法の指輪が届きました。ソフトや使用感の話はいろいろ出ているので、製品そのものの雑感を書きます。

電源端子について

指輪の内側に充電用端子が出ています。満充電後にテスターをあてると、ほぼほぼリチウムイオン電池と同じだけの電圧が出ます。ダイオードでも入れて表に出ないようにしとけよ…なんて思いましたが、充電スタンド側を分解するとTIのBQ24090を積んでいました。充電ICは指輪の中に入っていると予想していたのですが。BQ24090のデータシートの参考回路を見るとICから直接電池につないでいるので、ここを指輪と充電器とで分離すると、指輪の端子で遮断するのはいろいろ調整とか大変なのかなと思いました。

工事設計認証について

外箱の底面に技適マークと番号がついていましたが、これはNGです。電波を出すものに記載するので、Ringの場合は指輪に記載します。電波を出すものに書いてある前提で、購入の目安とするために外箱等にも記載するのはOKです。高くなるかもしれないけど、指輪の内側に彫ってあったりしたらちょっとかっこいいのでこれからに期待したいところ。

11/15 訂正 この工事設計認証の話はBluetooth部分を自前で設計した場合の話で書きました。内部に認証取得済みモジュールを内蔵している場合は、Logbarのやり方が正しくなります。申し訳。

RingのiPhoneアプリにHardware Versionの項目があるので、これからまだ改良が入るかもしれません。Kickstarterの1stロットだから、多少ひっかかる点もあるけれどまあよしと言ったところ。もの自体はちゃんと動くし動いたときは楽しいので、SDKも楽しみに待っています。

2014年6月22日日曜日

ArduinoからEthernetで直接fluentdにPOSTする

IMG_0993

ArduinoにEthernet Shieldを載せることで、Arduinoから直接各種サーバにデータを送ることができるようになります。ArduinoでA/D変換した電圧値をfluentdに送付することで、簡易ロガーとして活用することもできます。

fluentd側

Ethernet経由で受信するだけなので in_http が動くようにします。サンプルどおりで大丈夫です。

Arduino側

fluentd の in_http はPOSTで受け取るので、サイトのWebClientを参考にしてPOSTを送信するスケッチを作成します。

  • servername:fluentdサーバのドメイン名 or IPアドレス
  • serverPort:fluentdサーバのポート
  • pageName:fluentdに送信する際のタグ(スラッシュ含む)
  • params:fluentdに送信するJSON(json=で始まる)

コード中のこれらの変数を適宜書き換え、POSTメソッドの生データを組み立てて送信する形になります。

目的

回路の性能測定の際、電圧・電流を長時間モニタすることがあります。専用機器を使うものなのですが、機器自体が高価で、なかなか手が出ないものです。A/D変換し値を保存できればよいので、Arduino + fluentdの組み合わせで簡易ロガーとして使用します。fluentd側がが受信した時刻を記録できるので、ネットワークの遅延を気にしない程度の間隔ならば、複数のArduinoで計測記録の同期をとるのも容易です。

また、センサネットワークのセンサそのものに組み込むには高機能高コストですが、別途なんらかの無線とかで受信したセンサの値をネットワークに送信する母艦としても使えると思います。

2014年2月2日日曜日

定時退社を強く主張する腕時計を購入しました

IMG_0585

現在時刻のわかりにくい腕時計を壊してしまったので、腕時計を新調しました。

Happy Hour Timepiecesというメーカーの、The Ishという機種。文字盤は数字の5のみ。5の周辺以外はぼかしてあります。5時だけがすぐにわかる仕組みです。

栓抜きがついている

IMG_0587

留め具は栓抜きになっているので、5時になったら仕事を終えてビール瓶を開けることができます。サイトには開け方も載っているけれど、バンドにかかる力を考えると少し不安です。実際にやってみました。

IMG_0602

説明を見ずにやってしまいました。きちんとグリップするのですが、ふつうの栓抜きにあるテコの部分がないため開けにくいです。手首につけた状態なら、腕が多少のテコになってくれるのかもしれません。ウケはよかったです。

2014年1月17日金曜日

Negiccoを支える技術

これをみて"書かねば"と思い立ったので。NegiccoさんのライブステージでリアルタイムのWebアプリを使った演出がありました。

昨年9月の話

渋谷の2.5DNegiSUMMIT Vol.6を観にいったときのこと。ライブステージも終わったイベント終盤、観客がスマートフォンのブラウザを操作することによって、ステージ背面に設置されているスクリーンに動作が反映されるというもの。

現場のみなさんは入場時にURLの書かれた小さな紙を渡されており、あらかじめページを開いて待っててねとのお約束。仕掛け2のスマホシェイクのページに移動します。そのページにはNegiccoのロゴとネギイラストのみ。

スマートフォンを振ると、振ったぶんだけスクリーンにネギが出現するという演出。ネギは一定時間で消えるので、ちょいとした弾幕のような雰囲気に。2.5Dのライブストリーミングはアーカイブしないようなので、テキストでしか説明できないもどかしさ。

見える部分から仕組みを想像する

スマホシェイクのページはWebアプリなので、ここから裏側の仕組みを探っていきます。jQueryプラグインのgShakeを使って振動を検出し、Socket.IO経由でサーバにシェイクが起きたことを通知しています。サーバはSocket.IO→Node.jsのつかえるPaaSのひとつ、AppFogに設置。

スクリーンショット 2014-01-17 0.19.00

この先は予想になります。AppFogのサーバはリレーとして使って、スクリーンに映している端末へメッセージを送る。端末側(Macだった)でアニメーションの演出をするとなると、真っ先に出てくるのはQuartz Composer。githubにQuartz Composer用のWebSocketプラグインがあったので、これを使えばサーバからメッセージを受信できそうです。ここまでできれば、メッセージをトリガーにアニメーションを描画することであのステージの演出を再現できそうです。

楽曲派のやってることと似ている

ステージ演出の仕組みを読み解いてみると、楽曲派が曲や歌詞から元ネタを探っていくのに似て楽しいということに気付きました。背景を探って奥にあるものを見つけ出してはニヤニヤするだけなんですけど、これがなぜか楽しい。なじみのある技術が、見慣れた場所以外で活用されている様子に出会うとちょっとうれしいものですね。

2014年1月12日日曜日

USBを電源にしてゲームボーイを動かす

うちにはスケルトンタイプのゲームボーイがあります。小学生のときに買ってもらったものです。これをUSBのポートを使って動かします。

電池で動いているとき

初代ゲームボーイは、単3電池4本を全て直列でつなぐことで動きます。アルカリ電池を使う場合、1.5V x 4 = 6.0Vが電源電圧となります。ここをエネループのような充電池にすると、1.2V x 4 = 4.8Vとなります。アルカリ電池が切れるときはだいたい1.0V程らしいので、ぎりぎり駆動できる範囲と言ってよさそうです。USBを電源にすれば安定して5Vを供給できるので、昇圧・降圧などの回路を増やすことなく置き換えられます。

ケーブルをつくる

φ1.3のプラグと適当なUSBケーブルを用意します。一部の電気屋さんではUSB→DCφ1.3のケーブルをふつうに売っていますが、だいたい極性が逆かもしれません。ゲームボーイはセンターマイナスです。よく売っているものはセンタープラスなので、そのままつなぐとおそらく故障します。USBケーブルのBプラグ側を切り、出てきた配線をプラグにはんだづけします。だいたい赤い線が5V、黒い線がGNDですよね。信号線はショートしないようにカバーするなりしておきましょう。

動かしてみる

ゲームボーイの消費電力は、筐体をみる限り0.7Wです。引き込む電流はそんなに大きくないので、写真のようなモバイルバッテリーではなくPCの端子でもいけると思います。