بیشتر در پارکینگ های رزبری پای پورت های باز داشتند و قابلیتهای اضافهای داشتند که ما چندان به آنها علاقه نداشتیم. پس تصمیم گرفتیم یکی از آنها را برای خود شخصی سازی کنیم. پکیجی با امنیت نسبتا بالا بهخاطر داشتن ضبط ویدیویی و اعلام وضعیت پارکینگ و … .
قابلیت های دستگاه رزبری پای برای باز کردن درب پارکینگ با سیم کارت
- امنیت بالای در با قابلیت کنترل لیست افرادی که به در دسترسی دارند. تنها شمارههای اعضای خانواده میتوانند در پارکینگ را باز کنند.
- توانایی کنترل وضعیت پارکینگ از هر جای دنیا با استفاده از یک سایت، بدون هیچگونه پورت باز در روتر.
- ویدیوی ضبط شدهی کامل از ورود هر فرد به پارکینگ با قابلیت آپلود در سایت شما برای استفادههای بعدی.
- قابلیت توقف یا از بین بردن فرایند برای استفادههای نامناسب در صورت نیاز.
- فرستادن ایمیل اطلاع رسانی زمانی که یکی از اعضای خانواده وارد یا خارج میشود.
- روش نسبتا کم خرج پیامکی بدون نیاز به خریدن یک سیم کارت جدید یا قرارداد خاصی بستن.
- کد لینوکس استاندارد که به سادگی بر روی رزبری پای شما قرار میگیرد. همچنین قابلیت انتقال به سیستمهای جدیدی که با تکنولوژی لینوکس ساخته شدهاند. با حداکثر زمان 30 دقیقهای شما میتوانید این انتقال به سیستم جدید را انجام دهید.
قدم اول: وسایل مورد نیاز برای باز کردن درب پارکینگ با سیم کارت
یک رزبری پای یا BeagleBone Black setup با پیکربندی پایه. ما در این مورد از Raspbian Wheezy استفاده کردهایم.
ارتباط وای فای با استفاده از دانگل وای فای. (البته میتوانید با استفاده از یک کابل شبکه هم این کار را انجام دهید.)
یک دوربین که با وب کم یا PiCam سازگار باشد.
بورد رله. در این آموزش ما از بورد SianSmart پنج ولت دو کانال رله حالت جامد استفاده کردهایم. برای اینکه در این برد رله بهصورت پیشفرض «پایین» مدنظر است و نه «بالا».
سیم به مقدار کافی. برای دسترسی به دربازکن یا استفاده از یک ریموت اضافه، اگر دارید.
یک سایت با قابلیت میزبانی. میتوانید مقداری حجم روی دراپ باکس یا گوگل درایو را استفاده کنید یا یک فضای ارزان آنلاین خریداری کنید. مثلا سایت 1and1.com در ازای تنها یازده دلار به شما فضایی 100 گیگابایتی یک ساله ارائه میکند. شما البته نیازی به نگهداری این فایلها ندارید چرا که تنها لاگ ها را ذخیره میکند.
چسب پوستر
قدم دوم: نصب کتابخانه روی رزبری پای برای باز کردن در پارکینگ با اس ام اس
برای اینکار نیاز به یک اکانت Twilio دارید (کاملا رایگان). یک شماره تلفن Twilio، یک دلار در ماه هزینه آن میشود.
کتابخانه های مورد نیاز را روی رزبری پای خود بریزید.
Sudo apt-get install –y python-pip mysql-server python-dev libmysqlclient-dev
Sudo pip install MySQL-python twilio
و در آن دو آدرس ایجاد کنید:
/home/pi/movies
/home/pi/pictures
قدم سوم: ساختن دیتابیس SQL، کاربران و دسترسیها
به MySQL سرور لوکال هاست خود لاگین کنید و یک کاربر بسازید، امتیازات ویژه بدهید و یک دیتابیس با جداول مورد نیاز بسازید:
mysql –pYourSQLPassword –u root –h localhost
create database GarageDoor;
use GarageDoor;
create table Door(sSid CHAR(40));
create table Authorized(sPhone CHAR(20));
create table Log(sPhone CHAR(20), sAction CHAR(10), dDate datetime);
- شماره تلفن خود را با یک +98 در جدول زیر قرار دهید.
Insert into Authorized (sPhone) values (‘+989120000000’);
CREATE USER ‘garage’@’localhost’ IDENTIFIED BY ‘garagepassword’;
GRANT ALL PRIVILEGES ON * . * TO ‘garage’@’localhost’;
FLUSH PRIVILEGES;
exit;
قدم چهارم: وصل کردن یک رله به دربازکن پارکینگ برای ارسال دستور با اس ام اس
برای این قدم ما پین 23 GPIO رزبری پای (پین 16 فیزیکال) را به یک رله متصل میکنیم. رله ی چهار کاناله SainSmart برای این کار مناسب است. بر روی آمازون این رله با 9 دلار به فروش میرود. برای این کار حالا یا یک ریموت پارکینگ اضافی را باز کنید یا اینکه رله را به صورت مستقیم به در پارکینگ متصل کنید. برای این کار بهتر است از راهنمای در پارکینگ استفاده کنید تا کار اشتباهی انجام ندهید.
شما میتوانید ببینید که ما در اینجا به دکمهی ریموت اضافی پارکینگ دو سیم لحیم کردهایم و آن را به رله وصل کردهایم.
حالا باقی سیمهای مرتبط را از رزبری پای به رله وصل کنید. پین 2، برای برق پنج ولت؛ پین 6 برای اتصال زمین و پین 16 برای کنترل رله. حالا اطمینان پیدا کنید که رلهی شما روی حالت «پایین» تنظیم شده است. این به این معنی است که در پارکینگ با یک سیگنال «بالا» باز میشود.
قدم پنجم: اضافه کردن دوربین به سیستم دربازکن پارکینگ با پیامک
در این مثال ما از دوربین رزبری پای استفاده کردهایم، شما میتوانید از یک وبکم استفاده کنید اگر از BeagleBone Black یا یک کامپیوتر لینوکسی دیگر استفاده میکنید. برای دیدن دوربین های سازگار با رزبری پای میتوانید از این لینک استفاده کنید.
دوربین را با استفاده مقداری سیم سفت و چسب پوستر بچسبانید. میتوانید دوربین را روی جعبهی رزبری پای یا روی قفسه بگذارید. شما میتوانید با استفاده از پرینتر سه بعدی یک جعبهی بزرگتر درست کنید که کل پکیج را در آن جا دهید.
قدم ششم: کد مورد نیاز برای باز کردن در پارکینگ با اس ام اس را دانلود و نصب کنید
کد باز کردن درب پارکینگ با پیامک
این کد را روی رزبری پای خود کپی کنید، هر جایی که آن را بریزید مشکلی ندارد. متغیرها را با توجه به شماره تلفن اکانت Twilio خود تغییر دهید، همچنین شماره تلفن شخصی خود را وارد کنید. بعد از آن دستورات زیر را وارد کنید:
Sudo chmod 755 garage_sms_butler.py
Python garage_sms_bulter.py
بعد از این، به شماره تلفن اکانت Twilio کلمه status را ارسال کنید. بعد از این باید یک پیامک دریافت کنید. این پیامک حاوی نام آخرین کسی است که درب پارکینگ را باز کرده است.
قدم هفتم: باز کردن درب پارکینگ و دیدن نتایج بر روی سایت
دستورهایی که میتوانید از طریق پیامک ارسال کنید و درب پارکینگ آن را اجرا میکند.
OPEN:
یک سیگنال «بالا» به رله میفرستد که برای نیم ثانیه ادامه دارد. این سیگنال باعث میشود تا رله به ریموت اضافی پارکینگ شما دستور بدهد و در پارکینگ باز شود. همچنین با این دستور، ویدیویی از کسی که درب پارکینگ را باز کرده است روی سایت شما آپلود میشود.
STATUS:
با این پیامک به در پارکینگ میتوانید ببینید چه کسی آخرین بار درب پارکینگ خانه شما را باز کرده است و اینکه آیا سرویس باز کردن درب پارکینگ با پیامک فعال یا غیرفعال است. همچنین با این پیامک یک تصویر از وضعیت فعلی پارکینگ شما در سایت آپلود میشود.
DISABLE:
سیستم دیگر پیامی برای باز کردن درب پارکینگ با پیامک را قبول نمیکند.
ENABLE:
دوباره سرویس باز کردن در پارکینگ با اس ام اس فعال میشود.
KILL:
بهصورت کامل از برنامه خارج میشود و دیگر هیچ پیامی نمیتواند سیستم را دوباره فعال کند.
حالا میتوانید دستورهای خودتان را به سیستم اضافه کنید.
قدم هشتم: سوال و جواب راجع به دربازکن پارکینگ با اس ام اس
چرا از سنسور حرکتی برای ضبط ویدیو استفاده نکنیم؟
سنسور حرکتی هر گونه حرکتی را ضبط میکند. مثلا ویدیوی تمیز کردن پارکینگ یا عوض کردن روغن ماشین یا چک کردن باد لاستیکها. ما اینجا میخواهیم تنها زمانی که فردی وارد پارکینگ میشود را ببینیم و نه بیشتر. علاوه بر این، اینکار باعث میشود که ویدیو تنها 60 ثانیه باشد، ببینیم چه کسی آمده است و چه کسی همراه او است و نه بیشتر.
به علاوه، ما نمیخواهیم یک فایل بزرگ از پارکینگ روی اینترنت فرستاده شود، یعنی میشد گزینههایی مانند یک استریم آنلاین هم ببینیم اما آیا واقعا کسی دلش میخواهد از صبح تا شب به ویدیویی که از پارکینگ خانهاش گرفته میشود زل بزند؟ گمان نکنم.
چرا از یک سایت برای آپلود ویدیو استفاده کنیم؟
اولین دلیل آن ارزان بودن است. اینکه در حال حاضر بیشتر سایتها یک برنامهی یک ساله به شما میدهند و چیزی حدود 100 گیگابایت فضای خالی. شما با اینکار میتوانید هر وقت که دلتان خواست ویدیو را از هر جایی ببینید.
البته اگر شما از دراپ باکس، گوگل درایو یا سرویس هاست آمازون استفاده میکنید میتوانید از پایتون برای برنامهی دیگر سرویسها استفاده کنید.
چرا از یک WebGPIO که پای آن را میزبانی میکند استفاده نکنیم؟
یکی از چیزهایی که ممکن است امنیت سیستم شما را به خطر بیاندازد پورتهای باز است. این سیستمهای آماده پورتهای باز زیادی دارند، هر چند که قابلیت استریم زنده را فراهم میکند اما همانطور که قبلا گفتم، کسی دلش میخواهد تمام روز به پارکینگش زل بزند؟
نمیشود از یک دستگاه اس ام اس دیگر برای بازکردن در پارکینگ استفاده کرد؟
البته که میشود. مسئلهای که وجود دارد اینجا است که Twilio خیلی ارزانتر از دیگر سرویسها است و با اینکار دیگر نیازی نیست که شما یک سیم کارت خریداری کنید.