ワイ「研究室の鍵管理めんどいなあ...せや!」
これは奈良高専 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設計など.)
とりあえず動くことを目標にしているので,現状は多分よくない設計になってると思います.
まあその辺はここから改善()していけばいいかと...
皆さんも,自分の作りたいものを見つけてみてください.
教科書や学習サイトで学ぶよりも何倍もの知識が付きますし,モチベーションも高く保てます.
それではまたの機会に...
モバイルバッテリーでデジタル回路を動かした話
初めまして、さりえりです。そこらにいる高専生です。いつもは音ゲーとか音ゲーとか音ゲーとか...。ブログを書くのは初めてなので、ちょっと緊張してたりします。
0. はじめに
さて、今回は題名にある通り、モバイルバッテリーでデジタル回路を動かしてみたというお話です。実験で使う電源装置が学校にしかなく、家で回路動かせるようにしてえ~ってなったわけですよ。動かすのに何が必要だったかというと、ざっくりですが
- 5Vの直流電源
- 回路
どうやって5Vの電源を用意しよう...?
まず考えてみたのが、乾電池を使う方法。確か乾電池は1つで1.5Vだから、それを3つ直列でつないだら4.5Vかー。うーん。
「多分動くには動くんだけど、どうせなら5Vぴったりで簡単に用意できるものでやりたいなあ。乾電池を使おうとしたら電池ボックスとか、テープとかで固定しないといけなさそうだし...」
というわけで保留にしました。
じゃあどうしようかなあって考えながら、調べたりTwitterで聞いたりしていたら、あるツイートが目に。
USB...?
なんでUSBなんだろう、と思って調べたら、
USBは、基本的には信号ケーブルとして設計されている。その一方で実際的な利便性にも配慮し、小電力のデバイスについては、接続される周辺機器の駆動用の電源をUSBケーブルで供給するバスパワード(「バスパワー」と省略されることが多い)による駆動にも対応している。供給電圧は5 V (±10%)、電流はローパワーデバイスは100 mA(USB 3.xは150 mA)、ハイパワーデバイス最大は500 mA (USB 2.0)・900 mA (USB 3.0) まで[25]とされている。
(Wikipediaより引用)
へえ、知らなかった。USBで電源供給できるのはわかるけど、5Vだったとは...
ということで、この方法で電源をとることに。
1. 本当に5Vなの?
とりあえずUSBで供給される電源の電圧が本当に5Vなのか、という確認から。
これで5Vじゃなかったら困るし...
で、USBの端子に直接テスターの棒をぶっこんで電圧を確かめようとしたんですよ。
テスターの棒が入らねぇ...
(写真は撮ってなかったのでありません)
マジか...
これはUSBケーブル切って銅線むき出しにして計測するしかないか?
というわけで買ってきました。
100均にあったUSB A-Micro B。多分よく置いているやつ。ついでに、家にニッパーもなかったので買ってきました。
これをニッパーで剥きます。
「...あれ?剥けないぞ...?」
ケーブルの被膜にはただ傷が入るだけ。しばらくやっていたら、中の銅線が少しづつ見えてきた。ここまできたら引っ張ったら剥けるだろ!と思って引っ張るも、剥ける気配がない。
結局、ある程度力を込めてニッパーを押し込んでいたら剥けました。入れる力の問題なのかなあ...
剥いてみるとそこには4本の線が。調べると赤が5V、黒がGND、残る白と緑が通信用の線とのこと。
というわけで、赤と黒の線も剥きます。残りの白と緑は使わないから切ろうかなーって思ったけど一旦放置。
(実はここで5Vと通信用の線を間違えて後でグダった。)
ここで、今回使うモバイルバッテリーの登場。
出力が5Vであるとの表示が裏面に記載されていました。
で、さっきぶった切ったUSBケーブルとモバイルバッテリーをつないで、テスターで計測します。
5.12V!!
これはいけるぞいけるぞいけるぞいけるぞいけるぞ
2. 実際にやってみた
ここまできたらもう回路につなぐだけ!...だと思っていたけど、モバイルバッテリーからひいてきた線をどう回路につなごうか迷う。結局、とりあえず何も噛まさず直接つなぐことに。
で、モバイルバッテリーと回路の結線ができました。
スイッチON!!!
つきました!!!!!
回路の動作も確認しましたが、不具合なく動きました。
これで家でも回路が動かせる!!!!!!
3. 最後に
市販のものを分解したりするのは初めてで、ちゃんと動作するか不安でしたが無事動いてほっとしてます。(まあやったのは線をむいて回路につないだだけ だけど)
USBの電源が5Vなのは初耳だったし、調べるときに知らないUSBの端子とかも知れてよかったなーって感じです。ほかにもこういう知識を身につけていきたいなあ。
てなわけで、おわり。