工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

MotionSense

コンポーネントと消耗品

Arduino Mega
× 1
Espressif ESP8266 ESP-01
× 1
HC-SR501PIRセンサー
× 1
1000uFコンデンサ
× 1
抵抗器とジャンパー線
× 1

必要なツールとマシン

ワイヤーカッター

アプリとオンラインサービス

プッシュブレット

このプロジェクトについて

MotionSense <図> <図> <図> <図> <図>

はじめに

このチュートリアルでは、不正なアクティビティや侵入を通知するシステムを作成する方法について説明します。私はアクティビティ検出にArduinoとPIRを使用し、WiFi接続にはESP8266を使用していました。私のXperiaZ1は通知を受け取るために使用されます。通知を受け取るためにpopuler通知アプリPushbulletを使用し、Arduinoから通知を送信するためにPushbulletAPIを使用しました。


前提知識

  • Arduinoと基本的なハードウェアに関する知識 [訪問:www.arduino.cc]
  • ATコマンドに関するアイデア [読む:http://www.codeproject.com/Articles/85636/Introduction-to-AT-commands-and-its-uses]
  • PIR、その仕組み [概要:https://en.wikipedia.org/wiki/Passive_infrared_sensor]


使用される「もの」

Arduino Mega 2560

ESP8266シリアルWiFiESP-01バリアント

HC-SR501PIRセンサー

1000 µFコンデンサ、さまざまな抵抗器[ WiFi電源用のコンデンサ、電圧調整用の抵抗]

単糸0.5mmワイヤー[ コネクタリード]

メス-メスのジャンパー線[ コネクタ]

Xperia Z1 [Pushbulletアプリの場合、どのスマートフォンでもかまいません]

私のラップトップ [arduinoでのコーディング]

Arduino IDE [v1.6.4]


何をすべきか

環境の設定: arduinoをインストールしていない場合は、arduinoのWebサイトからインストールしてください。

コピーコードを非表示にする

  PIRの設定: 

検出率を上げるには、最小のアラートサイクルで最大の感度が必要だと思います。したがって、PIRセンサーポットを次のように設定します:

次に、PIRセンサーの白い球を開くと、ピンの説明が表示されます。アウト| VCC

メスジャンパーをGNDVCCとOUTに接続します。

次に、ジャンパーピンのもう一方の端(PIRに接続)をArduinoに接続します:

PIR GND-> Arduino GND

PIR VCC-> Arduino 5V

PIR OUT-> DIGITALピン2 [選択に応じてピンを選択し、arduinoコードを変更することもできます]

PIRをテストするには、この ArduinoPlaygroundのコードを使用できます。

つまり、 PIR センサーは準備完了です 働く

コピーコードを非表示にする

  ArduinoがWiFi経由でインターネットに接続できるようにする: 

私はプロジェクトにESP8266(バリアントESP-01)シリアルWiFiモジュールを使用しました。これはかなり安価です。 ESP-01以外にも利用可能なバリアントがあります。さまざまなファームウェアも利用できます。デフォルトのATファームウェアを使用しました。この2つの画像で接続の参照を確認してください

ESP8266をジャンパー線でArduinoに接続しない:

ESP8266 GND-> Arduino GND

ESP8266 UXTX(送信ピン)-> Arduino RX2 (arduinoメガレシーバーピン、つまりコード内のSerial2)

ESP8266 CH_PD(HIGHにする)-> Arduino 5V (ESP 8266は3.3vに耐えられるため、電圧レギュレーター0f 3.3を1つ追加します。電圧レギュレーターがなかったので抵抗を使用しました。ただし、電圧レギュレーターを使用することをお勧めします)

RST、GPIO2、GPIO0を接続しないままにします

ESP8266 URXD(レシーバーピン)-> Arduino TX2 (arduinoレシーバーピン、つまりコード内のSerial2)

ESP8266 VCC-> 3.3vのArduino

ESP8266には、データ送信時に電力の問題があります。 Arduinoから電力を大量に消費するため、ArduinoにPC USB経由で電力が供給されている場合、arduinoが再起動する可能性があります。電源プラグを介した5V電源でも十分でない場合があります。したがって、ESP8266には常に外部電源を使用することをお勧めします。しかし、私の実験では、これに迅速で安価なソリューションを使用しました。 ESP8266に十分な電力を供給するために1つの1000µF電解コンデンサを使用しました。

長いピン-> 3.3vに接続されたESP8266VCC

短いピン-> arduinoGNDに接続されたESP8266GND

つまり、 ESP8266 WiFiモジュールは準備完了です 働く

コピーコードを非表示にする

  Pushbullet Notifier: 

Pushbulletを使用すると、プッシュ通知を介してさまざまなデバイスに無意識に通知できます。 PIRセンサーのプッシュ通知にAPIを使用します。 Pushbulletについてもっと読む

始めましょう。

PushBullet に移動します

登録して、Chromeアプリとスマートフォンアプリをダウンロードしてください。

Pushbullet にログオンします お使いのデバイスで。

次に、PCにインストールされているアプリまたはChrome拡張機能を使用してデバイスにプッシュメッセージを送信する方法を確認します。

APIセクションに移動します

注:ここでは、すべてのAPIリンクとURLがhttps接続用に提供されており、Arduinoはhttpsを処理するのにそれほど強力ではないため、httpsを使用できません。したがって、ここではpushbulletのドキュメントに記載されていないAPIのHTTPバージョンを使用しますが、このリファレンスはgithubから入手しました

プッシュ用のpushbulletドキュメントでは、HTTPSであるURLについて言及していたため、そのgithubプロジェクトで提供されているHTTPURLとポートを使用します。また、 / pushbullet を追加します 以前と彼らが言及したRESTパス。

例:

pushbullet doc によると、すべてのデバイスへの通知プッシュの場合 、RESTパスは: / v2 / pushs

ただし、使用します: / pushbullet / v2 / pushs

ベースURL: 173.17.168.19

ポート: 8181

次に、さまざまなAPIを確認し、説明を読んでそれらについて理解します。後で、このチュートリアルの拡張バージョンで使用できます。

arduinoからプッシュするには認証キーが必要です。だからあなたのアカウントに行きます

アクセストークンを探す 、これをコピーしてPCの安全な場所に保存します。

つまり、プッシュブレット これで準備完了になりました プッシュ通知の送受信に。


今すぐコーディングする時が来ました

この GitHubプロジェクトを開きます

実験フォルダに移動します。そこに MotionSense.ino があります 、スマートデバイスに通知をプッシュするコード。

このコードをarduinoIDEにコピーし、arduinoを接続します(WiFiとPIRセンサーがすでに設定されています)。

次に、これらのパラメータを変更します:

コピーコードを非表示にする

 #define SSID "YOURSSID" / * YOURSIDをWiFiアクセスポイント名に置き換えます* /#define PASS "YOURPASSWORD" / *パスワードをWiFiアクセスポイントパスワードに置き換えます* / 

PIROUTピンを目的のピンに変更することをお勧めします

コピーコードを非表示にする

 #define PIRPIN 2 / * arduinoの目的のデジタルピンに変更します* /#define AUTH_TOKEN "YOUR_TOKEN_FROM_YOUR_ACCOUNT"; / * YOUR_TOKEN_FROM_YOUR_ACCOUNTをアクセストークンに置き換えます* / 

上記のスニペットに記載されているアクセストークンも使用してください。

コンパイルして実行します。

センサーのキャリブレーション、WiFiモジュールの初期化、およびアクセスポイントへの接続には時間がかかります。

これらはシリアルモニターで確認できます。

すべてが完了すると、メインループのループが開始され、表示されます

「すべて問題ない|侵入なし」

シリアルモニターで継続的に。

PIRセンサーの前に行くと、動きが検出され、デバイスに通知がプッシュされます。


コードを簡単に理解する

#definesは、それに応じて変更する必要がある事前定義されたパラメータのセットです

セットアップでは、arduinoSerial()の初期化を見ることができます。 Serial2はWiFiシリアルアクセス用です。

機能を理解する

コピーコードを非表示にする

 Sensor_calibration(); / *適切な出力のためにセンサーを調整します。その前にPIRPINの電源を切る必要があります* / 

コピーコードを非表示にする

 check_WiFi_radio(); / * WiFiモジュールに問題がないかどうかを確認します* / 

コピーコードを非表示にする

 reset_wifi(); / * WiFiモジュールをリセットして問題をクリアします* / 

コピーコードを非表示にする

 set_wifi_mode(); / *アクセスポイントに接続するためのクライアントとしてWiFiモジュールを設定します* / 

WiFiモードを設定した後、WiFiをリセットして設定する必要があります

コピーコードを非表示にする

 check_wifi_stat(); / * WiFiモジュールがAPに接続されているかどうかを確認します* / 

コピーコードを非表示にする

 connect_ssid(); / *接続されていない場合は、接続パラメータで接続します* / 

これまで、WiFiモジュールが初期化されて接続されました。次に、動きを感知したかどうかをPIRの読み取り値で確認する必要があります。メインループの下になります。

コピーコードを非表示にする

 pirRead(); / * PIR値(0または1)を読み取ります。1の場合はモーション検知、0の場合は何もありません* / 

何かが検出された場合は、最初にPushbulletサーバーに接続する必要があります

コピーコードを非表示にする

 server_connect(); / *サーバーに接続しています* / 

今すぐ通知をプッシュ

コピーコードを非表示にする

 post(); / *すべてのデバイスに通知をプッシュします* / 

切断

コピーコードを非表示にする

 server_disconnect(); / *サーバー接続を閉じます* / 

ループスルー

コード

MotionSenseコード
コードの説明については、リポジトリのreadmeをお読みくださいhttps://github.com/anupam19/ESP8266-experiments

回路図


製造プロセス

  1. 三目並べゲーム名刺
  2. マルチ温度センサー
  3. 862D +用のDIYはんだごて制御
  4. 3Dプリンターの火災安全
  5. Arduino、Yaler、IFTTTを使用したIoTゲージ
  6. Arduinoの反発電磁浮上
  7. リモコングリッパーボット
  8. Arduino Powered Weather Balloon Datalogger
  9. ArduFarmBot-パート2:リモートステーションとIoTの実装
  10. シングルLEDマトリックスArduinoフリップクロック
  11. CoroFence-熱検出器🖖