あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

今週末の日記

今週末は、先週末のOSC2016 Gunmaで展示して見つけた課題を片付けて、来週のOSC2016 Nagoyaに向けて準備すると言う、OSCのために成果物を作る駆動をしていました。

Eject周りはここしばらく本当にてきとうな展示をしてきたので、ちょっと頑張りました

Node.js+Socket.ioによるWebSocket版EjectZeroの実装

EjectZeroは元々ローカルでの操作が前提でしたが、誰でもカンタンにEjectできる仕組みとしてNode.js+Socket.ioを使ってWebSocketで実装することで、ConoHaに置いてるサーバーから操作ができるようになりました。

vine.co

仕組みとかを理解しつつ作ってみましたが、要するに自前でチャットサーバーを立ててログインしてコマンドを投げ付けるイメージなんですね。Eject部分はBotみたいな感じ。ただ、実装はサンプルを見よう見まねで作っただけなのでセキュリティ的にはザル以下で、公開には程遠い感じです。

というわけで、来週の名古屋では、お手持ちのスマホから好きなだけ除夜の鐘をつくことができる予定です。

エアぴっぴの改良

エアぴっぴは先週の群馬からPiTFTを採用してみたのですが、Ejectで操作する場合のデモを何も考慮しておらず、手動でEjectして実演していたので、ここを改良しました。

f:id:Akkiesoft:20160523040059j:plain:h400

まず、Raspberry Pi Zeroでデモしていたのをやめて本来のRPi1 Model Bに戻しました。そうすると温度センサーとリモコン制御に使うGPIOが接続できなくなりますが、PiTFTはSPIあたりしか使用していないので、利用したい箇所については拡張用の穴に必要な部分だけピンを生やして解決しました。本来は裏から通すことを想定されているので、この向きで生やすとピンの位置が反転している点に注意です。

f:id:Akkiesoft:20160523040440j:plain:w400

あとはエアぴっぴにEjectモードを追加実装して終わりです。これは今のところ正式な機能としては入れていません。が、気が向いたら入れるかも。

vine.co

関係ないけれど、ネットワークにUSBモデムも設定を流し込んでみました。旅先のホテルのエアコンをTwitter経由で制御できるようになりますね……?

f:id:Akkiesoft:20160523040801j:plain:h400

もうひとつ、やろうと思って忘れていたChart.jsのアップデートを行いました。これはGitにもコミット済みです。今までのは軸の項目がご丁寧に全部表示されて、文字が重なってどえらいことになっていましたが、新しいバージョンではいい感じに間引いてくれるようになったため、すっきりとした見た目になりました。

ただ、このバージョンでも描画サイズの調整にバグがあるようで、描画サイズ周りで妥協しています(スマホでは小さく見えると思います…)。これはバグ修正をまってもう一度アップデート予定です。

f:id:Akkiesoft:20160523040950p:plain

細かな修正で、WebIOPiのPlaybookにPython3のインストールを追加しました。Raspbian Liteに入れようとするとPython3がなくてインストール後に正常に動作していませんでした。ぐぬぬ

エアぴっぴのデモもこれでだいぶしやすくなるかもですね。