فهرست مطالب:

Raspberry Pi 3 Garage Door Open: 15 مرحله (همراه با تصاویر)
Raspberry Pi 3 Garage Door Open: 15 مرحله (همراه با تصاویر)

تصویری: Raspberry Pi 3 Garage Door Open: 15 مرحله (همراه با تصاویر)

تصویری: Raspberry Pi 3 Garage Door Open: 15 مرحله (همراه با تصاویر)
تصویری: How To Farm Chia w/ Madmax Gigahorse and Chia GPU Plotter in Windows - Chia Farming Guides 2023 2024, جولای
Anonim
درب بازکن گاراژ رزبری پای 3
درب بازکن گاراژ رزبری پای 3

من این برنامه را در سال 2014 ایجاد کردم. از آن زمان تا کنون تغییرات زیادی شده است. در سال 2021 ، من درب بازکن هوشمند گاراژ را در اینجا به روز کردم.

برای باز کردن ، بستن و نظارت بر درب گاراژ از Raspberry Pi و تلفن هوشمند استفاده کنید. باز و بسته شدن درب با استفاده از گواهینامه های خود امضا نصب شده بر روی تلفن های همراه خانواده ایمن می شود. اگر درب گاراژ باز است در حالی که نباید باشد ، یک پیام متنی (SMS) به تلفن همراه ارسال کنید.

درب گاراژ از اواخر سال 2014 به طور مداوم مورد استفاده قرار گرفته است. در طول سالها ، من سعی کردم تغییرات را به روز نگه دارم. ضمیمه ای وجود دارد که تغییرات دستورالعمل را توضیح می دهد.

اهداف این پروژه عبارتند از:

  • اولین آموزش خود را آموزش دهید - من قصد نداشتم این پست را ارسال کنم ، اما درخواست های زیادی دریافت کرده ام
  • درب گاراژ را با ریموت استاندارد باز کنید
  • درب گاراژ را با گاراژ بازکن زنگ در دیوار نصب کنید
  • درب گاراژ را با گوشی هوشمند باز کنید
  • وضعیت درب گاراژ را از راه دور از طریق تلفن همراه یا لپ تاپ کنترل کنید (باز یا بسته است؟)
  • اگر درب باز است وقتی باید بسته شود به تلفن همراه من پیام کوتاه ارسال کنید
  • درب گاراژ را ایمن نگه دارید (به عنوان مثال ، در صورت قطع برق ، درب نباید باز شود)
  • اجازه ندهید شخص دیگری در شبکه در را باز کند (گواهینامه SSL دو طرفه خود امضا شده)
  • به جای اتصال سیمی از WiFi استفاده کنید
  • از رزبری پای 3 استفاده کنید

اساس این Garage Door Opener از Instructable: Raspberry Pi Garage Door Opener توسط quartarian مشتق شده است. در ابتدا ، من از مدل B+ Raspberry Pi استفاده کردم ، سپس به Raspberry Pi 2 مدل B رفتم ، و اکنون از Raspberry Pi 3 استفاده می کند.

من از مک بوک برای برقراری ارتباط با رزبری پای استفاده کردم ، اما از هر رایانه ای می توان استفاده کرد.

هیچ دلیل قانع کننده ای برای ساخت این دستگاه وجود ندارد ، اما سرگرم کننده بود. خرید آن مقرون به صرفه تر است. یک دستگاه مشابه را می توان با حدود 130 دلار خریداری کرد.

  • دستگاه آسانسور 828LM
  • چمبرلین MyQ 129 دلار
  • GoGo Gate 179 دلار
  • صنعتگر 100 دلار

یادداشت:

  • متن محصور در بیل ، مانند این "جایگزین این" باید با یک مقدار واقعی جایگزین شود
  • متن آبی زیر خط آردوینو یک پیوند است. در این مورد ، پیوندی به نسخه آردوینو درب بازکن گاراژ است.
  • من سعی کرده ام به هر منبع استفاده شده اعتبار دهم. بابت هر گونه کوتاهی عذرخواهی می کنم. بیشتر این سند بر اساس کار دیگران تهیه شده است.
  • $ نشان می دهد که فرمان در پنجره ترمینال در MacBook اجرا شده است و معمولاً در Raspberry Pi اجرا می شود

مرحله 1: جمع آوری قطعات

خرید یا جمع آوری قطعات و ابزار (قیمت ها به دلار).

  • Raspberry Pi 3 Model B Newark Element14 35 دلار
  • آداپتور برق 5.2 ولت 2.5 آمپر USB از آمازون 9.99 دلار
  • کابل میکرو USB به USB 6 فوت از آمازون 7.99 دلار
  • مورد از آمازون 6.99 دلار
  • SanDisk Ultra 16 GB microSDHC کلاس 10 با آداپتور (SDSQUAN-016G-G4A) از آمازون 8.99 دلار
  • SunFounder 2 Channel 5V Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6.79 دلار
  • 3x سیم زن جهنده زن. با قیمت 4.95 دلار در Fry’s خریداری شده است.
  • DNS پویا 40 دلار در سال برای 30 نام (dyn.com)
  • 1-باند 18 cu. in. Old Work Heavy Wall Switch and Outlet Box ، 3.12 دلار
  • صفحه سفید وال Ultra Pro Single Brush ، 7.88 دلار
  • SECO-LARM SM 226L ، سنسور درب گاراژ ، قیمت بسیار متفاوت است ، 9.99 دلار در آمازون با ارسال رایگان
  • 50 فوت سیم ترموستات جامد ، Home Depot یا Lowe's ، 20 دلار آمریکا

مجموع من: 172.00 پوند

من قطعات ، ابزارها و خدمات زیر را داشتم:

  • کابل اترنت CAT5
  • سیم سنج کوچک ، 6 فوت طول
  • پیچ گوشتی سر فیلیپس
  • دم باریک
  • دستگاه های برش جعبه
  • پیچ گوشتی مسطح جواهرساز ، نیاز به شل کردن پیچ های روی رله دارد
  • مک بوک (می توان از رایانه شخصی استفاده کرد)
  • AT&T GigaPower (از هر ارائه دهنده خدمات اینترنتی می توان استفاده کرد)

مرحله 2: Raspberry Pi را بدون مانیتور یا صفحه کلید راه اندازی کنید

Raspberry Pi را بدون مانیتور یا صفحه کلید راه اندازی کنید
Raspberry Pi را بدون مانیتور یا صفحه کلید راه اندازی کنید

همه پروژه های Raspberry Pi به نوعی از راه اندازی نیاز دارند. من دوست دارم از همان مجموعه دستورالعمل ها استفاده کنم و در صورت لزوم ، یک مکان برای به روز رسانی آن دستورالعمل ها داشته باشم.

Raspberry Pi را با استفاده از دستورالعمل زیر تنظیم کنید:

Raspberry Pi را بدون مانیتور یا صفحه کلید راه اندازی کنید

دستورالعمل فوق شامل مراحل اختیاری در پیوست است. مرحله را حتما انجام دهید:

گواهینامه های سمت مشتری را به سرورهای وب اضافه کنید

خاموش کردن تمشک پای

$ sudo shutdown -h 0

پس از خاموش شدن ، حذف کنید

  • کابل اترنت
  • کابل سریال USB

اینها دیگر نیازی نخواهند داشت از وای فای ، ssh و پنجره ترمینال در Mac Book برای اجرای دستورات روی رزبری پای استفاده کنید.

برق را وصل کرده و دوباره وصل کنید ، رزبری پای باید دوباره راه اندازی شود.

مرحله 3: Wiring Pi ، Apache و PHP را نصب کنید

Wiring Pi را نصب کنید

پنجره ترمینال را در Mac Book باز کنید. وارد Raspberry Pi شوید ، سپس Wiring Pi را بارگیری ، کامپایل و نصب کنید. این نرم افزار امکان کنترل پین های GPIO را فراهم می کند. در اینجا یک راهنمای گام به گام آمده است:

wiringpi.com/download-and-install/

در اینجا یک نسخه فشرده از دستورالعمل ها آمده است:

$ ssh pi@♣ raspberry-pi-ip

رمز عبور: ♣ رمز عبور ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd سیم کشی Pi $ git pull origin $./build

برای بررسی نصب دستور gpio را اجرا کنید:

$ gpio -v

نسخه gpio: 2.29 حق چاپ (c) 2012-2015 Gordon Henderson این نرم افزار رایگان است و مطلقا هیچ گارانتی ندارد. برای اطلاعات بیشتر نوع: gpio -warranty Raspberry Pi جزئیات: نوع: مدل 2 ، ویرایش: 1.1 ، حافظه: 1024 مگابایت ، سازنده: Sony [OV] درخت دستگاه فعال است. این رزبری پای از دسترسی GPIO در سطح کاربر پشتیبانی می کند. -> برای اطلاعات بیشتر به صفحه مرد مراجعه کنید $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | نام | حالت | V | فیزیکی | V | حالت | نام | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3.3 ولت | | | 1 || 2 | | | 5 ولت | | | | 2 | 8 | SDA.1 | در | 1 | 3 || 4 | | | 5 ولت | | | | 3 | 9 | SCL.1 | در | 1 | 5 || 6 | | | 0 ولت | | | | 4 | 7 | GPIO 7 | خارج | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0 ولت | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO 0 | در | 0 | 11 || 12 | 0 | در | GPIO 1 | 1 | 18 | | 27 | 2 | GPIO 2 | در | 0 | 13 || 14 | | | 0 ولت | | | | 22 | 3 | GPIO 3 | در | 0 | 15 || 16 | 1 | در | GPIO 4 | 4 | 23 | | | | 3.3 ولت | | | 17 || 18 | 0 | در | GPIO 5 | 5 | 24 | | 10 | 12 | MOSI | در | 0 | 19 || 20 | | | 0 ولت | | | | 9 | 13 | MISO | در | 0 | 21 || 22 | 0 | در | GPIO 6 | 6 | 25 | | 11 | 14 | SCLK | در | 0 | 23 || 24 | 1 | در | CE0 | 10 | 8 | | | | 0 ولت | | | 25 || 26 | 1 | در | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | در | 1 | 27 || 28 | 1 | در | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | در | 1 | 29 || 30 | | | 0 ولت | | | | 6 | 22 | GPIO.22 | در | 1 | 31 || 32 | 0 | در | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | در | 0 | 33 || 34 | | | 0 ولت | | | | 19 | 24 | GPIO.24 | در | 0 | 35 || 36 | 0 | در | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | در | 0 | 37 || 38 | 0 | در | GPIO.28 | 28 | 20 | | | | 0 ولت | | | 39 || 40 | 0 | در | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| BCM | wPi | نام | حالت | V | فیزیکی | V | حالت | نام | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

دستورات بالا باید به شما اطمینان دهد که wiringPi خوب کار می کند.

Apache و PHP را نصب کنید

