2016/12/09

コーヒーメーカーをハックした話

 この記事はCPS Lab Advent Calenderの9日目の記事です。
8日目: 研究室の Raspberry Pi (1才2ヶ月)に愛着が湧いている
10日目: 

はじめに
11階になぜコーヒーメーカーがあるか,まずそこからお話したいと思います.
わたしがラボに配属された2014年,その時は今のようにラボにはコーヒーを飲む文化がありませんでした.普段から家でコーヒーを飲んでいたわたしはラボに残留するようになってから,ラボでもコーヒーを飲みたいと思いコーヒーセットを持ち込んだのが始まりでした.

持ち込んだ当初は自腹を切ってコーヒー豆を買っていたのですが飲みたいという人が増えるようになり今でも続く20円課金システムが作られました.
システムが出来てうまく回るかのように見えたこの頃ひとつの問題が出てきました.それはわたし以外の人がうまくコーヒーを淹れられないという問題でした.

この問題を解決するためにハンドドリップを練習すればよかったものを,ちょうどこの頃セブンイレブンが100円のドリップコーヒーを始めたのもあり,均一な味を保証するためにコーヒーメーカーを買おうという流れになってしまい購入が決まりました.


コーヒーメーカー
買った当初は頻繁に使っていたコーヒーメーカーですが,アニメご注文はうさぎですか?の影響もありラボメンがハンドドリップの勉強をして淹れるようになったり,片付けと準備のめんどくささも相まって次第にホコリをかぶるようになっていきました.

ネットワークアタッチドコーヒーメーカー
コーヒーメーカーがホコリを被るようになって一年ほどたった頃日本でESP8266という激安wifiモジュールが流通をはじめました.これの習作として作ったのがネットワークアタッチドコーヒーメーカーです.

声に出してmaimaiに頼むと女の子の声で美味しいコーヒーを作ってくれるのでなかなか面白かった.
この頃はまだブレッドボードに実装されていたため先生がお客さんに「これすごいんですよー!」と言って説明するたびにどんどん壊れていってしまう大問題が起きていました.
そして壊れて誰も使わなくなった .


その後
ハックの影響でもともとあった物理ボタンが使えなくなったこともあり,誰も使えなくなってラボの片隅でホコリを被っているコーヒーメーカー,流石にオブジェとして置いておくのも邪魔なのでユニバーサル基板に実装し直してコーヒーメーカーにマウントさせるようにして復活させました.



・使い方
蓋をあけてドリッパーにコーヒーフィルターをセット
水タンクにの飲みたい量の水をセット
挽いたコーヒー豆を必要量フィルターにセット
大きな声で「OK maimai  コーヒー淹れて!」とmaimaiにお願いする
暫く待つとコーヒーの出来上がり

このコーヒーメーカー本当はコーヒーの好みに合わせて”うすい”,”ふつう”,”こい”の三種類の抽出方法が選べる仕様でしたがハックする際に手元にあったリレーの数の問題で”こい”しか選べないようになっています.これもmaimaiの愛嬌ととらえてもらえれば苦くても飲める!……はず

2016/12/04

スピーカーの電源を遠隔操作するIoT機器を作った話

この記事はCPS Lab Advent Calenderの2日目の記事です。
1日目:残留申請 Neo を作った
3日目: 岩井研残留日誌

日頃から残留したりラボのテレビを使ったりしたことがある人は,一度は使ったことや見たことがあると思うこの黒い箱についてのお話です.
アブソリュート・デュオのリモコン
まず,この黒い箱について説明する前に「アブソリュート・デュオ」システムに関してです


「アブソリュート・デュオ」システムとは
 このシステムはラボのネットワークとテレビの後ろにある 光る箱で構成されるシステムで,箱の中にはSpark CoreというWiFi接続可能なマイコンが入っていてこれが持っているAPIにアクセスすることでスピーカーの電源のON/OFFをしています.
テレビの裏の光る箱


どうしてスピーカーの電源を操作するのか
ラボのテレビには大迫力でコンテンツを楽しむためスピーカーが取り付けられています.
しかしこのスピーカーなぜか突然音が出なくなる時があります.そんなときに音が出るように戻すためにはこれまでの検証でわかっている方法は
1.テレビの音量をものすごく上げる
2.スピーカーの電源を入れ直す
の 2つがあります.1はテレビのリモコンが手元にあれば実践できますが音が戻ったときに大音量が流れてしまい下手したら近隣の研究室から苦情が来る可能性があるためあまりおすすめ出来る方法ではないです.
2はとても安全に行なえますが,わざわざスピーカーのもとまで歩いていかなければいけないためとっても面倒です.
そこで安全に音を出せる2を発展させて開発したのが「アブソリュート・デュオ」システムです.

黒い箱はなんなのか
3Dプリンタで出力された黒い箱,あれの中にはTwe-Lite(トワイライト)という超低消費電力で動作できる無線モジュールが入っています.
Twe-Lite
箱についているスイッチが押されると,これが無線を飛ばしてSpark Coreを操作……としたいところですがあいにくTwe-Liteが扱える無線はWiFiではないのでAPIを叩くことが出来ません.そこで一度RaspberryPiに受け取らせてそこからAPIを叩くようにしています.現在はmaimaiを運用しているRaspberryPiに電波受信用のTwe-Liteをつけてそこと通信しています.

クライアントいろいろ
このシステムは最初に説明した通りAPIを叩くことで動作します.なのでラボ内のネットワークにつなぐことが出来る端末ならなんでもアクセス可能なため,この黒い箱以外にもmaimaiやAndroidアプリ,Webアプリと行ったクライアントが存在しています.
ハードウェアのAPIを叩くのがIoTデバイス作成の大きな一歩になると思うので興味のあるB3生は是非クライアント開発やってみてください


2016/02/14

win10でログイン時にbluetoothキーボードを使う

すっごく久しぶりの投稿

年も明けて,新しくwin10のデスクトップマシンを組みました.
ケーブルばっかりのデスク周りをすっきりさせようと思い,bluetoothキーボードを購入しました.

これまで専用のドングルを使う無線キーボードを使ったことはあったのですがbluetoothキーボードの使用は初めてになります.

使ってみてしばらくして問題が発生......なんとログイン画面ではペアリングが行われていないためパスワードを入力するには,USBキーボードを使うかスクリーンキーボードで入力するかの方法しかない.

これだとせっかく無線化してデスクをすっきりさせる計画が台無しなのでいろいろ試行錯誤して解決しました.


やったことはbluetoothのペアリングを行うタスクの起動タイミングの調整です.

タスクスケジューラを起動して右側のウィンドウで[タスクスケジューラライブラリ]→ [Microsoft]→[Windows]→[Bluetooth]と移動




そこに出てくる”UninstallDev...”を右クリックでプロパティを表示
トリガータブに移動して新規追加











タスクの開始を”スタートアップ時”に設定してOK



これでリブートしてうまくログイン時にペアリングきていれば成功

元から存在しているタスクをいじるのでもしかしたら問題が発生するかもしれません.
ここに書いてあることを実行する場合は自己責任でお願いします.