curious4dev

色々ダメなandroidアプリを開発したい会社員 高橋が綴る、androidアプリ開発やArduinoについて

*

上司の離着席状態をクラウドに飛ばし、スマホで見れるようにした。

 

お疲れ様です。高橋です。

前回ブレッドボード上に構築した上司離着席検知システムですが、ユニバーサル基板上に作りなおしました。

さらに、受け付けた離着席状態をAmazonのクラウドに飛ばし、どこからでも上司の離着席状態を参照出来るようにしました。

全体の流れ

  1. 上司座席付近に設置したデバイスが離着席状態を部下デバイスに送信
  2. 部下デバイスは離着席状態をLEDの色で表現すると共に、PCにも離着席状態を送信
  3. PC側で離着席状態を受け取ると、直前に受け取った離着席状態と差があった場合、AWSに送信
  4. AWS側では受け取った離着席状態と日時をDBに蓄積し続ける
  5. 「今の状態を知る」用のwebページを開くと、直近の状態が表示される
  6. 「今までの状態を知る」用のwebページを開くと、今までの時系列推移が表示される

デバイス

デバイスは、上司の座席付近にこっそり設置する物と、そこからの離着席状態を受け付けて、LEDを点灯させつつ、Amazonのクラウド(EC2)に状態を飛ばす物と、2つあります。

上司デバイス(上司の座席付近にこっそり設置する物)

この左側の測距センサーで離着席を検知します。

IMG_6308

部下デバイス(離着席状態を受け付ける物)

上司が着席していると青、離席しているとピンクが点灯します。

IMG_6307

動作イメージ

左側が、上司デバイスで、右側が部下デバイスです。今は上司デバイス上空に何も障害が無いので、部下デバイスには怪しげなピンク色のLEDが点灯しています。

IMG_6309

ここに手をかざすと「上司着席」モードとなり、青色LEDが点灯します。

IMG_6310

※LED

前に使っていた赤色LEDが謎の(というより過負荷による)損傷によってリタイアしてしまいましたので、適当なLEDを挿してみたのですが、これがまた怪しいピンクのLED。素敵な色です。

IMG_6311

離着席状態をサーバに飛ばす

離着席状態をサーバに飛ばすには、部下デバイスからシリアル送信される離着席状態をPC側で受け付ける必要があります。部下デバイスは100msec毎にLED点灯の判断を行ってますが、そのまま100msec毎にPCにも情報を送るようにしてます。しかしPC側で100msec毎に受け付けて、しかもそれをそのままクラウドに垂れ流したら、あまり意味のないデータが大量に生成される事になります。そのため、「直前にクラウドに送信した離着席状態と差があった場合のみ送る」というように細工を行います。

部下デバイスからクラウド側にデータを送るためのjavaプログラムが下記の通りです。URLは実際のものでは無いです。

要は、部下デバイスからシリアルのCOM8で何か来たら、直前に送信したデータと比較して異なっていたら、クラウド側にデータを送る。という事を無限ループさせているだけです。

クラウド側で受け付ける

クラウド側に「hogehoge.php」という、データを受け付けてDBに蓄積するためのプログラムを作っておきます。db接続周りは適当に変えてください。

今の状態をスマホで知る

直近の状態を知りたい時に開くのが下記の通りです。now.phpとでも命名しておきましょう。

利用イメージ

スマホでnow.phpを開くと、

IMG_6313

こんな感じで、ぶっきらぼうではありますが、現時点の状態を確認する事が出来ます。もっとフワフワしたイラストやら、上司が実際に着席している写真、離席している写真なんかを、状態に応じて表示することも出来ます。

 

 

 

以上、よろしくお願い致します。

 - 電子工作

  関連記事

耳コピミキサー 半田付け #1

お疲れ様です。高橋です。 耳コピ用ミキサーの半田付けを行いました。 ブレッドボー …

YMZシールドのMIDI化を検討

お疲れ様です。高橋です。 Arduino UNOにYMZシールドをくっつけ、さら …

【完成】 電子オルゴール

お疲れ様です。高橋です。 電子オルゴールの制作が佳境に入り、とうとうカルトナージ …

クオーツ時計を100倍速&リバースモード付きに改造してみた。

お疲れ様です。高橋です。 今日、奥さんから壊れた時計を貰いました。電池を入れ替え …

耳コピミキサー 試作

お疲れ様です。高橋です。 iPhoneから流す音と電子ピアノから流す音を合成する …

ブレッドボード上のYMZ294をユニバーサル基板化してみたが。

お疲れ様です。高橋です。 ArduinoからYMZを鳴らしているブレッドボードが …

遠隔でRaspberryPi+DCモーターを制御 #2

お疲れ様です。高橋です。 WiMAXが上限オーバー 私の家の自宅回線はWiMAX …

音階LED実装 #2

お疲れ様です。高橋です。 本日も昨日に引き続き半田付け。 今日の進捗 昨日の残り …

EEPROM書き込みシールドの作成

お疲れ様です。高橋です。 先日成功したPCからのEEPROM書き込みですが、ジャ …

YMZシールドの基板設計 #2

お疲れ様です。高橋です。 先日行ったYMZシールドの基板設計の設計図を元に、部品 …