第2回アキハバラIoTツアーズ ナババ編

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

はじめまして、ナババです。

インフラエンジニアとして右も左もわからないまま実践入りして、地雷を踏んでは跳んで、踏んでは跳んでを繰り返し・・・
やっとここに辿り着きました!!

経験の日々は有難いですが、哀しいかなトコロテン式に記憶が押し出されるので、残す必要性を感じ始めた今日この頃。

今回は参加した第2回IoTツアーズでの作品をお伝えします。
ツアーのコンセプトや愉快な状況は、あーじぇりーなさんの記事を参照して頂ければと思われます。

構想に至るまで

私の漢のIoTは、実体験から構想の産声が上がりました。

・開催3日前

忘れもしない雪の日
出社途中襲われる腹痛!
駆け込む駅トイレ

空いてねぇっす・・・

少し待てば空くとタカを括っていたものの
在室の御方が待てど暮らせど出てこない。
2室のうち1室はトイレットペーパーを回す音と流水音の頑張りが伝わってきましたが、もう1室は静寂を保ったまま・・・

これまさに地獄!!!

流石に10分過ぎからしんどくなり、静寂の1室へノック要請を繰り返したのですが、静寂変わらず・・・
結局トイレットペーパーを回し続け頑張ってた御方の1室が空くまで、20分地獄を味わってました。私が用を済ませた後も隣の1室は沈黙を保ったまま・・・

静寂な1室で何が行われていたのか・・・

スマホ?
読書?
瞑想?

何をされていようが、言いたい事はただ一つ

トイレは用を足す場ではないのかっ!?

一昔前の当たり前が、そうで無くなっている事は珍しくないですが、この苦しみ再び味わいたくないっ!!

不届きな輩を 駆逐 改心させ

スマートなトイレ共有 ⇒ 漢らしい振る舞い

これだ!!

 

構想と制作物

前置き長くなりましたが、構想と制作物による解決方法です。

構想

個室の長居をご遠慮いただく単純な仕掛けです。

①便座に座った人の距離を算出するデバイスを設置
②座った人の距離値以下を検知した場合のみ、クラウド側へ値を送信

③クラウド側で距離値を加算
④加算値が敷居を超えた段階で、デバイスに信号を送信
⑤信号を受信したデバイスが仕掛け発動!(タライ、警報、ミサイル等)

これで個室の平和が訪れるはず!

制作物

ハードな仕掛けは人命の影響と技術的に難しい(本音)のもあり、今回はランプ点灯警告の平和的アプローチになりました。

■デバイス構成
Alibabaファーストなばっしーさん仕入れで、事前に部品揃え済み&Arduino基本設定もレクチャーして頂き完了。
ありがたーい!

Arduino「ESP8266」
価格も初心者にも優しいマイコンボード
WiFiモジュール、USB-シリアル変換ポート付きで、各種アナログ、デジタル入出力ピンつきとコンパクトなのにサービス旺盛!

超音波距離センサー「HCSR04」
超音波の反射で距離算出してくれるスグレモノ

手を近づけて検知した値の精度もいい感じです。


③LEDダイオード(3色)

1分ごとに加算された敷居値を3段階で表示

青:0~5分
黄:5~10分
赤:10分以上

赤になる前に退室願いたいですね。

■クラウドサービス
先人の知恵をお借りし、手軽に要件を満たせそうなIFTTTを選択しました。
「Aの状態になったとき、Bをする」を自動実施できるサービスです。

・希望動作
A:デバイスから送信された距離値が◎分を超える
B:デバイスにLED点灯のトリガーを送る
◎ > 10分:赤 10分 ≧ ◎ > 5分:黄 5分 ≧ ◎ > 0分:青

IFTTTの操作・動作確認、加算値をリセットする術の検討前にツアー当日へ

ツアー当日

当日はつのさんに協力を仰ぎ作成に取り掛かりました。

■分担
自分:デバイスの組立て+Arduino側のコード調整
つのさん:クラウド側の調整

アキハバラのパーツ屋でLEDダイオード用の色別抵抗を購入後にブレッドボードに組み込み、いざ!

デバイス外観

見た目・配線美0

クラウド側調整

まずIFTTTのアカウント取得してログインしてみてビックリ。
参考記事の時からGUIが大幅に変わっている!?

ググりながら操作してみるも希望する動作を探し当てられず雲行きが。。。
つのさんの提案でAWSにLinuxサーバを立てて、http処理の準備してくれる事に。ありがたや~。

Arduino側調整

動作に必要なコードは下記4点

①超音波センサー値の検出
②①の検出値を選択的にWiFiでクラウドサーバ側へhttp通信
③クラウドサーバからのhttp通信の受信
④③の通信からLEDの色を選択的に点灯

①は下記コードで動作しました(ほぼテンプレ)。

int interval = 0; //時間
double distance = 0; //距離

void setup() {
Serial.begin(115200); //モニター出力の設定
pinMode(D0, OUTPUT); 
pinMode(D1, INPUT); 
pinMode(D4, OUTPUT); 
}

void loop() {
digitalWrite(D0,HIGH); //発射
delay(10);
digitalWrite(D0,LOW); //停止
interval=pulseIn(D1,HIGH); //測定

distance = interval * 0.017 ;// cm
Serial.print(distance); //入力値をモニターに出力
Serial.println("cm"); //入力値をモニターに出力

delay(5000);
}

しかし、②のWiFi通信をコードに複合させようとして上手くいかず、③、④も実施できないまま時間切れで終了・・・

結果

つのさんに協力して貰ったにも関わらず、コードに対する自身の圧倒的な知識・準備不足からIoTのTの途中で終わった不甲斐無い結果でしたが、実際構想立て触ったりすることで、何が必要か経験できたのはおもしろくもありました。

何よりも個室待ちの問題を解消したいので、形にしたいですね。

後日

・ある日の会議

上司「社内でヒアリングしたところ、女子トイレで需要があるみたいなのでお願いします」

漢以外も需要あったー!!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。