Мазмұны:

Raspberry Pi 3 гараж есігі: 15 қадам (суреттермен)
Raspberry Pi 3 гараж есігі: 15 қадам (суреттермен)

Бейне: Raspberry Pi 3 гараж есігі: 15 қадам (суреттермен)

Бейне: Raspberry Pi 3 гараж есігі: 15 қадам (суреттермен)
Бейне: ПОЧЕМУ Я ЖДУ L4D3 2024, Шілде
Anonim
Raspberry Pi 3 гараж есігін ашатын құрал
Raspberry Pi 3 гараж есігін ашатын құрал

Мен бұл нұсқаулықты 2014 жылы жасадым. Содан бері көп нәрсе өзгерді. 2021 жылы мен мұнда ақылды гараж есігін аштым.

Гараж есігін ашу, жабу және бақылау үшін Raspberry Pi мен смартфонды пайдаланыңыз. Есікті ашу мен жабу отбасының ұялы телефондарына орнатылған қол қойылған куәліктерді қолдану арқылы қамтамасыз етіледі. Егер гараж есігі ашылмайтын кезде ашық болса, ұялы телефонға мәтіндік хабарлама (SMS) жіберіңіз.

Гараж есігі 2014 жылдың аяғынан бастап үздіксіз қолданылып келеді. Осы жылдар ішінде мен өзгерістерді жаңартуға тырыстым. Нұсқаулыққа енгізілген өзгерістерді сипаттайтын қосымша бар.

Бұл жобаның мақсаттары:

  • Менің бірінші нұсқаулығымды жасаңыз - мен бұны жариялауды жоспарламадым, бірақ маған көптеген өтініштер келді
  • Стандартты пульті бар гараж есігін ашыңыз
  • Гараждың есігін қабырғаға орнатылған есік қоңырауымен ашыңыз
  • SmartPhone көмегімен гараж есігін ашыңыз
  • Гараж есігінің күйін ұялы телефон немесе ноутбук арқылы қашықтан бақылаңыз (ол ашық немесе жабық па?)
  • Есік жабық кезде ашық болса, ұялы телефоныма мәтіндік хабарлама жіберіңіз
  • Гараж есігін қауіпсіз ұстаңыз (мысалы, қуат жоғалған кезде есік ашылмауы керек)
  • Ешкімге есікті ашуға рұқсат бермеңіз (екі жақты SSL сертификаты)
  • Сымды қосылудың орнына WiFi пайдаланыңыз
  • Raspberry Pi 3 пайдаланыңыз

Бұл гараж есігін ашудың негізі квартариандық нұсқаулықтан: Raspberry Pi гараж есігін ашудан алынды. Бастапқыда мен B+ Raspberry Pi моделін қолдандым, содан кейін Raspberry Pi 2 B моделіне көштім, енді ол Raspberry Pi 3 қолданады.

Мен Raspberry Pi -мен сөйлесу үшін MacBook қолдандым, бірақ кез келген компьютерді қолдануға болады.

Бұл құрылғыны жасауға ешқандай себеп жоқ, бірақ бұл қызықты болды. Біреуін сатып алу тиімдірек. Ұқсас құрылғыны шамамен 130 долларға сатып алуға болады.

  • Көтеру шебері 828 лм
  • Чемберлен MyQ $ 129
  • GoGo Gate 179 доллар
  • Шебер 100 доллар

Ескертулер:

  • Күректермен жабылған мәтін, мысалы, ауыстыру-бұл нақты мәнмен ауыстырылуы керек
  • Ардуино асты сызылған көк мәтін - сілтеме. Бұл жағдайда бұл гараж есігін ашудың arduino нұсқасына сілтеме.
  • Мен қолданылған барлық дереккөздерді несиеге алуға тырыстым. Кез келген кемшіліктер үшін кешірім сұраймын. Бұл құжаттың көпшілігі басқа адамдардың жұмысына негізделген.
  • $ MacBook -те терминал терезесінде орындалатын және әдетте Raspberry Pi -де орындалатын команданы көрсетеді

1 -қадам: Бөлшектерді жинау

Бөлшектер мен құралдарды сатып алыңыз немесе жинаңыз (бағасы АҚШ долларында).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • Amazon -дан 5.2V 2.5A USB қуат адаптері $ 9.99
  • Micro USB -ден USB кабеліне 6 фут Amazon -дан 7.99 доллар
  • Амазонкадан 6,99 доллар
  • SanDisk Ultra 16 ГБ microSDHC 10-адаптері бар адаптері бар (SDSQUAN-016G-G4A) Amazon-дан 8.99 доллар
  • SunFounder 2 арналы 5V 5D релелік қалқан модулі Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
  • 3x әйелдер мен әйелдердің секіргіш сымдары. Fry's -те 4,95 долларға сатып алынды.
  • Динамикалық DNS 30 $ үшін жылына $ 40 (dyn.com)
  • 1-топ 18 куб. in. Ескі жұмыс ауыр қабырға қосқышы мен розетка, $ 3.12
  • Ultra Pro бір щеткалы ақ қабырға плитасы, $ 7.88
  • SECO-LARM SM 226L, гараж есігінің сенсоры, бағасы әр түрлі, Amazon-да $ 9.99 тегін жеткізіліммен.
  • 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 өшіру -h 0

Өшіргеннен кейін алып тастаңыз

  • Ethernet кабелі
  • USB сериялық кабелі

Бұларға бұдан былай қажет болмайды. Raspberry Pi -де пәрмендерді іске қосу үшін wifi, ssh және Mac Book -тағы терминал терезесін пайдаланыңыз.

Қуат көзін ажыратып, қуатты қайта қосыңыз, содан кейін таңқурай pi қайта жүктелуі керек.

3 -қадам: Wiring Pi, Apache және PHP орнатыңыз

Wiring Pi орнатыңыз

Mac Book -та терминал терезесін ашыңыз. Raspberry Pi -ге кіріңіз, содан кейін Wiring Pi -ді жүктеңіз, құрастырыңыз және орнатыңыз. Бұл бағдарлама GPIO түйреуіштерін басқаруға мүмкіндік береді. Міне, қадамдық нұсқаулық:

wiringpi.com/download-and-install/

Міне нұсқаулықтың қысқартылған нұсқасы:

$ ssh pi@♣ таңқурай-pi-ip ♣

пароль: ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull $./build

Орнатуды тексеру үшін gpio пәрменін іске қосыңыз:

$ gpio -v

gpio нұсқасы: 2.29 Copyright (c) 2012-2015 Гордон Хендерсон Бұл мүлде КЕПІЛДІК жоқ ақысыз бағдарламалық қамтамасыз ету. Мәліметтер түрі үшін: gpio -кепілдік Raspberry Pi Толығырақ: Түрі: Модель 2, Нұсқасы: 1.1, Жад: 1024МБ, Жасаушы: Sony [OV] Құрылғы ағашы қосылған. Бұл Raspberry Pi пайдаланушы деңгейіндегі GPIO қатынасын қолдайды. -> Толығырақ ақпарат алу үшін адам бетін қараңыз $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Аты | Режим | V | Физикалық | V | Режим | Аты | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3.3в | | | 1 || 2 | | | 5в | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5В | | | | 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.3в | | | 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 жолағына мынаны енгізіңіз:

(Таңқурай-pi-ip)

Apache әдепкі веб -сайты «Бұл жұмыс істейді!» Деп жауап береді.

4 -қадам: веб -сайт

Mac Book -та терминал терезесін ашыңыз. Raspberry Pi -ге кіріңіз, содан кейін әдепкі index.html файлын жойыңыз, веб -сайт каталогындағы рұқсаттарды өзгертіңіз және index.php деп аталатын файлды өңдеңіз.

$ ssh pi@♣ таңқурай-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 «

«;} басқа {echo»

"; } ?>

Гараж есігін ашатын құрал Гараж есігін ашуға арналған нұсқаулық жабық 1 ашық 0
<? php if ($ trigger == 0) {echo «<td colspan = \» 4 / «} басқа {echo»

var13 ->

Файлды жазу үшін CTRL-o және ENTER, ал редактордан шығу үшін CTRL-x.

Файлдағы рұқсаттарды өзгертіңіз

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

5 -қадам: веб -сайттың суреті

Веб -сайттың суреті
Веб -сайттың суреті
Веб -сайттың суреті
Веб -сайттың суреті

Интернеттен жоғары ажыратымдылықтағы гараж есігін ашыңыз. Mac бояу щеткасын пайдаланып суретті өзгертіңіз. Жоғарыдағы суретте жоғары ажыратымдылықтағы Genie Garage Opener қолданылды, таңқурай pi логотипі қосылды және светодиод алынып тасталды.

Бір сурет-фон (remote-background.jpg), ал екіншісі-белсенді сурет (remote-press.jpg).

Жоспар - бұл түймені басқанда, светодиодты жыпылықтаудың орнына таңқурай жыпылықтайды. Мен сайтты жеңілдеттім.

Таңқурайға суреттерді көшіріңіз:

$ scp *-j.webp

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

Веб -сайтта бір ғана түйме бар. Тексеру үшін браузерді ашып, asp raspberry-pi-ip enter енгізіңіз. Apache әдепкі веб -сайтында «Бұл жұмыс істейді!» Деп жазылған орнына, түйме пайда болуы керек. Оны басыңыз.

6 -қадам: Веб -серверді қашықтан басқару

Гараж есігін ашуға қашықтан кіруді жеңілдету үшін мен динамикалық DNS атауын қолданамын. Мен IP -адрестерді есте сақтауды ұнатпаймын.

Бұл мүмкіндіктің арқасында мен шолғыштың URL өрісіне ♣ динамикалық хост атауы ♣.getmyip.com енгіземін. Ескерту: Үй маршрутизаторларындағы IP ескертусіз өзгеруі мүмкін, бірақ бұл сирек кездеседі. Мен DynDNS қолдануды таңдадым. Маршрутизатордың жалпыға ортақ IP мекенжайын білу қажет.

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

Сіз хост атауларын және DynDNS Pro есептік жазбасының мәліметтерін көре аласыз. Міне, бастау үшін бірнеше кеңестер:

  • Динамикалық DNS хост атауын жасаңыз (1 /30):

    • (Динамикалық хост атауы)
    • Жаңартқыш кілті: динамикалық-ip-жаңартушы-кілт
  • Сіздің хост атыңыз әрқашан дұрыс IP мекенжайы көрсетілгеніне көз жеткізу үшін жаңарту клиентін орнатыңыз.

    • MacBook -қа жүктеңіз және орнатыңыз
    • AT&T U-аятындағы IP мекен-жайлары сирек өзгереді, сондықтан жаңартқышты ол өзгерген сайын іске қосуға болады
    • Нұсқауларды орындаңыз:

      • Аккаунт қосу
      • Пайдаланушы аты мен құпия сөзді енгізіңіз: ♣ динамикалық-ip-пайдаланушы аты ♣ ♣ динамикалық-ip-пароль ♣
      • Хост атауын таңдаңыз
      • Таңдалған хосттарды конфигурациялау түймешігін басыңыз
      • Хост белсенді болуы керек
    • Құрылғыңызға Интернеттен кіруге рұқсат беру үшін желіні конфигурациялаңыз. Сіз мұны қалай жасауға болатыны туралы жалпы нұсқаулар алу үшін біздің Dyn Wizard бағдарламасын қолдана аласыз, PortForward.com сияқты ресурстарды қолдана аласыз немесе көмек алу үшін құрылғы өндірушісімен хабарласа аласыз.

      • AT&T U-аяты
      • 2-Wire 3801HGV үшін порт жіберу-бұл менде бар AT&T U-Verse маршрутизаторы. AT&T U-аят 5268ac маршрутизаторында қалай жіберу керектігін Қосымшадағы Жаңартуларды қараңыз.
      • Браузерді ашып, asp raspberry-pi-ip to өтіңіз
      • Құпия сөз: құпия сөз ♣
      • Параметрлер
      • Брандмауэр

        • ♣ raspberry-pi-hostname Choose таңдаңыз
        • Серверлер

          • Веб -сервер порты 80
          • HTTPS сервері - 443 порт
        • Қосу
      • Сақтау

Бұл орындалғаннан кейін веб -сервер интернеттен жұмыс істейді. Тексеру үшін ♣ dynamic-hostname enter енгізіңіз, сіз гараж есігін ашу түймесін көресіз.

7 -қадам: Raspberry Pi -ге схеманы қосыңыз

Raspberry Pi схемасын қосыңыз
Raspberry Pi схемасын қосыңыз

Берілген код үшін (4 және 6 -қадам) мен GPIO -пин 7 -ді қолдандым. Бұл кездейсоқтық, GPIO 7 сымның 7 -ші PIN кодымен сәйкес келеді. PHP кодында сымның PIN -сандарының нөмірлері қолданылады, ал GPIO -ның PIN -сандары емес. Сіз қалағанның бірін қолдана аласыз, бірақ кодты өзгертіңіз.

Мен бұралған сымды қолдануға тырыстым, бірақ реле бұралған сымды жақсы ұстамайды. Қатты сым жақсы.

Бірінші әрекетте мен үш қосқыш кабель жасадым (әйелден еркекке).

  • Үш аналықтан әйелге секіргіш кабельдерді қолданыңыз
  • Қатты сымның үш бөлігін шамамен 1 дюймге дейін кесіңіз.

    Қатты сымның екі ұшына 1/4ин жолағын салыңыз

  • Бір тұтас сымды бір әйел секіргіш кабеліне салыңыз.

Байланыстырушы кабельдерді құрудың жақсы әдісі (әйелден еркекке):

  • Тек қатты сымды қолданыңыз
  • Қатты сымның 4 дана үш бөлігін кесіңіз
  • Қатты сымның екі ұшына 1/4ин жолағын салыңыз
  • Әйелдерге арналған түйреуіштерді қолданыңыз

    • Қатты сым мен қысқыштың бір ұшына бір әйел байланыстырушы түйреуішті салыңыз

      Аналық түйреуіш бос болмауы керек, қажет болса дәнекерлеу

    • Аналық байланыстырушы түйреуішке немесе электрик таспасы бар қапсырма түйреуішке кернеуді төмендету

Эстафетаны диаграммада көрсетілгендей pi -ге қосыңыз:

  • Кабельдің аналық ұшын Raspberry Pi түйреуішіне қосыңыз.
  • Реледегі қатты сымды салыңыз.

8 -қадам: Іске қосу қызметін жасаңыз

Реленің көпшілігі, соның ішінде сатып алынған, келесідей жұмыс істейді:

  • Сигнал қосулы кезде тізбек өшеді.
  • Сигнал ӨШІРІЛСЕ, тізбек қосылады.

Егер Raspberry Pi қуатын жоғалтса, реледе қорғаныс механизмі бар, ол тізбекті ӨШІРІП тұрады.

Rapberry Pi мен реле қуатты қалпына келтіргенде мәселе туындауы мүмкін, бірақ Raspberry Pi жүктеуді аяқтамай тұрып, сигналды қосу үшін, бұл тізбекті өшіру үшін қажет. Сіз таңертең гаражыңыз ашық және бірнеше жаңа достарыңызбен ояна аласыз!

Дегенмен, реле GPIO pin режимі осы пәрмен арқылы орнатылмайынша іске қосылмайды: gpio 7 режимі. Сонымен қатар, егер сіз GPIO режимін орнатпас бұрын GPIO PIN кодын ON (gpio write 7 1) күйіне қойсаңыз, инициализацияланған кезде реле өшеді.

Бұл инициализацияны жүктеу кезінде іске қосу және жаңа достармен оянбау үшін келесі іске қосу сценарийін қолданыңыз.

$ ssh pi@♣ таңқурай-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Содан кейін мына сценарийді қойыңыз:

#! /bin/bash

# /etc/init.d/garagerelay # «$ 1» жүйелік корпусы сұраған кезде белгілі бір функцияларды орындаңыз) эхо «Іске қосу релесі» # 7 қосу, ол релені өшіреді/usr/local/bin/gpio write 7 1 #Start Gpio/usr/local/bin/gpio mode 7 out;; тоқтату) жаңғырық «Stoping gpio»;; *) жаңғырық «Қолдану: /etc/init.d/garagerelay {бастау | тоқтату}» шығу 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 -қадам: Raspberry Pi -ді гаражға бекітіңіз

Raspberry Pi -ді гаражға бекітіңіз
Raspberry Pi -ді гаражға бекітіңіз

Raspberry Pi жылжытқанда, міндетті түрде жүгіріңіз:

$ өшіру -с 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 дюймдік алшақтық бар. Менің ойымша, бұл жерде жылу мен салқындату құбырлары өтеді. Маған екінші қабаттан және есік қоңырауы салынған жоғарғы 2х4 (үстіңгі тақтай) арқылы өту үшін жеткілікті ұзақ бұрғылау қондырғысы қажет болды.

Ең маңызды бөлігі - шатырдан гараж есігінің саңылауына дейін сымдар өтетін жерге бұрғылау кезінде - электр қуатын бұрғылау. Мұны түзету қызықты болмады. Шамдарды көру және шамдарды өшіру өте қызықты болды!

Сенсорға екі қатты термостат сымы немесе ит көрінбейтін қоршау сымы қажет.

Raspberry Pi бірнеше түйреуіш сипаттамаларына ие (BCM, wPi, физикалық). Код сымның pin сандарын қолданады. Барлық түйреуіштерді, түйреуіштер мен түйреуіштердің мәндерін көру үшін мыналарды енгізіңіз:

$ gpio оқу

Gpio нұсқаулығын алу үшін мынаны енгізіңіз:

$ gpio адам

Түпнұсқалық нұсқаулықта физикалық түйреуіш 9 жерге қосылған және SECO-LARM сымдарының біріне қосылады. Алайда, бұл мен үшін жұмыс істемейді. Оның орнына сымдарды 15 және 17 физикалық түйреуіштерге қосыңыз

SECO-LARM сенсоры жабылған кезде физикалық түйреуіш 15 (wPi түйреуіші 3) 3,3В дейін өтеді. Физикалық түйреуіш 17 - 3,3В. Егер ол жұмыс істемесе, 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 жаңартуы

Қарапайым SSMTP және пошта утилиталарын орнатыңыз:

$ sudo apt-get ssmtp орнатыңыз

$ sudo apt-get mailutils орнатыңыз

SSMTP конфигурация файлын өңдеңіз:

$ sudo nano /etc/ssmtp/ssmtp.conf

келесідей:

mailhub = smtp.gmail.com: 587 хост атауы = ♣ сіздің хост атауы ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = mail gmail-пароль ♣ UseSTARTTLS = ИӘ

SSMTP бүркеншік ат файлын өңдеңіз:

$ sudo nano/etc/ssmtp/revaliases

Әр пайдаланушыға электрондық поштаны жібере алатын бір жолды жасаңыз. Мысалға:

түбір: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587

SSMTP конфигурация файлының рұқсаттарын орнатыңыз:

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

/Etc/ssmtp/ssmtp.conf файлының рұқсаттары Raspberry Pi -ден электрондық хаттарды кім жібере алатынын анықтайды. Әдепкі бойынша бұл файл пайдаланушы түбіріне тиесілі және файл тобы да түбірлік болып табылады.

Электрондық пошта тіркелгілері туралы деректерді қамтитын SSMTP бүркеншік ат файлын өңдеңіз:

$ sudo nano /etc/ssmtp/ssmtp.conf

Жоғарыда көрсетілген орнату мен конфигурация процесі аяқталғаннан кейін, оны пәрмен жолынан электрондық пошта жіберу арқылы тексеріңіз.

$ echo «гараж есігін жабыңыз» | «Гараж есігі ашық» поштасы ♣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»], онда тіркеуші ♣ your -hostname ♣: Garage Door Open echo «гараж есігін жабу» | «Гараж есігі ашық» поштасы ♣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

  • 5В 2-арналы реле интерфейс тақтасы және әрқайсысына 15-20мА қажет
  • Жүргізуші ток AC250V 10A жоғары ток релесімен жабдықталған; DC30V 10А
  • Микроконтроллермен тікелей басқарылатын стандартты интерфейс (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL логикасы)
  • Релелік шығыс күйі үшін көрсеткіш шамдары Құжатты жүктеу сілтемесі:

14 -қадам: Қосымша: Жаңартулар

21 ақпан 2016 ж

  • Бастапқы нұсқаулықтарда автоматты түрде түзетуге, пішімдеуге және бағыттардың анықтығына қатысты мәселелер болды.

    • Мысал мәселесі - кодтағы қос тырнақшалар курсивті қос тырнаққа ұқсайтын нәрсеге өзгергенде. Алайда, егер сіз оны сценарийге қиып қойсаңыз, ол жұмыс істемейді.
    • Нұсқаулық редактор автоматты түрде түзетуді ұнатады, сондықтан wlan жоспарға ауысады, ал автоматты түрде жою автоматты түрде жоюға ауысады. Бұл өзгерістерді байқау қиын.
    • Менің кейбір бағыттарым жеткілікті түсініксіз болуы мүмкін.
    • Әдетте мен бұрыштық жақшаларды индикатор ретінде ауыстыруды қажет ететін нәрсе ретінде қолданамын. Редактор оларды html -ге түрлендіреді. Осылайша, мен жақшаның жақшасына ауыстым, бірақ олар кодқа ұқсайтындықтан проблемалар тудыруы мүмкін. Сонымен, мен ақырында ♣ -ны нақты мәнмен алмастыратын индикатор ретінде шештім.
  • Уақыт өте келе мен кейбір сценарийлерді жетілдірдім.
  • 21-26 қадамдар өңделді

03 САУЫР 2016 ж

  • Ақаулықтарды жою, сілтемелер мен жаңартулары бар қосымша жасалды (27-29 қадамдар)
  • Бұрынғы 2 -қадамнан ақауларды жою Қосымшаға ауыстырылды
  • Ақаулықтарды жою беті жаңартылды және алфавиттелді
  • Test2wifi.sh -тен garage.sh -ке файл атауы өзгертілді - жай ғана сипаттама.
  • Garage.sh пайдалану үшін cron жаңартылды
  • 1, 20-26 өңделген (Қосымшаға дейін қадам жасау үшін іске қосу қызметін жасаңыз)

04САУЫР 2016 ж

  • 2-11 және 16-20 қадамдарын менің стандартпен ауыстырдым, бұл Raspberry Pi орнату болды
  • Бөлшектер тізімі жаңартылды, 1 -қадам
  • Фотосуреттер қосылды/біріктірілді

05 ҚАЗАН 2016 ж

Жеңілдетілген веб -сайт пен сурет (4 және 5 -қадамдар)

01 мамыр 2016 ж

Seco-larm/raspberry Pi сенсорының ақаулықтарын жою қосылды

01 мамыр 2016 ж

Алдыңғы түзетулер дұрыс сақталмады ма?

11 қараша 2016 ж

  • AT&T GigaPower -ге жаңартылды және маршрутизаторды 5268ac -қа өзгертті
  • 5268ac кері циклды қолдамайды, сондықтан Garage Opener сервері жергілікті компьютерлерден қол жетімді емес. 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 портының хост картасы
        • 443 -тен 443 -ке дейінгі TCP 443 -ші порттың картасы
        • UDP 443 -тен 443 -ке дейін, 443 -ші порттың картасы
        • UDP 80 -ден 80 -ге дейін, 443 портының хост картасы
    • Артқа басыңыз
    • Веб -серверді қайта таңдаңыз
    • Пайдаланушы анықтаған таңдаңыз
    • PortForwarding қосыңыз
    • Сақтау түймешігін басыңыз

21 ҚАНТ 2018 ж

  • Raspberry Pi 3 жаңартылды
  • Қадамдарға бірнеше түзетулер
  • Кейбір бөлшектер мен бағалар жаңартылды

15 -қадам: Қосымша: Ақаулықтарды жою

Қолданылатын дискілік кеңістік

Соңғы жолда пайдаланылған дискінің жалпы көлемі көрсетіледі. SD картасында 8 ГБ бар.

$ cd../..

$ sudo du –hx –c

электрондық пошта

Егер сізде проблемалар болса, келесі әрекеттерді орындап көріңіз:

$ echo «тест» | sendmail -v ouryour-gmail-account♣@gmail.com

Егер электрондық пошта дұрыс орнатылған болса, онда сіз өзіңіздің gmail есептік жазбаңызға электрондық хат алуыңыз керек.

Егер аутентификация сәтсіздікке ұшыраса:

Есептік жазбаңыздың қауіпсіздігін төмендету қажет болуы мүмкін. Алайда қауіпсіздікті төмендету ұсынылмайды. Google қауіпсіздік параметрлерін төмендетуге сілтемесі бар электрондық поштаны жібереді.

Сіз өзіңіздің есептік жазбаңызға кіру үшін www.gmail.com пайдалану үшін ағымдағы электрондық поштаны оқу құралынан ауыса аласыз (ұсынылады) немесе https://www.google.com/settings/security/lesssecu… сілтемесінде параметрлерді өзгертуге болады, осылайша сіздің есептік жазбаңыз енді болмайды. заманауи қауіпсіздік стандарттарымен қорғалған.

Мен қауіпсіздік стандарттарын төмендетуді ұсынбаймын.

Егер авторизация сәтсіздікке ұшыраса:

Мұның ең ықтимал себебі - /etc/ssmtp/ssmtp.conf файлында Gmail тіркелгісі үшін қате пайдаланушы аты немесе құпия сөзді көрсеткеніңіз. AuthUser және AuthPass өрістерінің мәндерін екі рет тексеріңіз.

Егер өңдеудің ортасында байланыс үзілсе:

Google smtp үшін /etc/ssmtp/ssmtp.conf немесе/etc/ssmtp/revaliases ішіндегі қате портты көрсеткен боларсыз.

Журналдардың соңғы жолдарын тексеріңіз. Онда кейбір қате туралы хабарлар болуы керек:

$ tail /var/log/mail.log

$ tail/var/log/syslog

Гараж есігі ашылмайды

Егер бәрі жұмыс істеп тұрса және ол тоқтап қалса, қайта іске қосып көріңіз. Егер бұл көмектеспесе, қуат сымын Raspberry Pi -ден алыңыз, содан кейін қуатты қалпына келтіріңіз. Raspberry Pi 2 минуттан аз уақыт ішінде қайта жүктелуі керек және бәрі жақсы жұмыс істеуі керек. Бұл әдетте тұрғын үй шлюзінің қуатының жоғалуына байланысты.

GPIO

Егер бірдеңе дұрыс болмаса, онда не болып жатқанын көрудің ең жақсы жолы - келесі пәрмен:

$ gpio оқу

MacBook -тен таңқурай пи -ге кіріңіз

Терминал - бұл MacBook утилитасы: диск/қосымшалар/утилиталар/терминал. Мен терминалды қосымшаны докта сақтаймын.

MacBook -те терминалды ашыңыз

$ ssh pi@♣ таңқурай-pi-ip ♣

♣ пароль ♣

Тұрғын үй шлюзіне кіріңіз

MacBook -те шолғышты ашыңыз

URL = ♣ таңқурай-pi-ip ♣

Кіру: ♣ шлюз-пароль ♣

Журналдар

Егер бірдеңе дұрыс болмаса, қателерді, ескертулерді немесе басқа мәселелерді тексеру үшін осы журналдарды тексеріңіз.

$ cat/var/log/messages

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

MAC каталогы

Веб -сайт файлдары сақталатын MacBook каталогы

MAC каталогы =/Пайдаланушылар/♣ менің macbook ♣/Жұмыс үстелі/wi-fi қосылған үй/wifi қосылған гараж есігі/веб-сайт

Құпия сөз

Құпия сөз = ♣ таңқурай-pi-пароль ♣

ЖЖҚ мен процессор қолданылады

$ жоғары

Шығу үшін CTRL-c

Raspberry Pi үй каталогы

$ pwd

/үй/пи

Raspberry Pi хост атауы

$ хост атауы

хост атауы = ♣ хост атауы ♣

Raspberry Pi IP

♣ таңқурай-pi-ip ♣ = 192.168.1.93

Raspberry Pi веб -сайттарының анықтамалығы

/var/www

Seco-larm жұмысын тоқтатады

2016 жылдың 1 мамырында Seco-larm жұмысын тоқтатты. Бұл сенсор үшінші рет жұмысын тоқтатты. Мұны дұрыс айту үшін Raspberry Pi -дегі 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-аятындағы тұрғын үй шлюзі

Менде тұрғын үй шлюзі бар AT&T U-аяты бар, бірақ кез келген қызмет жұмыс істеуі керек.

Егер U-шлюз шлюзі қайта іске қосылса немесе қуаты жоғалса, Raspberry Pi қайта жүктелуі қажет болуы мүмкін.

Тұрғын үй шлюзі Жалпыға ортақ IP = ♣ router-public-ip ♣

U-аятындағы тұрғын үй шлюзінің жалпыға ортақ IP мекен-жайы өзгеруі мүмкін, бірақ өте сирек

U-аят тұрғын үй шлюзінің басты беті = 192.168.1.254

U-аят маршрутизаторы сымсыз кіру нүктесінің SSID = ♣ ssid ♣

WiFi өткізу қабілеттілігі күткеннен баяу

Маршрутизаторды аз пайдаланылатын арнаға өзгертіңіз. Әдепкі бойынша, барлық провайдерлер барлығының Wi -Fi желісін 1 -арнаға реттейді. 11 сияқты аз қолданылатын арнаға өзгертіңіз. Тақ санды қолдануға тырысыңыз.

Ескерту: Мен көршілерге Wi-Fi-ды жақсарту үшін не істегенімді айттым, қазір барлығы 9 немесе 11-де, сондықтан мен 1-ге көштім. Сіз әрқашан тақ арнаны пайдалануыңыз керек.

Браузерді ашыңыз.

U-тармақ үшін URL жолағына 192.168.1.254 енгізіңіз.

Сымсыз сілтемені нұқыңыз және 6 немесе 11 арнаны таңдаңыз.

Wi -Fi анализаторы деп аталатын смартфонға арналған қосымша бар. Дисплейлердің бірінде белгілі бір арнада таратылатын жақын маңдағы Wi -Fi кіру нүктелері көрсетіледі. Менің маңымда барлығы 1 -арнаға орнатылған.

Raspberry Pi ажыратыңыз, содан кейін қуатты қалпына келтіріңіз

Ұсынылған: