前に土日を使ってArduinoの勉強をしていたんだけど、ちょっと間が空きすぎたというか、少し端折って行きたい事情が生まれまして・・・あんまり良いやり方ではないかもしれないけど、とにかく『IoT ready な俺』してみようと急遽始めました。
発端は同僚と飲んでいる時の事だったんですが、お酒を飲むとトイレがそこそこ近くなるのですが、まぁ例のごとく待たされるわけですね。
トイレの待ち時間がイラつくと。
「そーいあ、会社でもトイレが埋まっていて、別のトイレにいっても埋まっていると・・・ギリの時はヤバい」
こんな話、IT界隈のIoTをやっている人なら色々情報が溢れているし?IoTトイレで商売を始めちゃうキャリアさんも居るので、皆さんご存知じゃないかと。
何年前?2年前?IoTトイレブームって。
でも、世の中ちょっと馬鹿にしている部分があるようで、IoTトイレの普及率はイマイチな感じがします。
まぁあんなにお金を掛けてできないよねぇ...( = =) トオイメ目
でも今回、後後発ですが、やってみます「トイレIoT」
で、元々?ArduinoやRaspberry Piを触りだしていた私、最近AWSよりもAzureの速習が忙しく、Azureの勉強中ではあるものの、基本的にネットワークと仮想マシンの部分とVPNを張るぐらいしかやっていないんですよね。IaaS領域ばかりで他サービスって使ったことなかった。
まぁプログラムは苦手だけど、ネットワーク屋さんでもどこまでいけるかやってみますか。。。いい感じの所までいけちゃえば、最悪アプリ屋に引き継いじゃえばいいかとw
あとは、上手くいけば入門教材ぽく出来るんじゃないかなと思いまして。
だってサーバーレス時代?それって他人のふんどしつかってやるってことっしょ。
だったらとことん他人様にご厄介になって、コピペでいいから動かしてみるか。。。
と、なりました(^^;
さて、じゃぁさ・・・ある程度は基本理想を立てて、完成モデルと暫定モデルを考えて、理想と現実上手くあわせてやっていきましょうと。
さて、前置きが長かったですが、「欲求定義編」です。
と、いうことで、欲求に沿った基本的な方針と流れは・・・
・なるべくサーバーレスで今どきっぽいのを活用
・楽する部分はとことん楽をする
・先輩方のライブラリを探して流用する(結構学生さんのやつが役立つ…)
・コストは可能な限り掛けない
・余計な時間を掛けすぎない(本来の目的からの脱線時間が長いときつい)
で、覚えなくちゃならないことだらけなんだけど・・・模範解答を徹底活用w
この中で私が一番苦しくなると思ったのが「web app」のあたり。
従来のApache+PHP+SQLなら私も簡易レベルであればなんとかできるんですが、サーバーレスの理想でいうと、node.jsとかに行く方がいいのかな。。。最近JSONだのなんだとjsばかりよね。ちょっとそこを深堀するには時間キツイかもなぁ。
まぁとにかくデータの格納までしてしまえば後はどうにかなるだろうと。
で、上記の要件を叶えるため・・・
・arduino(のESP-WROOM-02を使う、安い、そこそこ例がある)
・Azure IoT Hub(を使ってIoTした気分になる。Deviceから直接サーバーは勉強にならなくなるのであえて使う)
・Azure Stream Analyticsを使う。将来的にINとOUTの柔軟性確保。
・SQL DatabaseとBLOBとcosmos DB<Nosql>にぶっこんでみる(よくわからないJSONの勉強になるはず)
・JSONの使い方をおぼえきれなくてもMS-SQLにさえはいっていれば後はなんとかできるはず
きっと色々苦労はあるけど、2日間でどこまでいけるか。
てことで先にハードウェア面だけネタばらし。
最小限でしか盛り込んでいないけど、なんとか今必要な機能は達成。
設置場所でWiFiの電波が取れなかった場合についての別の手段を考えるのを忘れたぐらい。あとは、会社のトイレは未使用時はトイレのドアが開いていますが、多目的トイレなどでは扉がしまりっぱなので、その場合にはこれは使えないなと思うぐらい。
ここまで完成させたときに思ったこと。
『においセンサーとか他にもセンサーを付けてみたいなぁ』
ま、それは追々ね。