من یک سیستم امنیتی خانه دارم که زمانی که خانه من در اوایل دهه 1990 ساخته شد نصب شد. این یک سیستم محیطی سیمی با یک آشکارساز حرکت سیمی است یا تا زمانی که آن را تغییر دادم بود. این سیستم یک DSC PC1550 است و در ابتدا توسط یک سرویس شناخته شده سیستم هشدار نظارت می شد، مخفف سه حرفی که با حرف "A" شروع می شود. به هر حال من مدتها پیش پرداخت هزینه نظارت را متوقف کردم.
اخیراً به این نتیجه رسیدم که اگر سیستم در حالت هشدار قرار می گرفت، خوب است که برای من پیامک ارسال کند. همچنین میخواستم در صورت ورود مهاجمی به دفتر من، ویدیو ضبط کنم و آن را به وب بفرستم. در اینجا نحوه انجام این کار آمده است:
اجزای مورد نیاز پیامک:
- سیستم هشدار خانه و شماتیک سیم کشی مرتبط
- Arduino Uno (یا دیگر دستگاه های سازگار با آردوینو)
- رله 12 ولت SPDT
- سرور لینوکس (من از اوبونتو 12.04 استفاده می کنم) 24X7 با دسترسی به اینترنت اجرا می شود
- برنامه پست خط فرمان MUTT (یا معادل آن).
- جیمیل یا حساب مشابه
- آدرس ایمیل برای پیامک به تلفن همراه خود
- یو پی اس برای سرور لینوکس
- اتصال مداوم به اینترنت
- کابل یو اس بی
- مقاومت 1 کیلو اهم
اجزای مورد نیاز تشخیص حرکت وب کم:
- وب کم متصل به سرور لینوکس
- حساب Dropbox
داشتنش خوبه:
- یک کیس برای آردوینو
- تخته نان برای آزمایش
- مولتی متر
سختافزار:
این طرح از خروجی سیستم هشدار استفاده میکند که آژیر را به صدا در میآورد تا به آردوینو Uno هنگام فعال شدن زنگ هشدار بگوید. این با ارسال سیگنال آژیر به یک رله انجام می شود. رله معمولاً باز است مگر زمانی که آژیر به صدا در می آید. شکل 1 زیر شماتیکی برای سیستم هشدار را نشان می دهد.
هنگامی که آژیر فعال می شود، رله (شکل 2. زیر را ببینید) بسته می شود و خروجی +5 ولت آردوینو را به ورودی آنالوگ (A0) متصل می کند. هنگامی که سیگنال +5 ولت وصل نیست، یک مقاومت کششی 1 کیلو اهم تضمین می کند که ورودی آنالوگ A0 0 ولت را می بیند. نمودار سیم کشی نشان داده شده در شکل 2 زیر جزئیات بیشتری را ارائه می دهد.
توجه: یک ورودی دیجیتال نیز می تواند استفاده شود. برای این کار باید از خروجی 3.3 ولت آردوینو و ورودی دیجیتال D0 استفاده کنید. همچنین برای خواندن ورودی دیجیتال به جای ورودی آنالوگ، باید تغییرات مربوطه را در نرم افزار آردوینو ایجاد کنید.
نرم افزار
یک طرح (برنامه های موجود در آردوینو را طرح می نامند) در آردوینو ولتاژ خروجی رله را نظارت می کند. هنگامی که طرح ولتاژ زیر 1.25 ولت را می بیند، کاراکتر "F" را از طریق اتصال USB به سرور لینوکس ارسال می کند. اگر سیگنال از 1.25 ولت بیشتر شود، طرح آردوینو کاراکتر "T" را به سرور ارسال می کند.
طرح آردوینو (کد)
int sensorPin = A0; // select the input pin from the relay
int ledPin = 13; // select the pin for the LED--flashes to indicate living
int sensorValue = 0;// variable to store the value coming from the sensor
int alarmActivated=250; // alarm detect threshold corresponds to about 1.25 V
void setup() {
// ledPin را به عنوان OUTPUT اعلام کنید:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
حلقه خالی() {
// روشن کردن آردوینو led
digitalWrite(ledPin, LOW);
// خواندن مقدار از سیستم هشدار
sensorValue = analogRead(sensorPin);
if (sensorValue > alarmActivated) {
// به سرور بگویید که زنگ هشدار فعال شده است
Serial.print ("T");