Съдържание:

Отваряне на гаражни врати Raspberry Pi 3: 15 стъпки (със снимки)
Отваряне на гаражни врати Raspberry Pi 3: 15 стъпки (със снимки)

Видео: Отваряне на гаражни врати Raspberry Pi 3: 15 стъпки (със снимки)

Видео: Отваряне на гаражни врати Raspberry Pi 3: 15 стъпки (със снимки)
Видео: 16 ошибок штукатурки стен. 2024, Юли
Anonim
Отваряне на гаражни врати Raspberry Pi 3
Отваряне на гаражни врати Raspberry Pi 3

Създадох тази инструкция през 2014 г. Оттогава много се промени. През 2021 г. актуализирах интелигентната отварачка за гаражни врати тук.

Използвайте Raspberry Pi и смартфон за отваряне, затваряне и наблюдение на гаражна врата. Отварянето и затварянето на вратата се осигурява с помощта на самоподписани сертификати, инсталирани на мобилните телефони на семейството. Ако вратата на гаража е отворена, когато не трябва, изпратете текстово съобщение (SMS) на мобилен телефон.

Гаражната врата се използва непрекъснато от края на 2014 г. През годините се опитах да актуализирам промените. Има приложение, описващо промените в инструкциите.

Целите на този проект са:

  • Направете първата си инструкция - не планирах да публикувам това, но получих много искания
  • Отворете гаражна врата със стандартно дистанционно
  • Отворете гаражна врата с отваряща се гаражна отваряща врата за стена
  • Отворете гаражна врата с SmartPhone
  • Следете състоянието на гаражната врата дистанционно чрез мобилен телефон или лаптоп (отворена или затворена?)
  • Изпратете текстово съобщение до мобилния ми телефон, ако вратата е отворена, когато трябва да се затвори
  • Пазете вратата на гаража сигурно (например при загуба на захранване, вратата не трябва да се отваря)
  • Не позволявайте на никой друг в мрежата да отваря вратата (двупосочен самоподписан SSL сертификат)
  • Използвайте WiFi вместо кабелна връзка
  • Използвайте Raspberry Pi 3

Основата за това внедряване на отваряне на гаражни врати е получена от Instructable: Raspberry Pi Отваряне на гаражни врати от квартал. Първоначално използвах модел B+ Raspberry Pi, след това преминах към Raspberry Pi 2 модел B, а сега използва Raspberry Pi 3.

Използвах MacBook за комуникация с Raspberry Pi, но може да се използва всеки компютър.

Няма убедителна причина за изграждането на това устройство, но беше забавно. По -рентабилно е да си купите такъв. Подобно устройство може да бъде закупено за около $ 130 USD.

  • Повдигащ майстор 828LM
  • Чембърлейн MyQ $ 129
  • GoGo Gate $ 179
  • Занаятчия $ 100

Бележки:

  • Текст, ограден с пики, като този ♣ замени-това ♣ трябва да бъде заменен с действителна стойност
  • Подчертаният син текст на Arduino е връзка. В този случай това е връзка към arduino версия на отварачка за гаражни врати.
  • Опитах се да кредитирам всеки използван източник. Извинявам се за пропуските. По -голямата част от този документ се основава на работата на други хора.
  • $ показва команда, изпълнявана в терминален прозорец на MacBook и обикновено се изпълнява на Raspberry Pi

Стъпка 1: Съберете части

Купете или съберете части и инструменти (цени в щатски долари).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • 5.2V 2.5A USB захранващ адаптер от Amazon $ 9.99
  • Micro USB към USB кабел 6 фута от Amazon $ 7,99
  • Калъф от Amazon $ 6.99
  • SanDisk Ultra 16 GB microSDHC клас 10 с адаптер (SDSQUAN-016G-G4A) от Amazon $ 8,99
  • SunFounder 2 -канален 5V релеен щитов модул за Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 щ.д.
  • 3x женско-женски джъмперни проводници. Купено от Fry's за 4,95 долара.
  • Динамичен DNS $ 40 на година за 30 имена (dyn.com)
  • 1-Gang 18 cu. в. Old Work Heavy Wall Switch и Outlet Box, $ 3.12
  • Бяла стенна плоча Ultra Pro с една четка, $ 7.88
  • SECO-LARM SM 226L, сензор за гаражни врати, цената варира значително, $ 9,99 на Amazon с безплатна доставка
  • 50 фута твърд проводник на термостата, Home Depot или Lowe's, ~ 20 долара

Моето общо: ~ 172,00 $

Имах следните части, инструменти и услуги:

  • CAT5 Ethernet кабел
  • Тел с малък габарит, дълъг 6 фута
  • Отвертка с крестообразна глава
  • Клещи за иглени носове
  • Фрези за кутии
  • Плоска отвертка за бижутери, необходима за разхлабване на винтовете на релето
  • MacBook (може да се използва компютър)
  • AT&T GigaPower (може да се използва всеки доставчик на интернет услуги)

Стъпка 2: Настройка на Raspberry Pi без монитор или клавиатура

Настройка на Raspberry Pi без монитор или клавиатура
Настройка на Raspberry Pi без монитор или клавиатура

Всички проекти на Raspberry Pi изискват някакъв тип настройка. Харесва ми да използвам същия набор от инструкции и, когато е необходимо, да имам едно място за актуализиране на тези инструкции.

Инсталирайте Raspberry Pi, като използвате следните инструкции:

Настройка на Raspberry Pi без монитор или клавиатура

Инструкциите по -горе включват незадължителни стъпки в приложението. Не забравяйте да направите стъпката:

Добавете сертификати от страна на клиента към уеб сървърите

Изключване на Raspberry Pi

$ sudo shutdown -h 0

След изключване, премахнете

  • Ethernet кабел
  • USB сериен кабел

Те вече няма да са необходими. Използвайте wifi, ssh и терминален прозорец на Mac Book, за да изпълнявате команди на Raspberry Pi.

Изключете захранването и включете отново захранването и малиновото пи трябва да се рестартира.

Стъпка 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 wiringPi $ git pull origin $./build

Изпълнете командата gpio, за да проверите инсталацията:

$ gpio -v

gpio версия: 2.29 Copyright (c) 2012-2015 Gordon Henderson Това е безплатен софтуер с АБСОЛЮТНО БЕЗ ГАРАНЦИЯ. За подробности тип: gpio -гаранция Raspberry Pi Подробности: Тип: Модел 2, Ревизия: 1.1, Памет: 1024MB, Производител: Sony [OV] Дървото на устройствата е активирано. Този Raspberry Pi поддържа GPIO достъп на потребителско ниво. -> Вижте страницата за повече информация $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Име | Режим | V | Физически | V | Режим | Име | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | ВЪН | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 1 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| BCM | wPi | Име | Режим | V | Физически | V | Режим | Име | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Горните команди трябва да ви дадат известна увереност, че wiringPi работи добре.

Инсталирайте Apache и PHP

Изпълнете следните команди:

$ cd..

$ sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5

За да проверите дали уеб сървърът работи, отворете браузър и в полето URL въведете:

„Малина-пи-ип“

Уебсайтът по подразбиране на Apache отговаря с „Работи!“

Стъпка 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. На изображението по -горе е използвана отварачка за гаражи с висока разделителна способност, добавено е малиново пи лого и светодиодът е премахнат.

Едното изображение е фонът (remote-background.jpg), а другото е активното изображение (remote-press.jpg).

Планът беше, че при натискане на бутон, вместо да мига светодиода, малината ще мига. Опростих сайта.

Копирайте изображенията в малиновото пи:

$ scp *-j.webp

парола: ♣ парола ♣

Уебсайтът има един бутон за натискане. За да проверите, отворете браузър и въведете ♣ raspberry-pi-ip ♣. Вместо уебсайта по подразбиране на Apache, който казва „Работи!“, Трябва да се появи бутонът. Натиснете го.

Стъпка 6: Дистанционно управление на уеб сървър

За да улесня достъпа до отварачката за гаражни врати от отдалечено място, използвам динамично DNS име. Защото не обичам да си спомням IP адресите.

