Мазмуну:

Raspberry Pi 3 гараждын эшиги: 15 кадам (сүрөттөр менен)
Raspberry Pi 3 гараждын эшиги: 15 кадам (сүрөттөр менен)

Video: Raspberry Pi 3 гараждын эшиги: 15 кадам (сүрөттөр менен)

Video: Raspberry Pi 3 гараждын эшиги: 15 кадам (сүрөттөр менен)
Video: ДЕМОНЫ ОНИ ЗДЕСЬ В ЭТОМ СТРАШНОМ ДОМЕ / DEMONS THEY ARE HERE IN THIS TERRIBLE HOUSE 2024, Июль
Anonim
Raspberry Pi 3 гараждын эшиги
Raspberry Pi 3 гараждын эшиги

Мен муну 2014 -жылы жараткам. Андан бери көп нерсе өзгөрдү. 2021 -жылы мен бул жерде Smart Garage Door Openerди жаңырттым.

Гараждын эшигин ачуу, жабуу жана көзөмөлдөө үчүн Raspberry Pi жана смартфонду колдонуңуз. Эшикти ачуу жана жабуу үй-бүлөнүн уюлдук телефондоруна орнотулган өздүк күбөлүктөрдү колдонуу менен камсыздалат. Эгерде гараждын эшиги ачык болбогондо, уюлдук телефонго SMS (SMS) жөнөтүңүз.

Гараждын эшиги 2014 -жылдын аягынан бери үзгүлтүксүз колдонулуп келе жатат. Көп жылдар бою мен өзгөрүүлөрдү жаңыртып турууга аракет кылдым. Нускоочуга өзгөртүүлөрдү сүрөттөгөн тиркеме бар.

Бул долбоордун максаттары:

  • Менин биринчи үйрөткүчүм болсун - мен муну жазууну пландаштырган эмесмин, бирок мага көптөгөн сурамдар келип түшкөн
  • Стандарттык пульт менен гараждын эшигин ачыңыз
  • Дубалга орнотулган коңгуроо гараждын ачкычы менен гараждын эшигин ачыңыз
  • SmartPhone менен гараждын эшигин ачыңыз
  • Гараждын эшигинин абалын уюлдук телефон же ноутбук аркылуу алыстан көзөмөлдөңүз (ал ачык же жабыкпы?)
  • Жабуу керек болгондо эшик ачык болсо, чөнтөк телефонума смс билдирүү жөнөтүңүз
  • Гараждын эшигин коопсуз кармаңыз (мисалы, электр энергиясын жоготкондо, эшик ачылбашы керек)
  • Эшикти ачууга башка эч кимге жол бербеңиз (эки тараптуу SSL тастыктамасы)
  • Зымдуу туташуунун ордуна WiFi колдонуңуз
  • Raspberry Pi 3 колдонуңуз

Бул Гараж Эшик Ачкычын ишке ашыруу үчүн негиз инструктаждан алынган: Raspberry Pi Garage Door Opener quararian. Башында мен B+ Raspberry Pi моделин колдондум, андан кийин Raspberry Pi 2 модели Bге көчтүм, эми ал Raspberry Pi 3 колдонот.

Мен Raspberry Pi менен баарлашуу үчүн MacBook колдончумун, бирок каалаган компьютерди колдонсо болот.

Бул аппаратты курууга эч кандай олуттуу себеп жок, бирок бул кызыктуу болду. Аны сатып алуу экономикалык жактан эффективдүү. Окшош аппаратты болжол менен 130 долларга сатып алууга болот.

  • Лифт мастери 828LM
  • Чемберлен MyQ $ 129
  • GoGo дарбазасы $ 179
  • Кол өнөрчү $ 100

Эскертүүлөр:

  • Дөңгөч менен жабылган текст, мисалы, алмаштыруу-бул an чыныгы мааниге алмаштырылышы керек
  • Ардуинонун астын сызган көк текст - бул шилтеме. Бул учурда, бул гараж эшик ачкычынын arduino версиясына шилтеме.
  • Мен колдонулган бардык булактарды насыялоого аракет кылдым. Ар кандай кемчиликтер үчүн кечирим сурайм. Бул документтин көбү башка адамдардын эмгегине негизделген.
  • $ MacBookтун терминалдык терезесинде аткарылган буйрукту билдирет жана адатта Raspberry Piде аткарылат

