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

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

 

 

 

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

 - 電子工作

  関連記事

音階LED実装 #1

お疲れ様です。高橋です。 今日の進捗 音階LEDの半田付け 1日目です。 ICソ …

ルネサス RX621でLチカするまで

お疲れ様です。高橋です。 とある事情のため購入した、ルネサスのRX621マイコン …

【完成】 電子オルゴール

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

LPC810をSCC/PSGにする

お疲れ様です。高橋です。 出会い ImpactDrillさんのサイトの「LPC8 …

赤外線リモコンをケースに格納

お疲れ様です。高橋です。 先日作ったATtiny13Aの赤外線リモコンを、ケース …

シフトレジスタLED付きのYMZ294回路をFritzingに起こしてみた。

お疲れ様です。高橋です。 ユニバーサル基板で作ったYMZボードと、音階LED及び …

PCとArduino間でのシリアル通信を介したEEPROM書き込み(難航)

お疲れ様です。高橋です。 Arduino Pro MiniでI2C EEPROM …

猫×おもちゃ×動画×アプリ

お疲れ様です。高橋です。 金魚水槽 先日フラフラとネットサーフィンしていて目に入 …

音階LED仮組み

お疲れ様です。高橋です。 先日設計し直した音階LEDを、B型基板上に部品を載せて …

YMZシールドの基板設計

お疲れ様です。 前に基板化したYMZ294をさらにシールド化したい事をPOSTし …