ぼくのかいしゃの入退室管理シートのもんだい
私の会社のオフィスには誰が何時にオフィスの鍵を開けたのか、閉めたのかを記入する上のようなシートがあります。
ですが書き忘れが多く、「入退室管理シートの空欄、誰が施錠・解錠した?」といった言葉が頭上を飛び交う日々が続いていました。
そして「多分、おれかな....」と足をブルブルさせながら自信なくシートに”おぼろけに浮かんだ時刻”を記入してしまう事が起きていました。
おぼろけに浮かんできたんです。8:30といった時刻が。
節子!それ形骸化や!!!
元々誰が何時に鍵開けたか閉めたかを管理し、不明な侵入がない事の確認や鍵紛失時の足掛かりとなるように始めた管理シートだったのです(知らんけど
解/施錠管理システム「鍵管理くん」爆誕
クソネーミングセンスは置いておいて、この問題と自宅で1年ほどウォーミングアップを続けていたラズパイ君がこちらを見ていたので、なんかITっぽいことやってみるかぁ〜と始めたのが「鍵管理くん」です
余談ですが、鍵管理くん使ってくれメンス!ってメンバに普及したら
「それって鍵管理くんじゃなくて、入退室管理くんですよね?」
と言われました。
細かい事は忘れましょう(だめ)
使い方
オフィス内に鍵管理くんを設置し、鍵を開けて/閉めて直ぐにボタンを押してもらい、入退室管理シートに記入するといった流れです。
シートに直接書くんじゃあなくて、代わりにボタンで記入って感じです。
全体の構成
Raspberry Piは2個使ってます。
クライアント側のRaspberry Pi Pico W
バックエンド側のRaspberry Pi Zero
クライアント側でユーザー操作をバックエンド側にAPI経由で送付し、バックエンド側から入退室管理用のシートにGoogle Sheets API経由で更新します。
ぶっちゃけRaspberry Piは一個でもよかったんですが、オフィスに常時起動するバックエンドサーバーは他のシステムを作った時にでも利用しよかなと思い立ち別々にしてみました。
クライアント側Raspberry Pi Pico
PicoにLCDディスプレイとキーパッド、写真では見えませんがスピーカーもつけています。
LCDでユーザー操作の誘導とシート記載のフィードバック。キーパッドは誰が鍵を開けたか/閉めたか(鍵に番号を付与して人と結びつけています)、スピーカーは処理が正常に終えたら以下のランダムな音を出すようにしています。
- ファミマ入店音
- マクドナルド、ポテト揚がり音
- ピタゴラスイッチのテーマ(最後のとこ)
- CR 戦姫絶唱シンフォギア 大当たり音
バックエンド側Raspberry Pi Zero
FastAPIでAPIサーバを立ち上げています。
クライアント側で送られてきたデータをGoogle Sheets API経由でシートに記入しています。
Google Sheets APIを利用するには、OAuthを利用したクライアントを準備する必要があります。
Google Sheets APIの利用方法は以下を参照してください。
OAuth導入
Google Sheets API
終わりに
私はWebアプリ開発を業務にしているんですが、Raspberry Piへの配線は普段と違うことをしているので楽しかったです。
元々電気系の学科を履修していたので、ひっさびさのはんだごてにテンションあがりました。
またGCPの設定等も自分で行ったことがなかったのでとても勉強になりました。
そして肝心のシステムを利用してもらったメンバからの声ですが
めっちゃ便利です!
といってくれました。めでたしめでたし。