LoginSignup
22
17

More than 5 years have passed since last update.

距離センサで防犯システムをDIY

Last updated at Posted at 2017-10-22

距離センサで防犯システムをDIY

やりたいこと

犯罪都市千葉県で自分の家・家族を守り抜きたい。
しかし私にはALS●Kと契約するお金がない。そう、自分で守るしかないのだ。
そう、留守中にセンサの前を人が通り過ぎたら、slackで知らてくれるシステムを自分で作るしかないのだ。

用意したもの

ESP-WROOM32(ESP32-DevKitC)
距離センサGP2Y0E03
RaspberryPi

やり方

ESP-WROOM32に距離センサを接続し、ものの接近を監視する。
接近を検知したらRaspberryPiにHTTP POSTする。
HTTP POSTを受けてRaspberryPiはSlackに投稿する。
不審者を捕まえる or 通報する。

システムイメージ

system.png

作る

ESP-WROOM32とGP2Y0E03を接続する

GP2Y0E03はI2C通信でデジタル出力できるのでESP-WROOM32とはI2Cで接続する。
ESP-WROOM32のI2C通信のやり方がよく分からなかったため、
esp-idf/examples/peripherals/i2c/のREADME.mdを確認した。

•Pin assignment:
◦slave :
◾GPIO25 is assigned as the data signal of i2c slave port
◾GPIO26 is assigned as the clock signal of i2c slave port

◦master:
◾GPIO18 is assigned as the data signal of i2c master port
◾GPIO19 is assigned as the clock signal of i2c master port

今回はEWP-WROOM32をmasterにしたいので、GPIO18をdata signal、GPIO19をclock signalとして使用する。
ESP32-DevKitCの回路図を確認すると次のようになっている。
esp32_ds.png
またGP2Y0E03のアプリケーションノートは次のようになっている。
gp2y0e03.png
table.png
そのため、接続は次のようになる。
esp_gpy.png

完成

ドコモさん、ごめんなさい。
esp32.png

検出条件を決める

センサで物体との距離を取得するプログラムの作成

ソースコード
esp/i2c/main/i2c_example_main.c
※ビルドにはesp-idfの環境が必要

人が通るときの距離

こんな感じの廊下に設置してみた。
room.png
プログラムで人が前にいるときの距離を測定する。
sensor_val.png
63cmから変化があれば、人が通過したとみなすことができそうだが、
とりあえず40cm以下を人が通る時の距離としよう。

防犯システムに仕上げる

人の検知とHTTPリクエストをするプログラムの作成

ESP-WROOM-32側ソースコード

security_system/main
sensor.c : センサーで距離を測定する
http_request.c : Wifiに接続し、HTTP POSTを行う
main.c : 100ms毎に距離を測定し、40cmを下回った場合にRaspberryPiにHTTP POSTする
※ビルドにはesp-idfの環境が必要

RaspberryPi側ソースコード

RaspberryPiはHTTPリクエストを受けられるように事前にWebサーバーにしておく。
index.php : HTTP POSTリクエストを受け、slack投稿プログラムを呼び出す
slack_sec.py : slackerを利用しslackに投稿する

テスト

センサの前を通りすぎてみた。
6D9E1E93-91C8-42F1-ACFF-44D401E82FE8.png
通知が来た!!
7A860124-FE62-4501-B611-DC74D0B215F3.png

テスト成功‼︎

最後に

これを留守中に起動しておけば、侵入者に気づくことができる。
さらに複数個設置すればより信頼性は上がるだろう。
侵入者をどうやって捕まえるかは今後の課題。

参考サイト

technology memo
Raspberry Pi3 で I2Cセンサーを使う
WROOM-32でPCA9624PWを動かす - i2c test
大変お世話になりました。
ありがとうございます。

22
17
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
17