大学生の電子工作 ラズパイでスマートロック作ってみたの記事でスマートロックを作成し、現在も使用しているのですが、一つだけ問題点があります。
それは… スマホの充電が切れたら鍵が開けられなくなってしまうことです。スマートロックを使用して3ヵ月ほど経ちますが、その3ヵ月の間にスマホの充電が切れ、鍵も持ち歩いておらず、家に入れなくなることが2回ありました。1回目は近くのコンビニでモバイルバッテリーを購入して充電して鍵を開けることができましたが、2000円程の出費となってしまいました(泣)。2回目は1回目のときに購入したモバイルバッテリーをたまたま持っていたのでそれを使って入れましたが、焦りましたw。
そこで、今回はアマゾンダッシュボタンを改造し、アマゾンダッシュボタンを押すことでラズベリーパイのスマートロックを動作させ、鍵を開けられるようにしました。
目次
搭載した機能
- スイッチで鍵の開閉
- 外部サービス(Google Assistant, Alexa)と連携して外部から鍵の開閉
- 開閉記録をgoogleスプレッドシートに記述
- AmazonDushボタンで鍵の開閉
- ICカードで開閉
作成手順
- AmazonDushボタンの基本設定
- プログラム作成
- プログラム実行
①AmazonDushボタンの基本設定
こちらの記事(AmazonDushボタンを改造してできること- ラズパイやIoT製品との連携方法)にAmazonDushボタンの設定方法を記載しました。
手順3までは同じなのでこの記事を参照にして手順3まで設定を完了させてください。以下では、手順3以降の設定方法について記載します。
②プログラム作成
まず、以下のコマンドでAmazonDushの設定ファイルの権限を変更して編集できるようにします。
sudo chmod 777 /etc/amazon-dash.yml
次に、以下のコマンドで設定ファイルを編集します。
nano /etc/amazon-dash.yml
上記のコマンドを実行するとエディターが起動するので、以下のように設定ファイルを編集します。
# amazon-dash.yml
# ---------------
settings:
delay: 10
devices:
44:65:0D:75:A7:B2:
name: smartlock button
url: 'https://api.beebotte.com/v1/data/publish/SmartLock/raspi?token=xxxxxxxxxxx #リクエスト先のURL
method: post #メソッド指定
content-type: application/json #content-type指定
body: '{"data":[{"terminal":"Amazon Dush","device":"lock","action":"open"}]}' #送信するデータ
urlの”token=xxxxxxxxxxxxx”のところは、ご自身のbeebotteのトークンに書き換えてください。
編集が完了したら以下のコマンドでこの設定ファイルをルートディレクトリにコピーします。
sudo cp /etc/amazon-dash.yml ~/amazon-dash.yml
次に、以下のコマンドで設定ファイルの権限を変更します。
sudo chmod 600 ~/amazon-dash.yml
③プログラム実行
まずはこちらの記事(大学生の電子工作 ラズパイでスマートロック作ってみた)で紹介したスマートロックプログラムを実行しておきます。
※スマートロックプログラムは変更するところはありません。
AmazonDushボタンプログラムを実行するには以下のコマンドを実行します。
sudo amazon-dash run
このコマンドを実行した後にダッシュボタンを押して鍵が開けば成功です!
※ボタンを押してから5秒ほどタイムラグがあります。
このAmazonDushボタンプログラムをバックグラウンドで実行したい場合は、
AmazonDushボタンの設定をした記事(AmazonDushボタンを改造してできること- ラズパイやIoT製品との連携方法) を参照してください。