STLファイルと画像を公開しました
ICカード認証式回転キーボックス
皆さんは研究室や職場で共通の鍵を使うとき,鍵をどこに置いていますか.扉の上ですか?鉢植えの中ですか.
今回は鍵の管理を簡単にスマート化することを目指して行きます.
日本ラズベリーパイユーザーズグループ賞を受賞しました
こちらの作品は,ソラコム主催「ラズパイコンテスト」にて日本ラズベリーパイユーザーズグループ賞を頂きました.
詳細はこちら!
スマートロックは手間とお金がかかる?
私はかつてスマートロックを作ったことがあります.
これはICカードを読み取り,メンバーリストにあればドアの鍵をサーボモーターで回しロックを解除するというものです.
当時は3Dプリンターなどなくサムターンのアダプタも手作り,配線もいっぱいでとても大変でした.
このときは総額2万円位かかりました.これくらいかかるならスマートロックを買った方が安くなってしまいます.
もっと手軽に鍵の管理ができないかと考えました.
鍵さえ共有できれば良い
研究室ではよく鍵をキーボックスに入れて,暗証番号を打ち込むことで開ける方式があります.
そこからヒントを得ました.
キーボックスは導入が手軽ですが,以下のデメリットがあると思います.
- 暗証番号を打つのがめんどくさい
- 同じ暗証番号を複数人で使い回している
- だれが暗証番号を知っているのか完全に把握できない
- 誰がいつ開けたかわからない
これらのデメリットを克服できるデバイスを考えたいと思います.
動作原理
ICカードで認証をして,サーボモーターを使って鍵を収納するサーボモーターを制御,クラウドに記録することで鍵を管理することにしました.以下で詳しく説明します.
使ったもの
品名 | 価格 | 備考 |
---|---|---|
Raspberry Pi4 Model B / 4GB | 約8000円 | Raspberry Pi3 Model Bでも良いと思う |
SORACOMのSIMカード(プランD) | 初期費用2000円弱 | 1日単位で利用できる,1日10円位 |
FeliCa対応のICカードリーダー PaSoRi RC-S380 | 約3000円弱 | メルカリで2000円前後,3月の確定申告後に安く売り出される |
サーボモーター | 約200円 | 秋月だと500円くらいです |
3Dプリンタとフィラメント | 約200円 | 本体はXYZプリンティングのダヴィンチ 1.0で約8万円 |
これらを使って以下のように接続します.
(fritzingを使いたかったのですが,いつの間にか有料化してました...)
解決策1:ICカードを使ったキーボックス
上でも紹介しましたかつてのスマートロックにはICカードを使った認証を使っていました.
今回はこのシステムをキーボックスと組み合わせてみたいと思います.
まずは,Fusion360でデザインしていきます.
これを3Dプリンターで出力していきます.ざっと,2~3時間で,3Dプリンターで造形物を出力するものとしては短いほうだと思います.
今回のキーボックスは扉が回転式で鍵を収納します.
これにキーボックスの扉を開けるサーボモーターを組み込みます.
サーボモータの制御はこちらのサイトを参考にしました
Raspberry Piでサーボモーターを回す - Qiita
これを使って,サーボモータを半周させて開閉を制御することにします.
うまく動くことを確認した後,これを全部組み立てていきます.
PLA樹脂は液体の接着剤よりホットボンドを使うのがいいと思います.
ICカードはソニー 非接触ICカードリーダー/ライター PaSoRi RC-S380を使います.
https://amzn.to/3p8sF79
Pythonで扱えるようにライブラリが入手できます.
このリーダー使ってICカードに記録されている固有の識別コードidmを取得して,これを認証に使いたいと思います.
以下のサイトを参考にしました.
ラズパイにパソリを繋いでNFCタッチ!
ここから,タッチすると予め登録しておいたidmのリストから調べ,該当すればサーボモーターを動かして鍵が取れるプログラムを作成します.
Pythonを使って仕上げました.テストをしてみます.
いい感じに動いています.
解決策2:Ambientを使った解錠状況の遠隔監視
AmbientはIotデバイスからの情報を受け取ってグラフやリストでデータを表示してくれるサービスで,基本的に無料で使えます.
これを使って,ICカードがタッチされた際,認証結果とそのidmを送信することで,いつ誰が入室を試みたのかがどこからでも確認できます.
下のように,認証できたら1,違うICカードなら0でそれぞれのidmをリストで表示してくれます.
これを使うと外出先から確認することができます.
解決策3:WiFiの届かないエリアは,ソラコムのSIMカードでカバーする
大学の研究室はとても広く,研究室だけのWiFiでカバーするのは難しいです.大学には大学のWiFiもありますが,大勢がつながるWiFiにキーボックスを接続するのはあまり安全ではありませんし,本学の場合1アカウントで複数台は接続制限を受けます.
ソラコムのSIMカードを利用することで,少額で通信することができ,今回のような僅かな通信量のデバイスには向いています.このシステムなら,例えば会社での鍵の管理にも応用できると思います.
今回はUSBドングルを用意できなかったのでiPhoneにSIMカードを差してテザリングモードでRaspberry Piが接続しています.
大手のキャリアが販売するスマートフォンにはSIMロックが掛かっている可能性があるので,各事業者に問い合わせる必要があります.私はauなのでauでSIMロック解除(今は無料!)の手続きをして,iPhoneを初期化したら使えるようになりました.
SORACOMのSIMを使用するためには構成プロファイルが必要です.以下のサイトからダウンロードしてください.
iOS デバイスで SORACOM Air を使用する | さまざまなデバイスと SORACOM | SORACOM Users
SIMロック解除していないとSORACOMのSIMを入れた途端に使えなくなる...
auIDから手続きした後,構成プロファイルをインストールして,「モバイル通信」から「モバイルデータ通信」をオンにしてください.これでこのSIMカードが利用できます.
↓ソラコムユーザーコンソール上からも確認できる
そのあと.「インターネットを共有」をオンにしてテザリングを開始して,これにRaspberry Piを無線で接続します.とても簡単でした.
まとめ
今回はRaspberry PiとソラコムのSIM,3Dプリンターを使って"スマートキーボックス"なるものを作った.
導入が簡単で工事もいらない,鍵の形状を気にしないので従来のスマートロックが使えない鍵をお持ちの方にも導入しやすいと思う.費用面は3Dプリンターのフィラメント代にもよりますが,これが200円くらいで,ラズパイやサーボモーター,ICカードリーダーを合わせると1万円前後ではないでしょうか.既にRaspberry Piをお持ちならば半額くらいになります.これなら数台導入しても費用面でも安心です.
今後の課題点は,現状サーボモーターだけだと簡単にこじ開けられるので,上下に動かして物理的にロックを加えるなど対策したいです.
ただ,今回のキーボックスは破壊される脅威を防ぐのではなく,"隣の部屋を狙うほうが簡単だよ"というふうに自分たちが狙われないようにする防犯対策です.ほかを狙うより手間がかかると思わせるだけでも,防犯につながると思います.