ラズパイことraspberry piで、スマートロックを作ってみました。
経緯
自宅の鍵を開けるときに鍵を出すのがめんどくさい。ググると1万円ぐらいで購入できることがわかる。ちょっと高いな…。よし作ろう。
費用
raspberry pi 3B(中古) 2500円
工作キット中古(ジャンパー線、モーターなど) 2400円
ダンプラ(プラスチックダンボール) 500円
その他(工具等) 2000円
合計 7400円(結構かかってる…)
ハード
構想設計して→試作して…などなどありましたが、完成品はこちらです。
①まずは土台を両面テープで貼り付けて

スマートロック①
②つまみの部分を長くして

スマートロック②
③ラズパイ・モーターを設置

スマートロック③
動いている動画はこちらです。
youtu.be
ソフト
Pythonで 実装しました。
~
import time,RPi.GPIO as GPIO
bot = 2.5
mid = 7.3
top = 12.0
angle = [bot,mid,top]
def set_angle(arg):
return angle[arg]
def drive(arg):
GPIO.setmode(GPIO.BCM)
gp_out = 2
GPIO.setup(gp_out, GPIO.OUT)
motor = GPIO.PWM(gp_out, 50)
motor.start(0.0)
angle = set_angle(arg)
motor.ChangeDutyCycle(angle)
time.sleep(0.5)
GPIO.cleanup()
def unlock():
try:
drive(0)
drive(1)
except Exception as e:
print("!!!エラーが発生しました!!!\n" + str(e))
def lock():
try:
drive(2)
drive(1)
except Exception as e:
print("!!!下記エラーが発生しました!!!\n" + str(e))
~
~解説~
GPIO.setmode(GPIO.BCM) ★お約束
gp_out = 2
GPIO.setup(gp_out, GPIO.OUT) ★お約束
motor = GPIO.PWM(gp_out, 50)
motor.start(0.0) ★お約束
angle = set_angle(arg)
motor.ChangeDutyCycle(angle) ★モーターを指定した角度へ駆動させる
time.sleep(0.5)
GPIO.cleanup() ★お約束
テンキーとの連携
実際の運用では下の動画のように、テンキーを玄関のドアにくっつけて、暗証番号認証しています。
youtu.be
まとめ
結果としてはそれなりに時間と労力が掛かってしまったので、とにかく自宅の鍵をスマートロック化したい方は、市販の物を買いましょう。
個人的にはいいお勉強になったので、よしとします。
現在は暗証番号認証だけでなく、Webからも操作できるようにしているので、そのうち紹介します。
脆いから、木造化を検討中…