人感センサーを使って、人がいなくなったのを検知すると施錠するオートロックを実現します。
玄関と廊下との間に扉がある等、独立した玄関に人感センサーと Raspberry Pi を置くことを想定しています。
- Raspberry Pi
- 手元で使ったのは Raspberry Pi 4 Computer Model B
- 人感センサー
- 手元で使ったのは HiLetgo の HC-SR501
- ジャンプワイヤー (メス-メス) 3本
- Sesame
- 手元で使ったのは Sesame mini
Raspberry Pi の初期設定等は済んでいる前提です。
- auth_token
- CANDY HOUSE Dashboard から取得
- 詳しくは こちら
- device_id
- auth_token を取得して API が叩けるようになったら、
GET /sesames
で取得 - 詳しくは こちら
- auth_token を取得して API が叩けるようになったら、
取得したら、.env.sample
のファイル名を .env
に書き換え、 SESAME_AUTH_TOKEN
, SESAME_DEVICE_ID
の値をそれぞれ書き換えます。
HC-SR501 はデフォルトで再検知しないモードになっているようなので、再検知するモード(検知エリア内に対象物がある間は検知出力が継続される)に切り替えます。 人がいるのを検知した後も再検知し続けてくれないと、まだ人がいるのに鍵が閉まるという挙動になってしまうためです。
画像左下の黄色いショートプラグを H 側に挿入することで再検知するモードに切り替わります。
再検知しないモード(L)
再検知するモード(H)
こちらの記事 を丸っと参考にワイヤー3本を配線します。
.env
の GPIO_PIN
は、配線した GPIO PIN の番号に書き換えてください。(上の記事のとおりに配線した場合、書き換える必要はありません)
準備が整えば依存パッケージをインストールして、実行するだけです。
$ pipenv install
$ nohup pipenv run start &
pipenv がなければ事前に
$ pip install pipenv
pipenv install
に dev
オプションを渡すことで開発用に RPi モジュールのエミュレーター もインストールします。
これにより macOS等の RPi.GPIO モジュールがインストールされていない環境でも開発ができます。
$ pipenv install --dev