С тази функция въвеждам „динамично име на хост“.getmyip.com в полето URL на браузър. Забележка: IP на домашните рутери може да се промени без предизвестие, но това се случва рядко. Избрах да използвам DynDNS. Ще трябва да знаете публичния IP адрес на вашия рутер.

U-Verse IP маршрутизатор: ♣ uverse-public-ip ♣

Можете да видите вашите имена на хостове и подробности за акаунта в DynDNS Pro. Ето няколко съвета, за да започнете:

  • Създайте вашето Dynamic DNS име на хост (1 от 30):

    • „Динамично име на хост“
    • Ключ за актуализация: ♣ ключ за динамичен ip-актуализатор ♣
  • Инсталирайте клиент за актуализация, за да сте сигурни, че името на вашия хост винаги е насочено към правилния IP адрес.

    • Изтеглете и инсталирайте на MacBook
    • IP адресите на AT&T U-verse рядко се променят, така че актуализаторът по-горе може да се стартира винаги, когато се промени
    • Следвайте указанията:

      • Добавяне на профил
      • Въведете потребителско име и парола: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
      • Изберете име на хост
      • Щракнете върху Конфигуриране на избрани хостове
      • Хостът трябва да стане активен
    • Конфигурирайте мрежата си, за да разрешите достъп до вашето устройство от интернет. Можете да използвате нашия Dyn Wizard за някои общи инструкции как да направите това, да използвате ресурси като PortForward.com или да се свържете с производителя на устройството за помощ.

      • AT-T U-стих
      • Пренасочване на портове за 2-Wire 3801HGV-това е маршрутизаторът AT&T U-Verse, който имам. Вижте Актуализации в Приложение за това как да пренасяте напред на рутер AT&T U-verse 5268ac.
      • Отворете браузъра и отидете на ♣ raspberry-pi-ip ♣
      • Парола: ♣ парола ♣
      • Настройки
      • Защитна стена

        • Изберете ♣ raspberry-pi-hostname ♣
        • Сървъри

          • Порт на уеб сървър 80
          • HTTPS сървър - порт 443
        • Добавяне
      • Запазване

След като това стане, уеб сървърът ще работи от интернет. За да проверите, въведете „динамично име на хост“и трябва да видите бутона за отваряне на гаражни врати.

Стъпка 7: Свържете веригата към Raspberry Pi

Свържете веригата към Raspberry Pi
Свържете веригата към Raspberry Pi

За предоставения код (стъпки 4 и 6) използвах GPIO пин 7. Съвпадение е, че GPIO 7 е същият като wiringPi pin 7. В PHP кода се използват номера на Pin pin, а НЕ GPIO номера на PIN. Можете да използвате който искате, но не забравяйте да промените кода.

Опитах да използвам усукана жица, но релето не държи добре на усукана жица. Плътният проводник е по -добър.

При първия ми опит създадох три свързващи кабела (женски към мъжки).

  • Използвайте три кабела от женски към женски
  • Нарежете три парчета твърда тел на около 1 инча.

    Лента 1/4in на двата края на плътна жица

  • Поставете един плътен проводник в един женски джъмпер кабел.

Ето един по-добър начин за създаване на свързващи кабели (женски към мъжки):

  • Използвайте само плътна жица
  • Нарежете три 4 -инчови парчета плътна тел
  • Лента 1/4in на двата края на плътна жица
  • Използвайте женски свързващи щифтове

    • Плъзнете един женски свързващ щифт върху единия край на плътна жица и го нагънете

      Женският щифт не трябва да се разхлабва, запоявайте, ако е необходимо

    • Плъзнете облекчението на напрежението върху женския свързващ щифт или щифта на капака с електрическа лента

Свържете релето към pi, както е показано на диаграмата:

  • Свържете женския край на кабела към щифта на Raspberry Pi.
  • Поставете плътен проводник в релето.

Стъпка 8: Създайте стартираща услуга

Повечето релета, включително закупеното, работят по следния начин:

  • Когато сигналът е включен, веригата остава изключена.
  • Когато сигналът е ИЗКЛЮЧЕН, веригата е включена.

Ако Raspberry Pi загуби захранване, релето има предпазен механизъм, който поддържа веригата OFF.

Проблем може да възникне, когато Rapberry Pi и релето се възстановят, но преди Raspberry Pi да завърши зареждането, за да включи сигнала, което е необходимо, за да се изключи веригата. Можете да се събудите сутрин с отворен гараж и потенциално с няколко нови приятели!

Релето обаче всъщност не се инициализира, докато режимът на GPIO пин не бъде зададен чрез тази команда: gpio mode 7 out. Освен това, ако GPIO щифтът е в положение ON (gpio write 7 1), преди да зададете GPIO режим, релето ще остане изключено след инициализиране.

За да направите тази инициализация при стартиране и да не се събуждате с нови приятели, използвайте следния стартиращ скрипт.

$ 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 #Стартирайте режим Gpio/usr/local/bin/gpio 7 изход;; стоп) ехо "Спиране на gpio";; *) echo "Usage: /etc/init.d/garagerelay {start | stop}" exit 1;; esac изход 0

За да запишете: CTRL-o, ENTER

За да излезете от nano, CTRL-x

Направете файла изпълним:

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

Сега кажете на вашия pi да стартира този скрипт при зареждане:

$ sudo update -rc.d -f гаражно реле начало 4

(Забележка: Можете безопасно да игнорирате предупреждението „липсващи LSB тагове“.)

Уверете се, че стартиращият скрипт работи

$ sudo рестартиране

Отворете браузър и кликнете върху отварачката. Релето трябва да щракне.

Стъпка 9: Прикрепете Raspberry Pi към гаража

Прикрепете Raspberry Pi към гаража
Прикрепете Raspberry Pi към гаража

Когато премествате Raspberry Pi, не забравяйте да стартирате:

$ shutdown -h 0

Може да искате да изключите захранването на гаража. Така че отварянето на звънеца на вратата не ви удря с ток:). Истинската причина е всеки път, когато скъсявате проводниците, вратата да се качва нагоре и надолу.

Развийте винтовете за стена от отварящия механизъм за врата, който прикрепя звънеца към стената.

Пробийте дупка от гаража зад отварящата врата до вътрешността на къщата. В Тексас Raspberry Pi не трябва да бъде в гаража, температурните колебания в гаража са извън работните спецификации на Raspberry Pi.

Прокарайте проводниците на релето през отвора (използвайте закачалка).

Разхлабете двата винта от задната страна на ключалката за звънец.

Отстранете двата края на проводниците на релето: 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 мили.

Тази бъркотия ме принуди да променя кода, за да не се случи това, и да добавя сензор и състоянието на гаражната врата към уебсайта.

Това е връзка към оригиналната инструкция за добавяне на сензор. Като се има предвид всичко, което вече е завършено, инсталирането на сензора може да бъде значително опростено и вместо да се използва python, добавете няколко реда код към index.php.

closed

Магнитът е прикрепен към лявата, горната вътрешна страна на гаражната врата, а сензорът е прикрепен към стената на гаража. И така, трябваше да прекарам твърд проводник на термостата от сензора обратно към малиновото пи. Това изискваше дупка от гаража в тавана и от тавана в стената, съдържаща отваряне на гаражните врати (превключвател за звънец).

Вмъкнах синя разклонителна кутия между сензора SECO-LARM и плътните проводници.

В моята къща има 18 инчова междина между тавана на първия етаж и дъното на втория етаж. Предполагам, че тук тръгват отоплителните и охлаждащите канали. Имах нужда от удължаване на свредлото, достатъчно дълго, за да премина през втория етаж и през горния 2x4 (горна плоча), съдържащ звънеца на вратата.

Най -важната част е, когато пробиването от таванското помещение в зоната, където проводниците ще преминават към отварачката за гаражни врати, е НЕ пробиване на електричество. Поправянето на това не беше забавно. Виждането на искрите и гасенето на светлините беше доста вълнуващо!

Сензорът изисква два плътни проводника на термостата или невидим проводник за кучешка ограда.

Raspberry Pi има множество описания на пинове (BCM, wPi, физически). Кодът използва пи пин номера на окабеляването. За да видите всички пинове и картографиране на карти и стойности на щифтове, въведете:

$ gpio readall

За ръководство за gpio въведете:

$ gpio човек

В оригиналните инструкции физическият щифт 9 е заземен и се свързва с един от кабелите SECO-LARM. Това обаче не работи при мен. Вместо това свържете проводниците към физически щифтове 15 и 17

Физически извод 15 (wPi пин 3) преминава към 3.3V, когато сензорът SECO-LARM е затворен. Физическият щифт 17 е 3.3v. Ако не работи, превключете връзките на SECO-LARM.

Прикрепете SECO-LARM към гаражната врата и стената. Пуснете проводници и се свържете с Raspberry Pi.

Стъпка 11: Изпратете предупреждение, ако вратата е отворена, когато трябва да се затвори

Ако вратата на гаража е отворена, когато не трябва, изпратете текстово съобщение на мобилен телефон.

Инсталирайте и конфигурирайте прост SMTP.

Имам AT&T клетъчен и използвам ♣cell-phone-number♣@txt.att.net за текстови съобщения. Имам и акаунт в gmail, а примерът по-долу използва ♣gmail-account♣@gmail.com. Ако използвате различни услуги, направете съответните промени.

За командите $ по -долу отворете терминален прозорец на MacBook и влезте в своя Raspberry Pi.

Уверете се, че хранилищата са актуални:

$ sudo apt-get update

Инсталирайте прости SSMTP и пощенски програми:

$ sudo apt-get install 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 = ♣ gmail-password ♣ UseSTARTTLS = ДА

Редактирайте файла с псевдоними на SSMTP:

$ sudo nano/etc/ssmtp/revaliases

Създайте един ред за всеки потребител, който ще може да изпраща имейли. Например:

root: ♣gmail-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 "затваряне на гаражната врата" | поща -s „Гаражни врати отворени“♣cell-phone-number♣@txt.att.net

Създайте скрипт, за да проверите дали гаражната врата е отворена, когато не трябва, и след това изпратете текстово съобщение.

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

и добавете следното:

#!/bin/bash

# проверете дали гаражната врата е отворена. # Ако е отворен, изпратете предупреждение и напишете в syslog up = 0; door = $ (/home/pi/wiringPi/gpio/gpio read 3) if ["$ door" -eq "$ up"], тогава регистратор ♣ your -hostname ♣: Garage Door Open echo "затваряне на гаражната врата" | поща -s „Гаражни врати отворени“♣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: Поставете Raspberry Pi в Тайната книга

Поставете Raspberry Pi в Тайната книга
Поставете Raspberry Pi в Тайната книга
Поставете Raspberry Pi в Тайната книга
Поставете Raspberry Pi в Тайната книга

Сложете малиновото пи в тайна книга. Взех този при Майкъл за около 7 долара. Изрязах някои малки дупки за проводниците и захранващия кабел.

Стъпка 13: Приложение: Препратки

SunFounder 2 -канален 5V релеен щитов модул за Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-канална релейна интерфейсна платка и всяка от тях се нуждае от 15-20mA
  • Ток на водача Оборудван с високотоково реле, AC250V 10A; DC30V 10A
  • Стандартен интерфейс, който може да се управлява директно от микроконтролер (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL логика)
  • Светодиоди за индикация за състоянието на изхода на релето Връзка за изтегляне на документа:

Стъпка 14: Приложение: Актуализации

21 февруари 2016 г.

  • В първоначалните инструкции имаше проблеми с автоматичното коригиране, форматирането и яснотата на упътванията.

    • Примерен проблем е, когато двойните кавички в кода се променят на нещо, което прилича на удвоени кавички. Ако обаче изрежете и поставите това в скрипт, това няма да работи.
    • Инструктажният редактор обича да се коригира автоматично, така че wlan се обръща към план, а autoremove - към автоматично премахване. Тези промени са трудно забележими.
    • Някои от указанията ми може да не са били достатъчно ясни.
    • Обикновено използвам ъглови скоби като индикатор за нещо, което трябва да се смени. Редакторът ги преобразува в html. Така че, преминах към квадратни скоби, но те могат да причинят проблеми, защото приличат на код. Така че най -накрая се спрях на as като индикатор за замяна с действителна стойност.
  • С течение на времето подобрих и някои скриптове.
  • Редактирани стъпки 21-26

03 АПР 2016 г.

  • Създадено е приложение с отстраняване на проблеми, справки и актуализации (стъпки 27-29)
  • Отстраняването на неизправности е преместено в Приложение от предишната стъпка 2
  • Актуализирана и азбучена страница за отстраняване на неизправности
  • Променено е името на файла от test2wifi.sh на garage.sh - просто по -описателно.
  • Актуализиран cron за използване на garage.sh
  • Редактирано 1, 20-26 (Създайте стартираща услуга, за да стъпите преди приложението)

04 АПР 2016 г.

  • Сменени стъпки 2-11 и 16-20 с моя стандарт бяха за настройка на Raspberry Pi
  • Актуализиран списък с части, стъпка 1
  • Добавени/обединени снимки

05 АПР 2016 г.

Опростен уебсайт и изображение (стъпки 4 и 5)

01 МАЙ 2016 г.

Добавено е отстраняване на неизправности за Seco-larm/малинов Pi сензор

01 Май 2016 г.

Предишните редакции не са запазени правилно?

11NOV2016

  • Актуализиран до AT&T GigaPower и променен рутера на 5268ac
  • 5268ac не поддържа обратна връзка, така че сървърът за отваряне на гаражи не е достъпен от компютри в локалната мрежа. За да има MacBook достъп до уеб сървъра за отваряне на гаражи, направете следното:

$ sudo nano /etc /hosts

и добавете реда

192.168.1.64 „име на външен домейн на сървъра“

Запазване и излизане, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Вградените правила за пренасочване на портове на 5268ac, като например HTTPS сървър, HTTP сървър и уеб сървър не работят. За да задейства пренасочването на портове:

    • Отворете браузър и отидете на 192.168.1.254
    • Влизам
    • Изберете Настройки, Защитна стена, Приложения, дупки и DMZ.
    • Изберете уеб сървъра за отваряне на гаражи
    • Изберете Дефиниран от потребителя
    • Щракнете върху ново дефинирано от потребителя приложение

      • В Име на профил на приложение въведете: PortForwarding
      • В Създаване на дефиниция на приложение добавете всяко от следните и щракнете върху Добавяне към списъка:

        • TCP от 80 до 80, карта към хост порт 443
        • TCP от 443 до 443 карта до хост порт 443
        • UDP от 443 до 443, карта към хост порт 443
        • UDP от 80 до 80, карта към хост порт 443
    • Щракнете назад
    • Изберете отново вашия уеб сървър
    • Изберете Дефиниран от потребителя
    • Добавете PortForwarding
    • Щракнете върху Запазване

21 ЯНВУ 2018 г.

  • Актуализирано до Raspberry Pi 3
  • Няколко редакции на стъпки
  • Актуализирани са някои части и цени

Стъпка 15: Приложение: Отстраняване на неизправности

Използвано дисково пространство

Последният ред показва общото използвано дисково пространство. SD картата има 8GB.

$ cd../..

$ sudo du –hx –c

електронна поща

Ако имате проблеми, опитайте следното:

$ echo "тест" | sendmail -v ♣your-gmail-account♣@gmail.com

Ако имейлът е настроен правилно, тогава трябва да получите имейл в профила си в Gmail.

Ако получите неуспешно удостоверяване:

Може да се наложи да намалите защитата на акаунта си. Обаче намаляването на сигурността НЕ се препоръчва. Google ще изпрати имейл с връзка към по -ниски настройки за сигурност.

Можете да превключите от текущия си четец на имейли, за да използвате www.gmail.com за достъп до вашия акаунт (препоръчително) или да промените настройките си на адрес https://www.google.com/settings/security/lesssecu…, така че профилът ви вече да не е защитени от съвременните стандарти за сигурност.

Не препоръчвам намаляване на вашите стандарти за сигурност.

Ако получите неуспешно разрешаване:

Най -вероятната причина за това е, че сте посочили грешно потребителско име или парола за вашия gmail акаунт във файла /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 и след това възстановете захранването. Raspberry Pi трябва да се рестартира за по -малко от 2 минути и всичко трябва да работи добре. Това обикновено се причинява от загуба на захранване на Residential Gateway.

GPIO

Ако нещо се обърка, тогава най -добрият начин да видите какво се случва е със следната команда:

$ gpio readall

Влезте в малиново пи от MacBook

терминалът е помощна програма за MacBook: диск/приложения/помощни програми/терминал. Държа терминалното приложение в дока.

На MacBook отворете терминала

$ ssh pi@♣ raspberry-pi-ip ♣

„Парола“

Влезте в жилищен шлюз

На MacBook отворете браузъра

URL = ♣ raspberry-pi-ip ♣

Вход: ♣ шлюз-парола ♣

Дневници

Ако нещо се обърка, проверете тези регистрационни файлове за грешки, предупреждения или други проблеми.

$ cat/var/log/messages

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

MAC директория

Директория на MacBook, където се съхраняват файлове на уебсайтове

MAC Directory =/Потребители/♣ моя macbook ♣/Desktop/wi-fi активиран дом/wifi активираща врата за гаражни врати/уебсайт

Парола

Password = ♣ raspberry-pi-password ♣

Използвани RAM и процесор

$ отгоре

CTRL-c за изход

Домашна директория на Raspberry Pi

$ pwd

/home/pi

Име на хост на Raspberry Pi

$ име на хост

hostname = ♣ име на хост ♣

Raspberry Pi IP

♣ малина-пи-ип ♣ = 192.168.1.93

Указател на уебсайтове на Raspberry Pi

/var/www

Seco-larm спира да работи

На 01 Май 2016 г. Seco-larm спря да работи. Това е третият път, когато сензорът спира да работи. За да се каже това правилно, физическият щифт 15 на Raspberry Pi спря да открива входа 3.3v. Опитах 3.3v физически пинове 1 и 17 и двете все още извеждаха 3.3v. Преминах от физически щифт 15 към друг GPIO, физически пин 16 (GPIO 4) и той започна да работи отново. Така че, няма нищо лошо в Seco-larm. Проблемът изглежда е с Raspberry Pi GPIO.

GPIO 3, физическият щифт 15 е мъртъв. Това е много добър пост за това как да тествате GPIO щифтове.

Преминах от GPIO 3 на GPIO 4 и промених кода съответно. Не съм сигурен защо GPIO щифтът спря да работи. Ето две възможни причини:

  • Имам монтиран сензор Seco-larm, така че когато вратата е затворена, той извежда 3.3v. Гаражната врата се затваря по -често, отколкото е отворена. Може би GPIO щифтът не може да приеме повече или по-малко постоянен вход от 3.3v.
  • Неизправността съвпадна със загуба на мощност, може би е имало скок на захранването.

U-verse Residential Gateway

Имам AT&T U-verse с Residential Gateway, но всяка услуга трябва да работи.

Ако U-verse Gateway се рестартира или загуби захранване, може да се наложи рестартиране на Raspberry Pi.

U-verse жилищен шлюз Public IP = ♣ router's-public-ip ♣

Публичният IP адрес на жилищен шлюз U-verse може да се промени, но това се случва много рядко

U-verse Residential Gateway Начална страница = 192.168.1.254

SSID = ♣ ssid ♣ на безжичната точка за достъп на маршрутизатора U-verse

Пропускането на WiFi е по -бавно от очакваното

Променете рутера на по -малко използван канал. По подразбиране всички доставчици на вериги настройват wifi на всеки към канал 1. Преминете към по -малко използван канал, като например 11. Опитайте се да използвате нечетно число.

Забележка: Казах на няколко съседи какво направих, за да подобря wi-fi и сега всички са на 9 или 11, затова се върнах на 1. Винаги трябва да използвате нечетен канал.

Отворете браузър.

За U-verse въведете 192.168.1.254 в полето URL.

Щракнете върху Безжична връзка и изберете канал 6 или 11.

Има приложение за смарт телефон, наречено wifi анализатор. Един от дисплеите показва всички близки точки за достъп до wifi, излъчващи се по определен канал. В моя квартал всички са настроени на канал 1.

Изключете Raspberry Pi и след това възстановете захранването

Препоръчано: