ワイ「研究室の鍵管理めんどいなあ...せや!」
これは奈良高専 Advent Calendar 2022の16日目の記事です.
はじめに
こんにちは,こんばんは,おはようございます,初めまして.
奈良高専5Iの さりえり です.
唐突ですが,実は2ヶ月くらい前に初めて髪を染めたんですよ.
でも,あんまり髪色が変わらなかったんですよね.
なぜだと思いますか?
正解は,白髪用のカラーリング剤を使ったからです.
染めた後に色がそこまで変わってないことに気づいて,パッケージを確認しました.白髪用でした.そんなん知らんて...
皆さんも自分でカラーリング剤を買うときは注意しましょう.
スマートロックを作った
本題です.スマートロックを作りました.
完成形はこちら.
入退室管理システム、とりあえず完成 pic.twitter.com/n1WKqSiFGW
— さりえり (@salieri_nk) 2022年11月18日
導入した理由として,物理的な鍵の運用が少し面倒だったことが挙げられます.
具体的には
- 研究室の鍵はある部屋に保管されており,その部屋が施錠されているときは教員を呼び出す必要がある
- 研究室を無人にするとき,鍵をかける必要がある
- でも,その度に鍵を返却するのはめんどくさい
という問題?点がありました. これらの問題点はスマートロックを導入することで解決します.
というのはほぼ建前で,本音はスマートロックを作って自分で運用してみたかったからです.
某研究室で運用されているのを見て影響を受けました.
使ったもの
ハードウェア
スマートロックを構成している主な機材を記しておきます.
機器 | 個数 | 単価 | 備考 |
---|---|---|---|
Raspberry Pi 4B (メモリ8GB) |
1 | 約20,000円 | 小型コンピューター. サーボモーターの制御,サーバーの運用 |
RC-S380 | 2 | 約5,000円 | カードリーダー. 今回は研究室に落ちていたので0円. |
SG92R | 1 | 約600円 | サーボモーター. 内側の鍵のツマミを回す. |
サーボアダプター(自作) | 1 | 0円 | サーボモーターを内側の鍵に噛ませるための装置. 某研究室の3Dプリンターで作成. |
総額2万3千円くらいしました. ラズパイの供給が追いついてくれたら,総費用は1万円程度で済みます.
ソフトウェア
ソフトウェアは全部自分で作るので0円です.やったぜ.
フロントエンドはTypeScript,バックエンドはPythonで書きました.TypeScriptはJavaScriptの上位互換的な存在で,型安全に開発することができます.
気になる人のために,もう少し詳細を書いておきます.
フロントエンドのフレームワークにはNext.js(React)を採用しています.
採用した理由ですが,巷でよく使われているからです.
他のフレームワーク(NuxtJs(Vue))も候補にありましたが,最終的には好みで決定しました.
Vueは補完が効かないときがあるからあんまり好きじゃない.
カードの読み取りにはnfc.pyを使っています.
nfc.pyを使うことで,カードの固有IDを取り出すことができます.
そのIDがシステムに登録されているか確認して,登録されていれば施錠/解錠する...という感じにしてます.
需要があるかは分かりませんが,GitHubにソースコードを公開しているので気になる人はどうぞ.
〆
スマートロックを作ったことで,鍵の運用が楽になりました.
また,スマートロックを作る過程で多くのことを学ぶことができました.(DB設計やAPI設計など.)
とりあえず動くことを目標にしているので,現状は多分よくない設計になってると思います.
まあその辺はここから改善()していけばいいかと...
皆さんも,自分の作りたいものを見つけてみてください.
教科書や学習サイトで学ぶよりも何倍もの知識が付きますし,モチベーションも高く保てます.
それではまたの機会に...