自己紹介

こんにちは。新卒の@306と申します。よろしくお願いします。

私も@hi-coと同じく、3連休の合間を休んで10連休にして旅をしていました。

具体的には、

といった感じでまず富士急へ行き、沼津へ旅をして、その後帰省しました。

沼津へは初めて行きましたが最高に楽しかったです。

仕事では、「ferret One」「OnePage」の2つを開発しています。

ひとことで言うとWebマーケティングを快適にできるサービスです。

皆様、自社サイトの運営どうしてますか?

SEO対策してますか?

サイト解析、ABテスト、フォーム改修…などなど大変じゃありませんか?

自社のプロダクトにフルコミットしたくありませんか?そういったときに役立つサービスになるかもしれません・・・。

(露骨な宣伝失礼しました。)

説明すると機能が豊富すぎて語りきれないので、是非公式サイトを見てください。

なぜやろうとしたのか

弊社の男子トイレ事情を話しますと、

弊社は2フロアあるのですが各フロアに個室x1、

小便器x2と人数に比べてトイレの数が少ない問題があります。

特に個室は争奪戦の模様を呈しており、

何回行っても使用中という状況になっていました。

自分の場所からトイレの場所が離れていることもあり、

わざわざ確認しに行くのがつらいのと、

また同じような不満を持っている方がいました。

自分は大学生時代は、IoT周りを趣味(研究室が開いたら知らせるbotや

Hololensでバリスタを入れたりするアプリ(フロントのみ)を作っていました)

でやっていました。

今回はその経験を活かしまずはトイレの使用状況を

把握できるようにすることで

この不満を解消できないかとチャレンジしました。

元々ベーシックには、「なんでも気軽にチャレンジできる環境」があります。

例えば、会社のプロダクトはAWSを使用していますが、

このエンジニアブログでは興味本位でGCPを使っていたりします。

また一部プロダクトではHerokuを使っていたりしています。

チャレンジできる環境は他の会社にもあるかと思いますが、

気軽にチャレンジできる環境はなかなかないかなぁと思っています。

弊社ではIoTをやっていないので、

このチャレンジが受け入れられるか不安でしたが、

そのような環境があるので今回自分はこのトイレの使用状況把握化にチャレンジすることができました!

トイレの使用状況可視化(IoT)

n番煎じではありますが、トイレの使用状況可視化について説明します。

システムの概要を説明しますと、

ESP32というマイコンとリードスイッチ(磁石で反応するスイッチです)

を使い個室のドアの開閉を検知してslackに飛ばすというものになっています

同時にmilkcocoaというサービスを使い開閉状態を保存しています。

milkcocoaはIoTデバイス・PC間でリアルタイムなデータのやり取りが出来る

クラウドプラットフォームです。

このプラットフォームにはAPIが用意されているので

叩けばjsonでドアの開閉状況を取得できます。

これを使って機能拡張をしていく予定です。

なおESP32にmilkcocoaSDKがそのまま入らないのでQiitaに対応策を書いています。

https://qiita.com/306_san/items/d074199e6fb4c3d637ed

もし導入される際はご覧ください。

データがある程度貯まりましたら、解析なども行いたいと思います。

やってみた結果

現在は、扉が開閉するたびにただslackに投稿されるので少し恥ずかしい感じになってしまっています。

なのでゆくゆくはslash commandで実行して確認できるようにしていきたいと思います。

ただサーバーを持ちたくないので誰もやってなさそうなfirebaseに挑戦していきたいと思います。

最後に

今回はトイレの使用状況の可視化にチャレンジしてみました。

問題点もありますが、ひとまず動くようになって嬉しくなっています。

まだまだマイコンを使ったチャレンジできそうなことはあると思う(例えばブラインドの開閉を自動化したり、打刻の簡略化など・・・)ので挑戦していきたいと思います。

最後までご覧下さり、ありがとうございました!

参考までにマイコンのコードを置いておきます。よろしければお使いください。

https://github.com/306-san/heavens-door