دستورات زیر را اجرا کنید:

سی دی $..

$ sudo apt-get بروزرسانی $ sudo apt-get نصب apache2 php5 libapache2-mod-php5

برای تأیید صحت عملکرد سرور وب ، یک مرورگر را باز کنید و در کادر URL موارد زیر را وارد کنید:

♣ تمشک-پی-آی پی

وب سایت پیش فرض آپاچی با "It Works!" پاسخ می دهد.

مرحله 4: وب سایت

پنجره ترمینال را در Mac Book باز کنید. وارد Raspberry Pi شوید ، سپس فایل پیش فرض index.html را حذف کنید ، مجوزهای فهرست وب سایت را تغییر دهید و فایلی به نام index.php را ویرایش کنید.

$ ssh pi@♣ raspberry-pi-ip

رمز عبور: ♣ رمز عبور ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php

و کد زیر را وارد کنید:

گاراژ بازکن

اتوماسیون خانگی

<؟ php if ($ switch == 1) {echo"

"؛} else {echo"

"; } ?>

درب بازکن گاراژ راهنمای درب بازکن گاراژ بسته 1 باز کردن 0
<؟ php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o و ENTER برای نوشتن فایل و CTRL-x برای خروج از ویرایشگر.

مجوزهای پرونده را تغییر دهید

$ sudo chmod 664 /var/www/index.php

مرحله 5: تصویر وب سایت

تصویر وب سایت
تصویر وب سایت
تصویر وب سایت
تصویر وب سایت

درب بازکن درب گاراژ با وضوح بالا را از وب بگیرید. همانطور که می خواهید با استفاده از قلم مو Mac تصویر را اصلاح کنید. در تصویر بالا ، از Genie Garage Opener با وضوح بالا استفاده شده است ، یک لوگوی تمشک pi اضافه شده و led حذف شده است.

یک تصویر پس زمینه (remote-background.jpg) و دیگری تصویر فعال (remote-press.jpg) است.

برنامه این بود که با فشردن دکمه ، تمبر به جای پلک زدن ، چشمک می زند. وب سایت را ساده کردم.

تصاویر را در تمشک pi کپی کنید:

$ scp *-j.webp

رمز عبور: ♣ رمز عبور

وب سایت دارای یک دکمه تک است. برای تأیید صحت ، مرورگری را باز کرده و ♣ raspberry-pi-ip enter را وارد کنید. به جای وب سایت پیش فرض آپاچی ، که می گوید "کار می کند!" ، دکمه باید ظاهر شود. فشار دهید.

مرحله 6: کنترل از راه دور وب سرور

برای سهولت دسترسی به Garage Door Opener از مکان دور ، از یک نام DNS پویا استفاده می کنم. چون دوست ندارم آدرس های IP را به خاطر بسپارم.

با استفاده از این ویژگی ، "dynamic-hostname".getmyip.com را در قسمت URL مرورگر وارد می کنم. توجه: IP روترهای خانگی می تواند بدون اطلاع قبلی تغییر کند ، اما این به ندرت اتفاق می افتد. من استفاده از DynDNS را انتخاب کردم. شما باید آدرس IP عمومی روتر خود را بدانید.

IP روتر U-Verse: ♣ uverse-public-ip

می توانید نام میزبان و جزئیات حساب DynDNS Pro خود را مشاهده کنید. در اینجا چند نکته برای شروع وجود دارد:

  • نام میزبان Dynamic DNS خود را ایجاد کنید (1 از 30):

    • ♣ نام میزبان پویا
    • کلید Updater: ♣ کلید پویا-ip-Updater
  • برای اطمینان از اینکه نام میزبان شما همیشه به آدرس IP صحیح اشاره شده است ، یک سرویس گیرنده به روز رسانی نصب کنید.

    • برنامه MacBook را بارگیری و نصب کنید
    • IP های AT & T U-Ay به ندرت تغییر می کنند ، بنابراین به روزرسانی بالا هر زمان که تغییر کند می تواند اجرا شود
    • دستورالعمل ها را دنبال کنید:

      • اضافه کردن حساب
      • نام کاربری و گذرواژه را وارد کنید: ♣ پویا-نام کاربری ♣ ♣ کلمه عبور پویا p
      • نام میزبان را انتخاب کنید
      • روی پیکربندی میزبان های منتخب کلیک کنید
      • میزبان باید فعال شود
    • شبکه خود را طوری پیکربندی کنید که از طریق اینترنت به دستگاه خود دسترسی داشته باشید. می توانید از Dyn Wizard ما برای برخی دستورالعمل های کلی در مورد چگونگی انجام این کار استفاده کنید ، از منابعی مانند PortForward.com استفاده کنید یا برای راهنمایی با سازنده دستگاه تماس بگیرید.

      • آیه AT&T
      • Port Forwarding for 2-Wire 3801HGV-این روتر AT-T U-Verse است که من دارم. در مورد نحوه انتقال به جلو در روتر AT&T U-Version 5268ac به به روزرسانی های ضمیمه مراجعه کنید.
      • مرورگر را باز کرده و به ♣ raspberry-pi-ip go بروید
      • رمز عبور: ♣ رمز عبور
      • تنظیمات
      • دیواره آتش

        • ♣ raspberry-pi-hostname Choose را انتخاب کنید
        • سرورها

          • پورت وب سرور 80
          • سرور HTTPS - پورت 443
        • اضافه کردن
      • صرفه جویی

پس از انجام این کار ، سرور وب از طریق اینترنت کار می کند. برای تأیید ، ♣ name-hostname enter را وارد کنید و باید دکمه بازکن درب گاراژ را ببینید.

مرحله 7: مدار را به رزبری پای وصل کنید

مدار را به رزبری پای وصل کنید
مدار را به رزبری پای وصل کنید

برای کد ارائه شده (مرحله 4 و 6) ، من از پین GPIO 7 استفاده کردم. تصادفی است که GPIO 7 همان سیم کشی Pi 7 است. در کد PHP ، از شماره های Pi pin سیم کشی استفاده می شود و نه شماره پین GPIO. می توانید از هر کدام که می خواهید استفاده کنید ، اما حتما کد را تغییر دهید.

من سعی کردم از سیم پیچ خورده استفاده کنم ، اما رله روی سیم پیچ خورده خوب نگه نمی دارد. سیم جامد بهتر است.

در اولین تلاش من ، سه کابل اتصال (زن به مرد) ایجاد کردم.

  • از سه کابل جهنده زن تا زن استفاده کنید
  • سه قطعه سیم جامد را به حدود 1 اینچ برش دهید.

    4/1 اینچ را در دو سر سیم جامد بچسبانید

  • یک سیم جامد را در یک کابل بلوز زن قرار دهید.

در اینجا روش بهتری برای ایجاد کابل های اتصال (زن به مرد) وجود دارد:

  • فقط از سیم جامد استفاده کنید
  • سه تکه سیم جامد 4 اینچی برش دهید
  • 4/1 اینچ را در دو سر سیم جامد بچسبانید
  • از پین های اتصال زن استفاده کنید

    • یک پین اتصال زن را در یک سر سیم جامد بکشید و جمع کنید

      سنجاق زن نباید شل شود ، در صورت لزوم لحیم شود

    • تسکین فشار را روی نوار اتصال دهنده زن یا پین روکش با نوار برق بکشید

همانطور که در نمودار نشان داده شده است رله را به pi وصل کنید:

  • انتهای کابل زن را به پین رزبری پای وصل کنید.
  • سیم جامد را داخل رله قرار دهید.

مرحله 8: یک سرویس راه اندازی ایجاد کنید

اکثر رله ها از جمله مورد خریداری شده به شرح زیر عمل می کنند:

  • هنگامی که سیگنال روشن است ، مدار خاموش می شود.
  • وقتی سیگنال خاموش است ، مدار روشن است.

در صورت قطع برق رزبری پای ، رله دارای مکانیزم ایمنی است که مدار را خاموش نگه می دارد.

هنگامی که برق رپری پای و رله دوباره برقرار می شود ، ممکن است مشکلی ایجاد شود ، اما قبل از اینکه بوت شدن رزبری پای به پایان برسد تا سیگنال را روشن کنید که باید مدار را خاموش کنید. شما می توانید صبح با گاراژ باز و احتمالاً چند دوست جدید از خواب بیدار شوید!

با این حال ، تا زمانی که حالت پین GPIO از طریق این دستور تنظیم نشود ، رله مقداردهی نمی شود: حالت gpio 7 خارج می شود. علاوه بر این ، اگر قبل از تنظیم حالت GPIO پین GPIO به ON (نوشتن gpio 7 7) باشد ، رله پس از راه اندازی خاموش می ماند.

برای اینکه این مقداردهی اولیه در بوت اجرا شود و با دوستان جدید بیدار نشوید ، از اسکریپت راه اندازی زیر استفاده کنید.

$ ssh pi@♣ raspberry-pi-ip

$ sudo nano /etc/init.d/garagerelay

سپس این اسکریپت را جایگذاری کنید:

# /bin/bash

# /etc/init.d/garagerelay # انجام وظایف خاص در صورت درخواست توسط سیستم ("$ 1" در شروع) انعکاس "شروع رله" # نوبت 7 که رله را خاموش نگه می دارد/usr/local/bin/gpio write 7 1 #Stp Gpio/usr/local/bin/gpio mode 7 out ؛؛ توقف) پژواک "توقف gpio" ؛؛ *) پژواک "استفاده: /etc/init.d/garagerelay {start | stop}" خروج 1 ؛؛ خروج esac 0

برای ذخیره: CTRL-o ، ENTER

برای خروج از نانو ، CTRL-x

فایل را اجرایی کنید:

$ sudo chmod +x /etc/init.d/garagerelay

حالا به pi خود بگویید که این اسکریپت را در بوت اجرا کند:

$ sudo update -rc.d -f garagerelay start 4

(توجه: می توانید با خیال راحت هشدار "برچسب های LSB گم شده" را نادیده بگیرید.)

مطمئن شوید که اسکریپت راه اندازی در حال اجرا است

راه اندازی مجدد $ sudo

مرورگر را باز کرده و روی بازکن کلیک کنید. رله باید کلیک کند.

مرحله 9: رزبری پای را به گاراژ وصل کنید

رزبری پای را به گاراژ وصل کنید
رزبری پای را به گاراژ وصل کنید

هنگام جابجایی رزبری پای ، حتماً اجرا کنید:

$ shutdown -h 0

ممکن است بخواهید برق گاراژ را خاموش کنید. بنابراین ، زنگ بازکن شما را برقی نمی کند:). دلیل واقعی این است که هر بار که سیم ها را کوتاه می کنید ، درب بالا و پایین می رود.

پیچ های دیوار را از نوع بازکن زنگ در باز کنید ، که زنگ در را به دیوار وصل می کند.

از گاراژ پشت بازکن زنگ در داخل خانه را سوراخ کنید. در تگزاس ، رزبری پای نباید در گاراژ باشد ، تغییرات دما در گاراژ خارج از مشخصات عملیاتی رزبری پای است.

سیم های رله را از سوراخ عبور دهید (از یک آویز کت استفاده کنید).

هر دو پیچ پشت بازکن زنگ در را باز کنید.

هر دو انتهای سیم رله را بچسبانید: 1) حدود 1/8 اینچ از طرف رله و حدود ½ اینچ از طرف زنگ در. طرف زنگ در سیم را به صورت یک حلقه نیمه خم کنید که به اندازه کافی بزرگ باشد تا در پشت پیچ قرار گیرد.

یک سیم رله را به هر پیچ پشت زنگ در وصل کنید و پیچ را محکم کنید. اتصالات مطابق تصویر است. از آنجا که رله مدار را جدا می کند ، جهت حتی مهم نیست که کدام رله به کدام پیچ متصل است.

مرحله 10: Raspberry Pi را به SECO-LARM وصل کنید

Raspberry Pi را به SECO-LARM وصل کنید
Raspberry Pi را به SECO-LARM وصل کنید
Raspberry Pi را به SECO-LARM وصل کنید
Raspberry Pi را به SECO-LARM وصل کنید

قبل از اینکه کد را تمام کنم ، من و خانواده ام در تعطیلات بودیم و مرورگرم را باز کردم. آخرین نمای مرورگر من مربوط به درب بازکن گاراژ بود - صفحه تازه شد و درب گاراژ باز شد. چند روز بعد همسایه ای تماس گرفت و پرسید آیا درب گاراژ باید باز باشد؟ خوشبختانه ، من می توانم آن را از 500 مایل دورتر ببندم.

این اسنافو مرا مجبور کرد کد را تغییر دهم تا این اتفاق نیفتد و یک سنسور و وضعیت درب گاراژ را به وب سایت اضافه کنم.

این پیوند به دستورالعمل اصلی برای افزودن سنسور است. با این حال ، با توجه به همه چیزهایی که قبلاً تکمیل شده است ، نصب سنسور را می توان تا حد زیادی ساده کرد و به جای استفاده از پایتون ، چند خط کد به index.php اضافه کرد.

closed

آهن ربا به سمت چپ و قسمت داخلی بالای درب گاراژ متصل شده است و سنسور به دیوار گاراژ متصل شده است. بنابراین ، مجبور شدم سیم ترموستات جامد را از سنسور به تمشک pi برسانم. این امر نیاز به یک حفره از گاراژ به اتاق زیر شیروانی و از اتاق زیر شیروانی به دیوار حاوی درب بازکن گاراژ (کلید زنگ درب) دارد.

من یک جعبه اتصال آبی بین سنسور SECO-LARM و سیم های محکم وارد کردم.

در خانه من ، بین سقف طبقه اول و پایین طبقه دوم فاصله 18 اینچی وجود دارد. من فرض می کنم این جایی است که مجاری گرمایش و سرمایش کار می کنند. من به یک پسوند مته به اندازه کافی نیاز داشتم تا بتوانم از طبقه دوم و از بالای 2x4 (صفحه بالا) حاوی زنگ در عبور کنم.

مهمترین قسمت هنگام حفاری از اتاق زیر شیروانی به ناحیه ای است که سیم ها به درب بازکن گاراژ منتقل می شوند این است که برق را حفر نکنید. رفع این موضوع جالب نبود. دیدن جرقه ها و خاموش شدن چراغ ها بسیار هیجان انگیز بود!

این سنسور به دو سیم ترموستات جامد یا سیم حصار سگ نامرئی نیاز دارد.

Raspberry Pi دارای چندین توصیف پین (BCM ، wPi ، فیزیکی) است. کد از اعداد پی پین سیم کشی استفاده می کند. برای مشاهده همه پین ها و نگاشت های پین و مقادیر پین وارد کنید:

$ gpio readall

برای راهنمای gpio ، موارد زیر را وارد کنید:

$ gpio مرد

در دستورالعمل اصلی ، پایه فیزیکی 9 زمین است و به یکی از سیم های SECO-LARM متصل می شود. با این حال ، این برای من کار نمی کند. در عوض سیم ها را به پین های فیزیکی 15 و 17 وصل کنید

وقتی سنسور SECO-LARM بسته است ، پین فیزیکی 15 (پین wPi 3) به 3.3V می رود. پین فیزیکی 17 3.3 ولت است. اگر کار نمی کند ، اتصالات را روی SECO-LARM تغییر دهید.

SECO-LARM را به در و دیوار گاراژ وصل کنید. سیم ها را اجرا کرده و به Raspberry Pi متصل شوید.

مرحله 11: در صورت باز بودن درب هنگام ارسال بسته هشدار ارسال کنید

اگر درب گاراژ باز است در حالی که نباید باشد ، یک پیام متنی به تلفن همراه ارسال کنید.

SMTP ساده را نصب و پیکربندی کنید.

من AT&T cellular دارم و از ♣cell-phone-number♣@txt.att.net برای پیام های متنی استفاده می کنم. من همچنین یک حساب gmail دارم و مثال زیر از ♣gmail-account♣@gmail.com استفاده می کند. اگر از خدمات مختلف استفاده می کنید ، تغییرات مناسب را اعمال کنید.

برای دستورات $ زیر ، یک پنجره ترمینال در MacBook باز کنید و به Raspberry Pi خود وارد شوید.

اطمینان حاصل کنید که مخازن به روز هستند:

$ sudo apt-get update

SSMTP ساده و ابزارهای پست الکترونیکی را نصب کنید:

$ sudo apt-get ssmtp را نصب کنید

$ sudo apt-get mailutils را نصب کنید

فایل پیکربندی SSMTP را ویرایش کنید:

$ sudo nano /etc/ssmtp/ssmtp.conf

به شرح زیر است:

mailhub = smtp.gmail.com: 587 hostname = ♣ your-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = password gmail-password ♣ UseSTARTTLS = YES

فایل نام مستعار SSMTP را ویرایش کنید:

$ sudo nano/etc/ssmtp/revaliases

برای هر کاربر یک خط ایجاد کنید که بتواند ایمیل ارسال کند. مثلا:

root: mailgmail-account♣@gmail.com: smtp.gmail.com: 587

مجوزهای فایل پیکربندی SSMTP را تنظیم کنید:

$ sudo chmod 664 /etc/ssmtp/ssmtp.conf

مجوزهای فایل /etc/ssmtp/ssmtp.conf تعیین می کند که چه کسی قادر به ارسال ایمیل از Raspberry Pi خواهد بود. به طور پیش فرض این فایل متعلق به root کاربر است و گروه فایل نیز root است.

فایل مستعار SSMTP را که حاوی اطلاعات مربوط به حساب های ایمیل است ، ویرایش کنید:

$ sudo nano /etc/ssmtp/ssmtp.conf

پس از تکمیل مراحل راه اندازی و پیکربندی بالا ، آن را با ارسال یک ایمیل از خط فرمان آزمایش کنید.

$ echo "بستن درب گاراژ" | mail -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net

یک اسکریپت ایجاد کنید تا بررسی کنید درب گاراژ در مواقعی که نباید باز است یا خیر ، و سپس پیام متنی ارسال کنید.

$ sudo nano /usr/local/bin/garage.sh

و موارد زیر را اضافه کنید:

#!/bin/bash

# بررسی کنید درب گاراژ باز است یا خیر. # در صورت باز بودن هشدار ارسال و به syslog ارسال کنید = 0؛ door = $ (/home/pi/wiringPi/gpio/gpio read 3) if ["$ door" -eq "$ up"] then logger ♣ your -hostname ♣: Garage Door بازکردن پژواک "بستن درب گاراژ" | mail -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net خروج fi 0

سپس یک crontab را برای اجرا در ساعات مورد نیاز اضافه کنید:

$ sudo crontab –e

و اضافه کنید:

# شب ، هر ساعت چک کنید درب گاراژ باز است یا خیر

0 22-23/1 * * * sudo /usr/local/bin/garage.sh 0 0-5/1 * * * sudo /usr/local/bin/garage.sh

اگر همه چیز کار می کند ، به مرحله بعدی بروید.

مرحله 12: رزبری پای را در کتاب مخفی قرار دهید

رزبری پای را در کتاب مخفی قرار دهید
رزبری پای را در کتاب مخفی قرار دهید
رزبری پای را در کتاب مخفی قرار دهید
رزبری پای را در کتاب مخفی قرار دهید

تمشک پی را در یک کتاب مخفی قرار دهید. من این دستگاه را با قیمت حدود 7 دلار در مایکل خریدم. من چند سوراخ کوچک برای سیم و سیم برق بریدم.

مرحله 13: ضمیمه: منابع

SunFounder 2 Channel 5V Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32

  • برد رابط 5V 2 کاناله رله ، و هر کدام به 15-20 میلی آمپر نیاز دارند
  • جریان راننده مجهز به رله جریان بالا ، AC250V 10A ؛ DC30V 10A
  • رابط استاندارد قابل کنترل مستقیم توسط میکروکنترلر (Arduino ، 8051 ، AVR ، PIC ، DSP ، ARM ، ARM ، MSP430 ، منطق TTL)
  • نشانگرهای LED برای وضعیت خروجی رله پیوند بارگیری سند:

مرحله 14: ضمیمه: به روز رسانی

21 فوریه 2016

  • در دستورالعمل های اصلی ، مشکلاتی در مورد تصحیح خودکار ، قالب بندی و وضوح مسیرها وجود داشت.

    • به عنوان مثال ، وقتی نقل قول های دوگانه در کد به چیزی تبدیل می شود که شبیه یک نقل قول دو طرفه است ، تغییر می کند. با این حال ، اگر این را در یک اسکریپت برش و چسباندید کار نمی کند.
    • ویرایشگر قابل آموزش تصحیح خودکار را دوست دارد ، بنابراین wlan به برنامه تبدیل می شود و حرکت خودکار به حذف خودکار تبدیل می شود. تشخیص این تغییرات سخت است.
    • برخی از دستورات من ممکن است به اندازه کافی روشن نبوده باشد.
    • به طور معمول ، من از براکت های زاویه ای به عنوان نشانگر چیزی که نیاز به تعویض دارد استفاده می کنم. ویرایشگر آنها را به html تبدیل می کند. بنابراین ، من به براکت مربع تغییر کردم ، اما اینها می توانند مشکلاتی ایجاد کنند زیرا شبیه کد هستند. بنابراین ، من سرانجام در مورد ♣ ها به عنوان شاخص جایگزینی با مقدار واقعی تصمیم گرفتم.
  • با گذشت زمان ، برخی از اسکریپت ها را نیز بهبود بخشیدم.
  • مراحل ویرایش 21-26

03APR2016

  • ایجاد پیوست با عیب یابی ، مراجع و به روز رسانی (مراحل 27-29)
  • عیب یابی از مرحله 2 قبلی به پیوست منتقل شد
  • صفحه عیب یابی را به روز و الفبا کرد
  • نام فایل از test2wifi.sh به garage.sh تغییر کرد - فقط توصیفی تر.
  • cron برای استفاده از garage.sh به روز شد
  • ویرایش 1 ، 20-26 (ایجاد یک سرویس راه اندازی برای قدم گذاشتن قبل از ضمیمه)

04APR2016

  • مراحل 2-11 و 16-20 را با استاندارد من تنظیم رزبری پای جایگزین کردم
  • لیست قطعات به روز شده ، مرحله 1
  • عکسها اضافه شده/ادغام شده اند

05APR2016

وب سایت و تصویر ساده شده (مراحل 4 و 5)

01 مه 2016

عیب یابی اضافه شده برای سنسور Seco-larm/raspberry Pi

01 مه 2016

ویرایشهای قبلی به درستی ذخیره نشده است؟

11NOV2016

  • به AT&T GigaPower به روز شد و روتر را به 5268ac تغییر داد
  • 5268ac حلقه برگشت را پشتیبانی نمی کند ، بنابراین سرور Garage Opener از رایانه های LAN قابل دسترسی نیست. برای دسترسی MacBook به سرور وب گاراژ بازکن موارد زیر را انجام دهید:

$ sudo nano /etc /host

و خط را اضافه کنید

192.168.1.64 ♣ نام دامنه-خارجی سرور

ذخیره و خروج ، CTRL-o ، CTRL-x

$ sudo killall -HUP mDNSR پاسخگو

  • قوانین انتقال پورت داخلی 5268ac مانند ، سرور HTTPS ، سرور HTTP و وب سرور کار نمی کند. برای دریافت حمل و نقل بندر به محل کار:

    • مرورگری را باز کرده و به قسمت 192.168.1.254 بروید
    • وارد شدن
    • Settings ، Firewall ، Applications ، pinholes و DMZ را انتخاب کنید.
    • سرور وب گاراژ بازکن را انتخاب کنید
    • User-defined را انتخاب کنید
    • روی یک برنامه جدید تعریف شده توسط کاربر کلیک کنید

      • در نام پروفایل برنامه وارد کنید: PortForwarding
      • در ایجاد برنامه تعریف ، هر یک از موارد زیر را اضافه کرده و روی افزودن به لیست کلیک کنید:

        • TCP از 80 تا 80 ، نقشه به پورت میزبان 443
        • TCP از 443 تا 443 نقشه برای میزبانی پورت 443
        • UDP از 443 تا 443 ، نقشه را به پورت 443 میزبان نشان دهید
        • UDP از 80 تا 80 ، نقشه را روی پورت 443 میزبانی کنید
    • به عقب کلیک کنید
    • سرور وب خود را دوباره انتخاب کنید
    • User-defined را انتخاب کنید
    • PortForwarding را اضافه کنید
    • روی ذخیره کلیک کنید

21 ژانویه 2018

  • به رزبری پای 3 به روز شد
  • چندین ویرایش در مراحل
  • برخی از قطعات و قیمت ها به روز شده است

مرحله 15: ضمیمه: عیب یابی

فضای دیسک استفاده شده است

خط آخر کل فضای دیسک مورد استفاده را نشان می دهد. کارت SD دارای 8 گیگابایت است.

سی دی $../..

$ sudo du –hx –c

پست الکترونیک

اگر مشکلی دارید ، این را امتحان کنید:

$ echo "test" | sendmail -v ouryour-gmail-account♣@gmail.com

اگر ایمیل به درستی تنظیم شده است ، باید یک ایمیل در حساب gmail خود دریافت کنید.

اگر با خطای احراز هویت مواجه شدید:

ممکن است لازم باشد امنیت حساب خود را کاهش دهید. با این حال ، کاهش امنیت توصیه نمی شود. Google ایمیلی با پیوندی برای تنظیمات امنیتی پایین تر ارسال می کند.

برای دسترسی به حساب خود از www.gmail.com استفاده کنید (توصیه می شود) یا از تنظیمات خود در https://www.google.com/settings/security/lesssecu… استفاده کنید تا حساب شما دیگر نباشد با استانداردهای امنیتی مدرن محافظت می شود.

کاهش استانداردهای امنیتی را توصیه نمی کنم.

در صورت عدم موفقیت در مجوز:

محتمل ترین دلیل این امر این است که شما نام کاربری یا گذرواژه اشتباه را برای حساب جیمیل خود در فایل /etc/ssmtp/ssmtp.conf تعیین کرده اید. مقادیر فیلدهای AuthUser و AuthPass را دوبار بررسی کنید.

اگر ارتباط شما در میانه پردازش قطع شد:

به احتمال زیاد شما پورت اشتباهی برای smtp Google در جایی در /etc/ssmtp/ssmtp.conf یا در/etc/ssmtp/revaliases مشخص کرده اید.

آخرین خطوط گزارشات خود را بررسی کنید. باید برخی از پیامهای خطای مربوطه در آنجا وجود داشته باشد:

$ tail /var/log/mail.log

$ tail/var/log/syslog

درب گاراژ باز نمی شود

اگر همه چیز در حال کار بود و فقط متوقف شد ، دوباره راه اندازی مجدد را امتحان کنید. اگر این کار نمی کند ، سیم برق را از Raspberry Pi بکشید و سپس برق را بازیابی کنید. رزبری پای باید در کمتر از 2 دقیقه راه اندازی مجدد شود و همه چیز باید خوب کار کند. این به طور کلی در اثر از دست دادن قدرت در دروازه مسکونی ایجاد می شود.

GPIO

اگر مشکلی پیش آمد ، بهترین راه برای دیدن آنچه در حال رخ دادن است با دستور زیر است:

$ gpio readall

از مک بوک به Raspberry Pi وارد شوید

ترمینال یک ابزار MacBook است: دیسک/برنامه ها/خدمات/ترمینال. من برنامه ترمینال را در حوض نگه می دارم.

در MacBook ، ترمینال را باز کنید

$ ssh pi@♣ raspberry-pi-ip

♣ رمز عبور

ورود به درگاه مسکونی

در MacBook ، مرورگر را باز کنید

URL = ♣ raspberry-pi-ip

ورود: ♣ gateway-password

سیاهههای مربوط

اگر مشکلی پیش آمد ، این گزارش ها را برای خطاها ، هشدارها یا سایر مسائل بررسی کنید.

$ cat/var/log/messages

$ cat/var/log/syslog $ cat/var/log/dmesg

فهرست MAC

فهرست در MacBook که فایلهای وب سایت در آن ذخیره می شوند

دایرکتوری MAC =/کاربران/mac من مک بوک ♣/دسکتاپ/wi-fi خانه فعال/wifi فعال گاراژ درب بازکن/وب سایت

کلمه عبور

رمز عبور = password raspberry-pi-password

RAM و CPU استفاده شده است

$ بالا

CTRL-c برای خروج

فهرست خانگی رزبری پای

$ pwd

/home/pi

نام میزبان رزبری پای

$ hostname

نام میزبان = name نام میزبان

IP رزبری پای

♣ raspberry-pi-ip ♣ = 192.168.1.93

راهنمای وب سایت رزبری پای

/var/www

Seco-larm کار خود را متوقف می کند

در 01MAY2016 ، Seco-larm کار خود را متوقف کرد. این سومین باری است که سنسور از کار می افتد. برای بیان صحیح این ، پین فیزیکی 15 روی رزبری پای تشخیص ورودی 3.3 ولت را متوقف کرد. پین های فیزیکی 3.3 ولت 1 و 17 را امتحان کردم و هر دو هنوز 3.3 ولت خروجی داشتند. من از پین فیزیکی 15 به GPIO دیگر ، پین فیزیکی 16 (GPIO 4) تغییر کردم و دوباره شروع به کار کرد. بنابراین ، هیچ مشکلی در Seco-larm وجود ندارد. به نظر می رسد مشکل از Raspberry Pi GPIO باشد.

GPIO 3 ، پین فیزیکی 15 مرده است. این یک پست بسیار خوب در مورد نحوه تست پین های GPIO است.

من از GPIO 3 به GPIO 4 تغییر کردم و بر این اساس کد را تغییر دادم. من مطمئن نیستم که چرا پین GPIO کار نکرد. در اینجا دو دلیل احتمالی وجود دارد:

  • من سنسور Seco-larm را نصب کرده ام بنابراین وقتی در بسته می شود 3.3 ولت خروجی می دهد. درب گاراژ بیشتر از آنکه باز باشد بسته می شود. شاید ، پین GPIO نمی تواند ورودی کم و بیش ثابت 3.3 ولت را دریافت کند.
  • این خرابی همزمان با از دست دادن قدرت بود ، شاید جهش برق وجود داشت.

دروازه مسکونی U-vers

من AT & T U-Ayes with a Residential Gateway دارم ، اما هر خدمتی باید کار کند.

اگر U-vers Gateway راه اندازی مجدد شود یا قدرت خود را از دست بدهد ، ممکن است Raspberry Pi نیاز به راه اندازی مجدد داشته باشد.

دروازه مسکونی U-Ay IP عمومی = ♣ router-public-ip

IP عمومی دروازه مسکونی U-vers می تواند تغییر کند ، اما این امر بسیار نادر است

صفحه اصلی دروازه مسکونی U-vers = 192.168.1.254

U-vers Router نقطه دسترسی بی سیم SSID = ♣ ssid

سرعت وای فای کندتر از حد انتظار است

روتر را به یک کانال کمتر استفاده شده تغییر دهید. به طور پیش فرض ، همه ارائه دهندگان مدار وای فای همه را به کانال 1 تنظیم می کنند. به یک کانال کمتر استفاده شده مانند 11 تغییر دهید. سعی کنید از یک عدد فرد استفاده کنید.

توجه: من به چند همسایه گفتم که برای بهبود wi-fi چه کار کردم و اکنون همه در 9 یا 11 هستند ، بنابراین من به 1 برگشتم. شما همیشه باید از یک کانال فرد استفاده کنید.

مرورگر را باز کنید.

برای U-Ayet ، 192.168.1.254 را در کادر URL وارد کنید.

روی پیوند بی سیم کلیک کنید و کانال 6 یا 11 را انتخاب کنید.

برنامه ای برای تلفن های هوشمند به نام wifi analyzer وجود دارد. یکی از نمایشگرها تمام نقاط دسترسی وای فای مجاور را نشان می دهد که در یک کانال خاص پخش می شوند. در همسایگی من ، همه به کانال 1 تنظیم شده اند.

رزبری پای را از برق بکشید و سپس برق را بازیابی کنید

توصیه شده: