toilet

blog

Toilet Conflict問題をInternet of Toiletで解決した話

どちらかと言えば流行りモノには乗っかってく人種のyobataです。
今回はIoTによる社内業務効率化の試みをご紹介します。

ediplexでは近年、ある問題に業務を大きく阻害されていました。
それがトイレ コンフリクト問題です。

現在のオフィスはトイレが少々狭く、一人ずつしか入る事ができません。
そして、オフィスの構造上、トイレの扉の前に行かないと使用中かどうか分からないんです。

つまり、トイレに行こうかなと思って、トイレ前まで移動したら、使用中なので、
自分の席に戻る、しばらくしてまたトイレの前まで移動したら、もう次の人が入ってる!また自分の席に戻ってしばらくまってトイレの前まで移動したらまた誰か入ってる!!!!

Toilet が Conflictしっぱなしだよ!!!!!!


みたいな事がよく起こるんです!!
混んでいるファミレスでもよくある現象ですが、トイレコンフリクトが営業時間中ずっと起こってるってこれは異常事態ですよ!精神衛生上とても良くない。

という事で、Toilet Conflictを流行りのIoT(Internet of Toilet)でどうにかしてやろうという事になりました。

段取りはこうです。
1.トイレに誰か入っているかをセンシングしてステイタス情報をwebへ投げる(sさん作成
2.ブラウザ上で可視化(pickuponピクポンというslackビジュアライズbotサービス使用)
3.すると自分の席から今トイレが開いてるかどうか分かってトイレコンフリクトは解消。

ということで、まずは、トイレステイタスのセンシングからweb上へデータを投げるまでをでインフラ・バックエンドのスペシャリストsさんに担当していただきました!

以下、sさんからの解説です。

1.トイレに誰か入っているかをセンシングしてステイタス情報をwebへ投げる


基本機能


ediplexではトイレに誰も入っていない時はドアを開け、
入っている時はドアを閉めルールがあります。
つまり、人が入っているかどうかはドアの開閉を見れば分かります。

なので、トイレに誰が入っているかのセンシングは、
マグネットスイッチでドア開閉のステータスを検知し、webサーバーへ通知する(だけです)。

簡単な構成図↓


sensor1

メインユニットのマイコンは、ESP8266を使用(ファームを独自プログラムに書き換えて使用)。

メインユニット(マイコン)部


20151028_135313-300x300

センサー部(マグネットスイッチ)


20151028_135348-300x300

エーモン 1588を使用しています。
マグネット接近時は、オープン(接点解放)、非接近時は、クローズ(接点導通)状態です。
マイコンでは、クローズ時にLowレベルになるように結線せてます
(デジタル入力ピンはVccへプルアップしてます)
Low(接点クローズ状態): ドアオープン (トイレ未使用状態)
High(接点オープン状態):ドアクローズ (トイレ使用中状態)

↓箱詰めしたとこ
20151028_172303-300x300

↓回路図
Sensor-1024x694

本体は、洗面台の下へw
20151028_173342-300x300

部品一覧


  • 3端子レギュレータ(3.3V/1A) TA48033S 100円
  • 電解コンデンサ
  • セラミックコンデンサ
  • LED(ブラケット付) 100円
  • 抵抗(100Ω,10KΩ*4) 数円
  • ピンヘッダ 数10円
  • タクトスイッチ 2個 50円
  • マグネットスイッチ(エーモン 1588) 464円
  • マイコン(ESP8266互換品) 580円
  • プッシュスイッチ 50円
  • USBコネクタ 30円
  • 配線類 数10円
  • タカチケース 460円
  • 基板 100円
    計 約2000円

使用している、マイコン(ESP8266)について

  • アーキテクチャ: Tensilica 106micro Diamond Standard Cone
  • 動作クロック: 80MHz
  • RAM: 64KB(命令を格納用) 96KB(データ用)
  • FLASH: 1MB(ユーザー領域 約300KB)
  • 機能

    • WiFi (2.4GHz IEEE 802.11b/g/n WPA/WPA2)
    • GPIO
    • I2C
    • ADC
    • SPI
    • PWM
    • UART
      など
  • Arduino IDEにアドオンで開発環境構築可能
    ※ aitendoで、580円で買えます。

以上です。

2.ブラウザ上で可視化


次にトイレのステイタスをブラウザ上で可視化します。

先ほどサーバーに送信されたトイレのステイタスを
node.jsで受け取り、webソケットでブラウザ上に送信し
僕とchemisaxさんが勝手に作ってドックフーディング中の
チームのステイタス可視化slackアプリ上
リアルタイムに表示します。
(そのへんはchemisaxさんがちゃちゃっとやってくれちゃいました。)

door_opm
↑このドアみたいなのがトイレのドアの開閉と同期しています。

今はトイレのドアが開いている状態です。
つまり、トイレも空いている。

※繰り返しになりますが、ediplexではトイレに誰も入っていない時はドアを開けるルールがありますので、ドアが開いているかどうかが分かれば、トイレが空いているかどうか分かるんです。

door_op2
そして、これが現実のトイレのドアです。
確かに、ドアは開いています。
(トイレも空いてます。)

そして、トイレのドアを閉めると…

door_cl2

なんと、

door_clm

アプリ上のドアも閉 ま り ま し た !


という事で、
無事、自分の席から今トイレが空いているかどうか分かるようになり、
トイレのコンフリクト問題は解決しました!

こういったトイレ問題はediplexだけかと思っていたら、
けっこう困ってる方多いらしいですね。
Toilet ConflictをInternet of Toiletで解決する事がある種のトレンドなのかも知れませんね…。
http://tech.recruit-mp.co.jp/iot/iot2/
https://ics.media/entry/10746

ということで、Toilet Conflict を Internet of Toilet を駆使して解決した
ediplexでとにかく何かを最適化したい!!
といった方がいらっしゃいましたら是非、お待ちしております。
https://www.ediplex.com/recruit/

また社内でToilet Conflictが頻発し、困っており、
Internet of Toiletを駆使して解決したい!
という方がいらっしゃいましたら
yobataまでご相談ください!!(ご相談にお乗りします!)