活動.log

いろいろ書く

ワイ「研究室の鍵管理めんどいなあ...せや!」

これは奈良高専 Advent Calendar 2022の16日目の記事です.

はじめに

こんにちは,こんばんは,おはようございます,初めまして.

奈良高専5Iの さりえり です.

唐突ですが,実は2ヶ月くらい前に初めて髪を染めたんですよ.

でも,あんまり髪色が変わらなかったんですよね.

なぜだと思いますか?








正解は,白髪用のカラーリング剤を使ったからです.

染めた後に色がそこまで変わってないことに気づいて,パッケージを確認しました.白髪用でした.そんなん知らんて...

皆さんも自分でカラーリング剤を買うときは注意しましょう.

スマートロックを作った

本題です.スマートロックを作りました.

完成形はこちら.

導入した理由として,物理的な鍵の運用が少し面倒だったことが挙げられます.

具体的には

  • 研究室の鍵はある部屋に保管されており,その部屋が施錠されているときは教員を呼び出す必要がある
  • 研究室を無人にするとき,鍵をかける必要がある
  • でも,その度に鍵を返却するのはめんどくさい

という問題?点がありました. これらの問題点はスマートロックを導入することで解決します.











というのはほぼ建前で,本音はスマートロックを作って自分で運用してみたかったからです.

某研究室で運用されているのを見て影響を受けました.

使ったもの

ハードウェア

スマートロックを構成している主な機材を記しておきます.

機器 個数 単価 備考
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設計など.)

とりあえず動くことを目標にしているので,現状は多分よくない設計になってると思います.

まあその辺はここから改善()していけばいいかと...

皆さんも,自分の作りたいものを見つけてみてください.

教科書や学習サイトで学ぶよりも何倍もの知識が付きますし,モチベーションも高く保てます.

それではまたの機会に...