23
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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
大変お世話になりました。
ありがとうございます。

23
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
23
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?