Raspberry Piを使った簡易的なスマートロックです.NFCリーダーにSuicaをかざすと鍵を解錠・施錠できます.
smartlock_demo.mp4
- iPhoneなどの「mobile Suica」に対応
- プログラムの一部変更(コメントアウト)でiDなどのカードにも対応可能
- 歯車を工夫することによって歯車を連動して回さないため、物理鍵を使用するときに負荷がかからない
- nfcpy 1.0.3
- sqlite3
- RPi.GPIO
# 念の為pipのインストール
sudo apt install python-pip
sudo apt intall python3-pip
# nfcpyのインストール
sudo pip install nfcpy
sudo pip3 install nfcpy
# sqlite3のインストール
sudo apt install sqlite3
# sqlite browserのインストール
sudo apt install sqlitebrowser
# nfcpy設定
python -m nfc
#上記のコマンドを入力すると,下記のコマンドを入力するように表示される.(これにより,sudoなしで実行可能になる.)
sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\ ATTRS{idVendor}==\"054c\", ATTRS{idProduct}==\"06c1\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
sudo udevadm control -R
以下の部品で動作の確認をしています。
- Raspberry pi 3 (Raspberry pi zeroでも可)
- MG996Rモーダー
- ソニー製NFCリーダー
- 3Dプリンタ製の本体(body,thumb_turn, stick, gear_large, gear_small)
GPIO4 : 信号線(黄色) 5V PWA : 5V線(赤色) GND : GND線(黒色)
GPIO3とGND
以下のコマンドで実行する. 最初にnfcの読み込み状態となる.この時,登録済みSuicaをNFCリーダーにタッチするとモーターが動く. また,スイッチを押すと,名前とSuica情報を保存するデータベース操作モードに移行する.表示されるコメントに従って登録などすればOK.
git clone https://github.com/zusizusi/raspi_smartlock.git
python3 nfcservo.py
nano autorun.sh
autorun.shの中身
#!/bin/sh
python3 nfcservo.py
autorun.shを保存後,実行権限を付与
chmod +x autorun.sh
cd .config
mkdir autostart
cd autostart
nano nfcservo.desktop
nfcservo.desktopの内容
[Desktop Entry]
Exec=lxterminal -e /home/pi/autorun.sh
Type=Application
Name=Nfcservo
Terminal=true
- 作成者 : zusi
"raspi_smartlock" is under MIT license.
"raspi_smartlock" is Confidential.