6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi Pico WとZeroを使って鍵の解/施錠管理システム作ってみた

Last updated at Posted at 2025-06-05

ぼくのかいしゃの入退室管理シートのもんだい

スクリーンショット 2025-06-05 13.53.09.jpg

私の会社のオフィスには誰が何時にオフィスの鍵を開けたのか、閉めたのかを記入する上のようなシートがあります。

ですが書き忘れが多く、「入退室管理シートの空欄、誰が施錠・解錠した?」といった言葉が頭上を飛び交う日々が続いていました。

そして「多分、おれかな....」と足をブルブルさせながら自信なくシートに”おぼろけに浮かんだ時刻”を記入してしまう事が起きていました。

おぼろけに浮かんできたんです。8:30といった時刻が。

節子!それ形骸化や!!!

元々誰が何時に鍵開けたか閉めたかを管理し、不明な侵入がない事の確認や鍵紛失時の足掛かりとなるように始めた管理シートだったのです(知らんけど

解/施錠管理システム「鍵管理くん」爆誕

クソネーミングセンスは置いておいて、この問題と自宅で1年ほどウォーミングアップを続けていたラズパイ君がこちらを見ていたので、なんかITっぽいことやってみるかぁ〜と始めたのが「鍵管理くん」です

余談ですが、鍵管理くん使ってくれメンス!ってメンバに普及したら
「それって鍵管理くんじゃなくて、入退室管理くんですよね?」
と言われました。

細かい事は忘れましょう(だめ)

使い方

スクリーンショット 2025-06-05 13.24.31.jpg

オフィス内に鍵管理くんを設置し、鍵を開けて/閉めて直ぐにボタンを押してもらい、入退室管理シートに記入するといった流れです。

シートに直接書くんじゃあなくて、代わりにボタンで記入って感じです。

全体の構成

スクリーンショット 2025-06-05 13.12.45.jpg

Raspberry Piは2個使ってます。
クライアント側のRaspberry Pi Pico W
バックエンド側のRaspberry Pi Zero
クライアント側でユーザー操作をバックエンド側にAPI経由で送付し、バックエンド側から入退室管理用のシートにGoogle Sheets API経由で更新します。

ぶっちゃけRaspberry Piは一個でもよかったんですが、オフィスに常時起動するバックエンドサーバーは他のシステムを作った時にでも利用しよかなと思い立ち別々にしてみました。

クライアント側Raspberry Pi Pico

スクリーンショット 2025-06-05 13.33.38.jpg

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の設定等も自分で行ったことがなかったのでとても勉強になりました。

そして肝心のシステムを利用してもらったメンバからの声ですが

めっちゃ便利です!

といってくれました。めでたしめでたし。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?