1 -кадам: Бөлүктөрдү чогултуу

Бөлүктөрдү жана шаймандарды сатып алыңыз же чогултуп алыңыз (баасы АКШ долларында).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • 5.2V 2.5A USB Power адаптери Amazon $ 9.99
  • Микро USBден USB кабелине 6 фут Amazon 7,99 доллардан
  • Амазонкадан келген иш $ 6.99
  • SanDisk Ultra 16 GB microSDHC Class 10 адаптер менен (SDSQUAN-016G-G4A) Amazon $ 8.99
  • SunFounder 2 Channel 5V Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
  • 3x Аял-Аял Jumper Wires. Fry's компаниясында 4,95 долларга сатылды.
  • Динамикалык DNS 30 $ үчүн жылына 30 (dyn.com)
  • 1-Gang 18 cu. жылы. Эски Иш Heavy Wall которуу жана розетка кутусу, $ 3.12
  • Ultra Pro Single Brush White Wall Plate, $ 7.88
  • SECO-LARM SM 226L, Garage Door Sensor, баасы көп өзгөрөт, бекер жеткирүү менен Amazon боюнча $ 9.99
  • 50ft Катуу термостат зымы, Home Depot же Lowe's, ~ $ 20

Менин жалпы суммам: ~ $ 172.00

Менде төмөнкү бөлүктөр, куралдар жана кызматтар болгон:

  • CAT5 Ethernet кабели
  • Чакан өлчөөчү зым, узундугу 6 фут
  • Филлипс бурагыч
  • Ийнелердин кычкачтары
  • Куту кескичтер
  • Зергерлер реледеги бурамаларды бошотуш үчүн тегиз баштуу бурагыч
  • MacBook (PC колдонсо болот)
  • 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тагы терминалдык терезени колдонуңуз.

Электр кубатын өчүрүп, кайра туташтырыңыз, ошондо малина пи кайра жүктөлүшү керек.

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, Эстутуму: 1024MB, Жаратуучусу: Sony [OV] Аспап дарагы иштетилген. Бул Raspberry Pi колдонуучу деңгээлиндеги GPIO мүмкүнчүлүгүн колдойт. -> Көбүрөөк маалымат алуу үчүн адам баракчасын караңыз $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Аты | Mode | V | Физикалык | V | Mode | Аты | 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 | OUT | 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 | Аты | Mode | V | Физикалык | V | Mode | Аты | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Жогорудагы буйруктар wiringPi жакшы иштеп жатканына бир аз ишеним бериши керек.

Apache жана PHP орнотуу

Төмөнкү буйруктарды аткарыңыз:

$ cd..

$ sudo apt-get update $ sudo apt-get 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 колдонулган, малина пи логотиби кошулган жана алып салынган.

Бир сүрөт-фон (remote-background.jpg), экинчиси-активдүү сүрөт (remote-press.jpg).

План кнопканы басканда, светодиоддун көзүн ирмебестен, малина көзүн ирмеп турган. Мен веб -сайтты жөнөкөйлөштүрдүм.

Сүрөттөрдү малина пи -ге көчүрүү:

$ scp *-j.webp

пароль: ♣ сырсөз ♣

Веб -сайтта бир эле баскыч бар. Ырастоо үчүн, браузерди ачып, asp raspberry-pi-ip enter киргизиңиз. "Бул иштейт!" Деп жазылган Apacheтин демейки веб -сайтынын ордуна, баскыч пайда болушу керек. Аны басыңыз.

6 -кадам: Алыстан башкаруу Webserver

Гараж эшик ачкычына алыскы жерден кирүүнү оңой кылуу үчүн, мен динамикалык DNS атын колдоном. Анткени мен IP даректерди эстегенди жактырбайм.

Бул өзгөчөлүк менен, мен браузердин URL талаасына ♣ dynamic-hostname ♣.getmyip.com киргизем. Эскертүү: Үй роутерлериндеги IP эскертүүсүз өзгөрүшү мүмкүн, бирок бул сейрек кездешет. Мен DynDNSти колдонууну чечтим. Сиз роутериңиздин ачык IP дарегин билишиңиз керек.

U-Verse Router IP: ♣ 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 өтүңүз
      • Сырсөз: ♣ сырсөз ♣
      • Орнотуулар
      • Firewall

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

          • Веб -сервер порту 80
          • HTTPS Server - порт 443
        • Кошуу
      • Сактоо

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

7 -кадам: Raspberry Pi үчүн Circuit зым

Raspberry Pi үчүн Circuit зым
Raspberry Pi үчүн Circuit зым

Берилген код үчүн (4 жана 6 -кадам) мен GPIO пин 7 колдондум. Бул GPIO 7 wiringPi pin 7 менен бирдей экени кокустук. PHP кодунда зым Pi пин сандары колдонулат жана GPIO пин сандары ЭМЕС. Сиз каалаганын колдонсоңуз болот, бирок кодду өзгөртүүнү унутпаңыз.

Мен буралган зымды колдонууга аракет кылдым, бирок реле ийилген зымга жакшы кармабайт. Катуу зым жакшы.

Биринчи аракетимде мен үч туташтыруучу кабелди (аялдан эркекке) түздүм.

  • Үч аялдан аялга секирүүчү кабелдерди колдонуңуз
  • Катуу зымдын үч бөлүгүн болжол менен 1ин.

    Катуу зымдын эки учунда 1/4ин тилкеси

  • Бир катуу зымды бир аял секирүүчү кабелине салыңыз.

Бул жерде туташтыруучу кабелдерди түзүүнүн жакшы жолу (аялдан эркекке):

  • Бир гана катуу зымды колдонуңуз
  • Катуу зымдын 4 4ин кесиниз
  • Катуу зымдын эки учунда 1/4ин тилкеси
  • Аялдардын туташтыргычтарын колдонуңуз

    • Катуу зымдын бир четине бир ургаачы туташтыргычты жылдырыңыз

      Ургаачы пин бошоп кетпеши керек, эгер керек болсо

    • Электр лентасы менен ургаачы туташтыргычтын же капкактын пининин үстүнөн түшүрүү

Реледи диаграммада көрсөтүлгөндөй пи менен өткөрүңүз:

  • Кабелдин аялдык учун Raspberry Pi пинине туташтырыңыз.
  • Релейге катуу зым салыңыз.

8 -кадам: Баштоо кызматын түзүңүз

Көпчүлүк реле, анын ичинде сатып алынган, мындай иштейт:

  • Сигнал КҮЙГҮН болгондо, схема өчүп калат.
  • Сигнал ӨЧҮК болгондо, чынжыр күйгүзүлөт.

Эгерде Raspberry Pi күчүн жоготсо, реле коопсуздукту коргоочу механизмге ээ, ал схеманы ӨЧҮРҮП коет.

Рапберри Пи жана реле кубаттуулукту калыбына келтиргенде көйгөй жаралышы мүмкүн, бирок Raspberry Pi жүктөлүп бүтө электе, сигналды күйгүзүү үчүн, схеманы өчүрүү керек. Сиз эртең менен гаражыңыз ачык жана бир нече жаңы досторуңуз менен ойгоно аласыз!

Бирок, реле GPIO пин режими бул буйрук аркылуу коюлганга чейин иш жүзүндө башталбайт: gpio mode 7 out. Андан тышкары, эгер GPIO режимин коюудан мурун GPIO PIN'и ON (gpio 7 1) деп коюлса, реле инициализацияланганда өчүп калат.

Бул инициализацияны жүктөөдө иштетүү жана жаңы досторду ойготпоо үчүн, төмөнкү баштоо скриптин колдонуңуз.

$ ssh pi@♣ малина-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Андан кийин бул скриптти чаптаңыз:

#! /bin/bash

# /etc/init.d/garagerelay # "$ 1" тутуму тарабынан башталганда белгилүү функцияларды аткарыңыз) echo "Starting Relay" # 7 Turn on offlay off/usr/local/bin/gpio write 7 1 #Start Gpio/usr/local/bin/gpio mode 7 out;; токтотуу) echo "Stoping gpio";; *) echo "Useage: /etc/init.d/garagerelay {start | stop}" чыгуу 1;; esac чыгуу 0

Сактоо үчүн: CTRL-o, ENTER

Нанодон чыгуу үчүн CTRL-x

Файлды аткарылуучу кылыңыз:

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

Эми бул скриптти жүктөөдө иштетүү үчүн пиңизге айтыңыз:

$ sudo update -rc.d -f garagerelay баштоо 4

(Эскертүү: "LSB тегдери жок" деген эскертүүнү этибарга албай койсоңуз болот.)

Баштоо скриптинин иштеп жаткандыгын текшериңиз

$ sudo кайра жүктөө

Браузерди ачыңыз жана ачкычты чыкылдатыңыз. Реле басуу керек.

9 -кадам: Гаражга Raspberry Pi тиркеңиз

Гаражга Raspberry Pi тиркеңиз
Гаражга Raspberry Pi тиркеңиз

Raspberry Pi жылдырылганда, чуркаганыңызды унутпаңыз:

$ shutdown -h 0

Сиз гараждын кубатын өчүргүңүз келиши мүмкүн. Демек, эшиктин коңгуроосу сизди электрошок кылбайт:). Чыныгы себеп - зымдарды кыскарткан сайын, эшик өйдө -ылдый түшөт.

Эшиктин коңгуроосун дубалга бекитүүчү эшиктин коңгуроосунан дубалдын бурамаларын чечиңиз.

Эшиктин коңгуроосунун артындагы гараждан үйдүн ичине тешик жасаңыз. Техаста Raspberry Pi гаражда болбошу керек, гараждагы температуранын өзгөрүшү Raspberry Piнин иштөө шарттарына карама -каршы келет.

Реле зымдарын тешиктен өткөрүңүз (пальто илгичти колдонуңуз).

Эшик коңгуроосунун арт жагындагы эки бураманы бошотуңуз.

Релелик зымдардын эки учун сыйрып алыңыз: 1) реле тараптын болжол менен 1/8 дюйму, жана коңгуроо тарабында ½ дюймдай. Зымдын эшигинин коңгуроосун арткы бураманын тегерегине туура келгидей чоң кылып жарым укурукка бүгүңүз.

Эшиктин арт жагындагы ар бир бурамага бир релелик зымды туташтырып, бураманы бекемдеңиз. Байланыштар сүрөттө көрсөтүлгөндөй. Реле чынжырды изоляциялагандыктан, кайсы реле кайсы бурамага бекитилгени маанилүү эмес.

10-кадам: SECO-LARMге Raspberry Pi тиркеңиз

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 pin 3) SECO-LARM сенсору жабылганда 3.3Vга барат. Физикалык пин 17 3.3v болуп саналат. Эгерде ал иштебесе, анда SECO-LARMдеги туташууларды которуңуз.

Гараждын эшигине жана дубалына SECO-LARM тиркеңиз. Зымдарды иштетип, Raspberry Pi менен туташыңыз.

11 -кадам: Эшик жабык болгондо ачык болсо, эскертүү жөнөтүңүз

Эгерде гараждын эшиги ачык болбогондо, уюлдук телефонго SMS жөнөтүңүз.

Жөнөкөй 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 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 = mail gmail-password ♣ UseSTARTTLS = YES

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 "гараждын эшигин жабуу" | почталар "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"] анда logger ♣ your -hostname ♣: Garage Door Open echo "гараждын эшигин жабуу" | почталар "Гараждын эшиги ачык" ♣cell-phone-number♣@txt.att.net fi exit 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 Channel 5V Relay Shield Module for Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-Channel Relay интерфейс тактасы, жана ар бирине 15-20мА керек
  • Айдоочу Учурдагы жогорку ток релеси менен жабдылган, AC250V 10A; DC30V 10A
  • Стандарттык интерфейс, аны микроконтроллер түз башкара алат (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL логикасы)
  • Реленин чыгуу абалынын көрсөткүчтөрү LED'лери Документти жүктөө үчүн шилтеме:

14 -кадам: Тиркеме: Жаңыртуулар

21FEB2016

  • Түпнуска көрсөтмөлөрдө авто-тууралоо, форматтоо жана багыттардын тактыгы боюнча маселелер болгон.

    • Мисалы, коддун ичиндеги эки тырмакча курсивдүү кош тырмакчага окшош болуп өзгөргөндө. Бирок, эгерде сиз муну сценарийге чаптап койсоңуз, ал иштебейт.
    • Көрсөтмөлүү редактор автотүзөтүүнү жакшы көрөт, андыктан wlan планга, ал эми автоматтык түрдө өчүрүү автоматтык түрдө өчүрүүгө айланат. Бул өзгөрүүлөрдү байкоо кыйын.
    • Менин кээ бир багыттарым жетиштүү түшүнүксүз болушу мүмкүн.
    • Адатта, мен бурчтук кашаанын ордуна керектүү нерсенин көрсөткүчү катары колдоном. Редактор буларды htmlге айландырат. Ошентип, мен төрт бурчтуу кашааларга которулдум, бирок алар кодго окшош болгондуктан көйгөйлөрдү жаратышы мүмкүн. Ошентип, мен акыры чыныгы нарк менен алмаштыруунун көрсөткүчү катары ♣ларга жайгаштым.
  • Убакыттын өтүшү менен мен сценарийлердин айрымдарын жакшырттым.
  • Түзөтүлгөн кадамдар 21-26

03APR2016

  • Көйгөйлөрдү чечүү, Шилтемелер жана Жаңыртуулар менен Тиркеме түзүлдү (27-29-кадамдар)
  • Мурунку 2 -кадамдан Көйгөйлөрдү чечүү Тиркемени көздөй жылдырылды
  • Мүчүлүштүктөрдү оңдоо баракчасы жаңыртылды жана алфавитке киргизилди
  • Файлдын аталышы test2wifi.shтан garage.shке өзгөрдү - жөн гана сүрөттөмө.
  • Garage.sh колдонуу үчүн cron жаңыртылды
  • Түзөтүлгөн 1, 20-26 (Тиркемеге чейин кадам таштоо үчүн стартап кызматын түзүңүз)

04APR2016

  • Менин стандартым менен 2-11 жана 16-20 кадамдарды алмаштырдым, Raspberry Pi орнотуу
  • Бөлүктөрдүн тизмеси жаңыртылды, 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 /hosts

жана сапты кошуу

192.168.1.64 (сервердин-тышкы-домендик аты)

Сактоо жана чыгуу, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • 5268ac портуна багыттоо эрежелери, HTTPS сервер, HTTP Server жана Web Server иштебейт. Портту кайра багыттоо үчүн:

    • Браузерди ачып, 192.168.1.254 өтүңүз
    • Кирүү
    • Орнотууларды, Firewall, Колдонмолорду, тешикчелерди жана DMZди тандаңыз.
    • Гаражды ачуучу веб -серверди тандаңыз
    • Колдонуучу тарабынан аныкталганды тандаңыз
    • Жаңы колдонуучу аныктаган колдонмону чыкылдатыңыз

      • Колдонмо профилинин атына төмөнкүлөрдү киргизиңиз: PortForwarding
      • Колдонмо аныктамасын түзүү бөлүмүндө төмөнкүлөрдүн ар бирин кошуп, Тизмеге кошууну чыкылдатыңыз:

        • TCP 80ден 80ге чейин, 443 портуна карта
        • 443төн 443кө чейинки TCP 443 портун кабыл алуу үчүн
        • UDP 443төн 443кө чейин, 443 портуна карта
        • UDP 80ден 80ге чейин, 443 портуна карта
    • Артка басыңыз
    • Веб -сервериңизди кайра тандаңыз
    • Колдонуучу тарабынан аныкталганды тандаңыз
    • PortForwarding кошуу
    • Сактоо дегенди басыңыз

21JAN2018

  • Raspberry Pi 3ке жаңыртылды
  • Кадамдарга бир нече түзөтүүлөр
  • Кээ бир тетиктер жана баалар жаңыртылды

15 -кадам: Тиркеме: Мүчүлүштүктөрдү оңдоо

Колдонулган диск мейкиндиги

Акыркы сап колдонулган диск мейкиндигин көрсөтөт. SD картада 8 ГБ бар.

$ cd../..

$ 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 файлында 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 readall

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 Directory =/Колдонуучулар/♣ менин macbook ♣/Иш столум/wi-fi иштетилген үй/wifi иштетилген гараждын эшигин ачуучу/вебсайт

Купуя сөз

Сырсөз = ♣ raspberry-pi-password ♣

RAM жана CPU колдонулат

$ top

Чыгуу үчүн CTRL-c

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

$ pwd

/үй/пи

Raspberry Pi хосттун аты

$ хосттун аты

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

Raspberry Pi IP

♣ малина-pi-ip ♣ = 192.168.1.93

Raspberry Pi веб -сайтынын каталогу

/var/www

Секо-ларм иштебей калат

01MAY2016-жылы Seco-larm иштебей калды. Бул сенсор үчүнчү жолу иштебей калды. Муну туура айтуу үчүн, Raspberry Piдеги физикалык пин 15 3.3v кирүүсүн аныктоону токтотту. Мен 3.3v физикалык 1 жана 17 пиндерди сынап көрдүм, экөө тең 3.3v чыгарышты. Мен физикалык пин 15тен башка GPIOго, физикалык пин 16га (GPIO 4) которулдум жана ал кайрадан иштей баштады. Демек, секо-лармда эч кандай жамандык жок. Көйгөй Raspberry Pi GPIO менен окшойт.

GPIO 3, физикалык пин 15 өлгөн. Бул GPIO төөнөгүчтөрүн кантип сыноо керектиги жөнүндө абдан жакшы билдирүү.

Мен GPIO 3төн GPIO 4кө которулуп, ошого жараша кодду өзгөрттүм. GPIO пин эмне үчүн иштебей калганын билбейм. Бул жерде эки мүмкүн болгон себептер бар:

  • Менде Seco-larm сенсору орнотулган, ошондуктан эшик жабылганда 3.3v чыгат. Гараждын эшиги ачык болгондон кийин көбүрөөк жабылат. Балким, GPIO пин 3.3v аздыр-көптүр туруктуу киргизүүнү ала албайт.
  • Ийгиликсиздик электр энергиясынын жоголушу менен дал келди, балким, электр кубаты көтөрүлдү.

U-аят турак жай шлюзу

Менде AT&T U-аяты бар, үйдүн шлюзи бар, бирок кандайдыр бир кызмат иштеши керек.

Эгерде U-аят шлюзу кайра жүктөлсө же күчүн жоготсо, Raspberry Pi кайра жүктөлүшү керек болушу мүмкүн.

U-аят турак дарбазасы Public IP = ♣ роутер-public-ip ♣

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

U-аят Туристтик Gateway Башкы бет = 192.168.1.254

U-аят Router зымсыз кирүү чекитинин SSID = ♣ ssid ♣

WiFi өткөрүү күтүүгө караганда жайыраак

Роутерди азыраак колдонулган каналга алмаштырыңыз. Демейки боюнча, бардык райондук провайдерлер баардык Wi -Fiны 1 -каналга тууралашат. Аз колдонулган каналга, мисалы, 11. Так санды колдонууга аракет кылыңыз.

Эскертүү: Мен бир нече кошуналарга wi-fi жакшыртуу үчүн эмне кылганымды айттым, азыр бардыгы 9 же 11де, ошондуктан мен кайра 1ге көчтүм. Сиз дайыма так канал колдонушуңуз керек.

Браузерди ачыңыз.

U-аят үчүн URL кутусуна 192.168.1.254 киргизиңиз.

Зымсыз шилтемени чыкылдатып, 6 же 11 каналды тандаңыз.

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

Raspberry Pi розеткасынан ажыратып, анан кубатты калыбына келтириңиз

Сунушталууда: