今日、セキュリティシステムは最も研究されている分野の1つであり、セキュリティの脅威が高まるにつれ、企業はこれらの脅威に対抗するための新しいスマートセキュリティ製品を発売しています。IoTはこの分野での追加の利点であり、緊急時に警察、消防隊、または近所の人に電話をかけるなどのイベントを自動的にトリガーできます。以前は、Raspberry Piビジター監視システム、ビデオ監視カメラ、ワイヤレスドアベル、IoTベースのドアセキュリティアラームなどの多くのセキュリティシステムを構築しました。今日は、ESP32とカメラを使用してスマートWi-Fiドアベルを構築します。
別のチュートリアルでは、ESP32-CAMとそれをビデオストリーミングに使用する方法について学習しました。次に、ESP32-CAMを使用してスマートWi-Fiビデオドアベルを作成します。このスマートドアベルはACソケットから簡単に電力を供給でき、ドアの誰かがドアベルボタンを押すと、電話で特定の曲が再生され、ビデオストリーミングページのリンクを含むテキストメッセージが送信されます。世界のどこからでもドア。
必要なコンポーネント
- ESP32-CAM
- FTDIプログラミングボード
- 220VACから5VDCへのコンバーター
- ブザー
- ボタンを押す
- LED(2)
回路図
このスマートWi-Fiドアベルの回路図は非常にシンプルで、プッシュボタンとブザーの2つのLEDをESP32GPIOピンに接続するだけです。ボタンを押すたびにブザーが鳴ります。1つのLEDは電源ステータスを示すために使用され、もう1つのLEDはネットワークステータスを示すために使用されます。ESPがネットワークに接続されている場合、ネットワークLEDはハイ状態になり、そうでない場合は点滅します。
これは、Wi-Fiビデオドアベルのセットアップが3Dプリントされたケーシングでどのように見えるかです。
Wi-FiドアベルのIFTTTセットアップ
IFTTT は無料のウェブベースのサービスで、ユーザーは「レシピ」と呼ばれる単純な条件付きステートメントのチェーンを作成できます。これは、Gmail、Facebook、Instagramなどの他のウェブサービスへの変更に基づいてトリガーされます。 IFTTT は、「If ThisThenThat」の略語です。
このプロジェクトでは、IFTTTを使用して、温度または湿度が事前定義された制限を超えるたびに電子メールを送信します。以前は、多くのIoTベースのプロジェクトでIFTTTを使用して、過剰な電力消費、高脈拍数、侵入者の侵入などの特定のイベントで電子メールまたはSMSを送信していました。
最初に資格情報を使用してIFTTTにログインするか 、アカウントを持っていない場合は サインアップ します 。
次に、「Webhooks」を検索し、「サービス」セクションの「Webhooks」をクリックします。
次に、Webhookウィンドウで、右上隅にある[ドキュメント]をクリックして秘密鍵を取得します。
このキーをコピーします。プログラムで使用されます。
秘密鍵を取得したら、WebhookとEメールサービスを使用してアプレットを作成します。アプレットを作成するには、プロファイルをクリックしてから、[ 作成 ]をクリックし ます。 '
次のウィンドウで、 「これ」 アイコンをクリックします。
次に、検索セクションでWebhookを検索し、「 Webhook 」をクリックします 。 '
次に 、[Webリクエスト の 受信] トリガーを選択し、次のウィンドウで、 button_pressed としてイベント名を入力し、 [トリガーの作成]をクリックします。
アプレットを完成させるには、 「That」 をクリックして、 button_pressed イベントに対するリアクションを作成します。
ここでは、IoTドアベルボタンが押されたときに電話で特定の曲を再生します。そのためには、検索セクションで「Androidデバイス」を検索してください。
Androidデバイスで 、[特定の曲を再生する] トリガーを選択します。
次に、ドアベルボタンが押されたときに再生する曲のタイトルを入力します。私の場合、GooglePlayミュージックから「123」という名前の曲を再生しています。Spotifyやその他の音楽アプリを使用することもできます。
その後、「をクリックして アクションを作成」 当時と 「完了」を 、プロセスを完了すること。
次に、ドアベルボタンが押されたときに、Webページのリンクを含むメッセージを電話に送信する別のアプレットを作成します。
したがって、このアプレットを作成する「を選択 ウェブフック 」の「 この 」セクションと中を 「という」 セクションでは、選択した「 AndroidのSMSを 。」
次に、電話番号とメッセージ本文の入力を求められます。このWi-Fiドアベルプロジェクトでは、ライブビデオストリーミングを直接確認できるように、Webサーバーリンクを含むメッセージを送信しています。
コードの説明
このWi-Fiドアベルカメラの完全なコードとビデオは、このドキュメントの最後に記載されています。こちらからダウンロードすることもできます。以下では、コードのいくつかの重要な部分について説明します。
まず、このコードに必要なすべてのライブラリファイルを含めます。
#include "esp_camera.h" #include
次に、Wi-Fi資格情報を入力します。
const char * ssid = "Wi-Fi Name"; const char * password = "Wi-Fi Password";
その後、IFTTTWebサイトからコピーしたIFTTTホスト名と秘密鍵を入力します。
const char * host = "maker.ifttt.com"; const char * privateKey = "あなたの秘密鍵";
このプロジェクトで使用しているすべてのピンを定義します。GPIO 2、14、15ピンを使用して、プッシュボタン、LED、ブザーを接続しています。
const int buttonPin = 2; const int led1 = 14; constintブザー= 15;
内部 ボイドセットアップ ループ、出力として入力し、LED、ブザーピンとしてボタンピンを定義します。
void setup(){pinMode(buttonPin、INPUT); pinMode(led1、OUTPUT); pinMode(ブザー、出力);
指定された資格情報を使用してWi-Fiに接続しようとし、ネットワークに接続すると、LEDの状態が低から高に変化します。
WiFi.begin(ssid、password); int led = LOW; while(WiFi.status()!= WL_CONNECTED){delay(500); Serial.print( "。"); digitalWrite(led1、led); led =!led; } Serial.println( ""); Serial.println( "WiFi接続"); digitalWrite(led1、HIGH);
ネットワークから切断されている間、ESP32はネットワークに接続するまで再起動します。
while(WiFi.status()== WL_DISCONNECTED){ESP.restart(); digitalWrite(led1、LOW); Serial.print( "接続が失われました");
ESP32はボタンの状態を読み取り、ボタンがLOW状態(ハイにプルされている)の場合、つまりボタンが押されている場合、イベントを送信し、ブザーを3秒間オンにします。
int読書= digitalRead(buttonPin); if(buttonState == LOW){send_event( "button_pressed"); Serial.print( "ボタンが押されました"); digitalWrite(ブザー、HIGH); delay(3000); digitalWrite(ブザー、LOW);
スマートWi-Fiドアベル用の3Dプリントケーシング
ここでは、このワイヤレスドアベルカメラ用に3Dプリントされたケーシングを設計しました。そのために、ノギスを使用してESP32ボード、プッシュボタン、ブザー、LEDの寸法を測定しました。測定すると、デザインは次のようになりました。
その後、STLファイルとしてエクスポートし、プリンターの設定に基づいてスライスし、最後に印刷しました。STLファイルはThingiverseからダウンロードでき、それを使用して独自のケーシングを印刷できます。
ケースを印刷した後、回路をケーシングに組み立てました。ここに表示されているように、すべてがうまくフィットしました。
3Dプリンターとその仕組みについて詳しく知りたい場合は、3D印刷入門ガイドのこの記事を読むことができます。また、Biped Robot、RoboticArmなどの3D印刷ケーシングを使用した他のプロジェクトも確認できます。
スマートWi-Fiドアベルのテスト
回路を組み立てた後、ACソケットを使用してドアベルに電力を供給します。これで、IoTドアベルボタンが押されるたびに、スマートフォンは「123」という名前の曲の再生を開始し、ライブビデオフィードを見ることができる以下に示すようなWebページのリンクを含むメッセージが受信されます。
このスマートWi-Fiドアベルの完全なコードと作業ビデオは、ドキュメントの最後にあります。または、ここからコードをダウンロードできます。このプロジェクトに関して質問がある場合は、コメントセクションに残してください。