アマゾンダッシュボタンで勤怠管理

どうも、こんばんは。

 

アマゾンダッシュボタンを利用した,Google Spread Sheetでの勤怠管理アプリができました!🙌

 

動作風景は以下のような感じです。


Dashボタンで勤怠管理

 

ボタン一個で,出勤のエンドポイントしか叩けていないので,出力も出勤時間のみです。

ボタン一つで,出勤と退勤のエンドポイントの切り分けしたいけど・・・どうしよう🤔

退勤用にボタン買おうかな笑(Dashボタン,エンタプライズ用なら今でも売っているみたいです)

 

さて,動作手順は以下のとおりです。

  1. Dashボタン押下
  2. DashボタンはDHCPサーバにIPアドレスを要求
  3. DHCPサーバはDashボタンにIPアドレス付与
  4. DashボタンはLAN内にARPリクエストを送信
  5. MacARPリクエストを受け取り,MACアドレスがDashボタンのものと一致している場合API Gatewayのエンドポイントにアクセス
  6. API GatewayをトリガーにLambdaが発火
  7. Lambda上でGSSのAPIを用いてシートに日付と時刻を出力

ざっとこんな感じです。

 

4について詳しく説明します。

 

まず,ARPというのは

 

IPアドレスに対応するMACアドレス発見するプロトコルです。

 

これがわかったところで

なぜ,DashボタンがARPリクエストを送信するかについてですが

 

DashボタンはIPアドレスが付与されたあと,本当にそのIPアドレスをLAN内の他端末が利用していないか確認します。(DHCPを信用していないみたいですね)

 

そのためにLANにARPリクエストを送信し,IPアドレスに紐づくMACアドレス存在しないことを確認します。

 

 以上が,ARPリクエストを送信している理由になります。

 

あとは比較的,APIクラウド環境に頼り切った実装となっています笑

 

改めて,クラウドサービスの便利さを感じました!!

クラウド神だ!!!😙

 

というわけで,今日はこの辺で👋