Obsah:

Otvírač garážových vrat Raspberry Pi 3: 15 kroků (s obrázky)
Otvírač garážových vrat Raspberry Pi 3: 15 kroků (s obrázky)

Video: Otvírač garážových vrat Raspberry Pi 3: 15 kroků (s obrázky)

Video: Otvírač garážových vrat Raspberry Pi 3: 15 kroků (s obrázky)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №32 2024, Červenec
Anonim
Otvírač garážových vrat Raspberry Pi 3
Otvírač garážových vrat Raspberry Pi 3

Tento instruktáž jsem vytvořil v roce 2014. Od té doby se toho hodně změnilo. V roce 2021 jsem zde aktualizoval Smart Garage Door Opener.

Pomocí Raspberry Pi a smartphonu otevřete a zavřete garážová vrata. Otevírání a zavírání dveří je zajištěno pomocí certifikátů s vlastním podpisem nainstalovaných v mobilních telefonech rodiny. Pokud jsou garážová vrata otevřená, i když by neměla být, odešlete textovou zprávu (SMS) na mobilní telefon.

Garážová vrata jsou nepřetržitě používána od konce roku 2014. V průběhu let jsem se snažil změny aktualizovat. Existuje příloha, která popisuje změny v pokynu.

Cílem tohoto projektu je:

  • Nastavit můj první pokyn - neměl jsem v plánu zveřejnit toto, ale obdržel jsem mnoho žádostí
  • Otevřete garážová vrata standardním dálkovým ovladačem
  • Otevřete garážová vrata pomocí otvírače garážových vrat na zeď
  • Otevřete garážová vrata pomocí smartphonu
  • Monitorujte stav garážových vrat na dálku prostřednictvím mobilního telefonu nebo notebooku (jsou otevřená nebo zavřená?)
  • Pošlete textovou zprávu na můj mobilní telefon, pokud jsou dveře otevřené, když by měly být zavřeny
  • Udržujte garážová vrata v bezpečí (např. Při výpadku napájení by se vrata neměla otevírat)
  • Nedovolte nikomu jinému na síti otevřít dveře (obousměrný certifikát SSL podepsaný svým držitelem)
  • Místo kabelového připojení použijte WiFi
  • Použijte Raspberry Pi 3

Základ pro tuto implementaci Garage Door Opener byl odvozen z Instructable: Raspberry Pi Garage Door Opener by quartarian. Původně jsem používal model B+ Raspberry Pi, poté jsem přešel na Raspberry Pi 2 model B a nyní používá Raspberry Pi 3.

Ke komunikaci s Raspberry Pi jsem použil MacBook, ale lze použít jakýkoli počítač.

Neexistuje žádný pádný důvod pro stavbu tohoto zařízení, ale byla to zábava. Jeho pořízení je nákladově efektivnější. Podobné zařízení lze zakoupit za přibližně 130 USD.

  • Lift master 828LM
  • Chamberlain MyQ 129 $
  • GoGo Gate 179 dolarů
  • Řemeslník 100 dolarů

Poznámky:

  • Text uzavřený piky, jako je tento ♣ nahradit-toto ♣, by měl být nahrazen skutečnou hodnotou
  • Arduino podtržený modrý text je odkaz. V tomto případě se jedná o odkaz na arduino verzi otvírače garážových vrat.
  • Pokusil jsem se připsat kredit každému použitému zdroji. Omlouvám se za případné opomenutí. Většina tohoto dokumentu je založena na práci jiných lidí.
  • $ označuje příkaz spuštěný v okně terminálu na MacBooku a obvykle se provádí na Raspberry Pi

Krok 1: Shromážděte součásti

Nakupujte nebo sbírejte díly a nástroje (ceny v USD).

  • Raspberry Pi 3 Model B Newark Element14 $ 35
  • 5,2 V 2,5 A USB napájecí adaptér od Amazonu za 9,99 $
  • Micro USB na USB kabel 6 stop od Amazonu 7,99 $
  • Pouzdro od Amazonu 6,99 $
  • SanDisk Ultra 16 GB microSDHC Class 10 s adaptérem (SDSQUAN-016G-G4A) od Amazonu za 8,99 $
  • 2kanálový reléový štítový modul SunFounder pro Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - 6,79 USD
  • 3x propojovací vodiče žena-žena. Koupeno ve Fry’s za 4,95 $.
  • Dynamické DNS 40 $ ročně pro 30 jmen (dyn.com)
  • 1-Gang 18 cu. in. Old Work Heavy Wall Switch and Outlet Box, 3,12 $
  • Ultra Pro Single Brush White Wall Plate, 7,88 $
  • SECO-LARM SM 226L, senzor garážových vrat, cena se velmi liší, 9,99 $ na Amazonu s dopravou zdarma
  • 50 stop pevného termostatického drátu, Home Depot nebo Lowe's, ~ 20 $

Můj součet: ~ 172,00 $

Měl jsem následující díly, nástroje a služby:

  • Ethernetový kabel CAT5
  • Drát malého rozchodu, dlouhý 6 stop
  • Šroubovák s křížovou hlavou
  • Jehlové kleště
  • Kráječe krabic
  • Klenotník plochý šroubovák, potřebný k uvolnění šroubů na relé
  • MacBook (lze použít PC)
  • AT&T GigaPower (lze použít jakéhokoli poskytovatele internetových služeb)

Krok 2: Nastavení Raspberry Pi bez monitoru nebo klávesnice

Nastavte Raspberry Pi bez monitoru nebo klávesnice
Nastavte Raspberry Pi bez monitoru nebo klávesnice

Všechny projekty Raspberry Pi vyžadují určitý typ nastavení. Rád používám stejnou sadu pokynů a v případě potřeby mám jedno místo na aktualizaci těchto pokynů.

Nastavte Raspberry Pi pomocí následujícího instrukce:

Nastavte Raspberry Pi bez monitoru nebo klávesnice

Výše uvedený pokyn obsahuje volitelné kroky v příloze. Nezapomeňte provést tento krok:

Přidejte certifikáty na straně klienta na webové servery

Vypněte Raspberry Pi

$ sudo shutdown -h 0

Po vypnutí odstraňte

  • ethernetový kabel
  • USB sériový kabel

Ty už nebudou potřeba. Ke spouštění příkazů na Raspberry Pi použijte wifi, ssh a okno terminálu na Mac Book.

Odpojte napájení a znovu zapojte napájení a Raspberry Pi by se mělo restartovat.

Krok 3: Nainstalujte Wiring Pi, Apache a PHP

Nainstalujte Wiring Pi

Otevřete okno terminálu na Mac Book. Přihlaste se k Raspberry Pi, poté stáhněte, zkompilujte a nainstalujte Wiring Pi. Tento software umožňuje ovládání pinů GPIO. Zde je průvodce krok za krokem:

wiringpi.com/download-and-install/

Zde je zkrácená verze pokynů:

$ ssh pi@♣ malina-pi-ip ♣

heslo: ♣ heslo ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build

Spusťte příkaz gpio a zkontrolujte instalaci:

$ gpio -v

Verze gpio: 2,29 Copyright (c) 2012-2015 Gordon Henderson Toto je bezplatný software s ABSOLUTNĚ ŽÁDNOU ZÁRUKOU. Podrobnosti zadejte: gpio -záruka Raspberry Pi Podrobnosti: Typ: Model 2, Revize: 1.1, Paměť: 1024 MB, Výrobce: Sony [OV] Je povolen strom zařízení. Tento Raspberry Pi podporuje uživatelský přístup GPIO. -> Další podrobnosti najdete na manuálové stránce $ gpio readall+-----+-----+---------+------+---+--- Pi 2 ---+---+------+---------+-----+-----+| BCM | wPi | Jméno | Režim | V | Fyzický | V | Režim | Jméno | wPi | BCM | +-----+-----+---------+------+---+---- ++ ----+---+- -----+---------+-----+-----+| | | 3,3 V | | | 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 | VENKU 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 V | | | 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 | Jméno | Režim | V | Fyzický | V | Režim | Jméno | wPi | BCM | +-----+-----+---------+------+---+--- Pi 2 ---+---+--- ---+---------+-----+-----+

Výše uvedené příkazy by vám měly dát jistotu, že wiringPi funguje dobře.

Nainstalujte si Apache a PHP

Spusťte následující příkazy:

$ cd..

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

Chcete -li ověřit funkčnost webového serveru, otevřete prohlížeč a do pole URL zadejte:

♣ malina-pi-ip ♣

Výchozí web Apache odpovídá „Funguje to!“

Krok 4: Web

Otevřete okno terminálu na Mac Book. Přihlaste se k Raspberry Pi, poté odeberte výchozí soubor index.html, změňte oprávnění v adresáři webových stránek a upravte soubor s názvem index.php.

$ ssh pi@♣ malina-pi-ip ♣

heslo: ♣ heslo ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root/var/www $ sudo nano /var/www/index.php

A zadejte následující kód:

Otvírač garáže

Automatizace domácnosti

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

";} else {echo"

"; } ?>

Otvírač garážových vrat Manuál k otvírání garážových vrat zavřeno 1 otevřeno 0
<? php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o a ENTER pro zápis souboru a CTRL-x pro ukončení editoru.

Změňte oprávnění k souboru

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

Krok 5: Obrázek webových stránek

Obrázek webu
Obrázek webu
Obrázek webu
Obrázek webu

Popadněte vzdálený otvírač garážových vrat s vysokým rozlišením z webu. Pomocí štětce pro Mac upravte obrázek, jak chcete. Na výše uvedeném obrázku byl použit Genie Garage Opener s vysokým rozlišením, bylo přidáno logo maliny pi a odstraněna LED dioda.

Jeden obrázek je pozadí (remote-background.jpg) a druhý je aktivní obrázek (remote-press.jpg).

Plán byl takový, že po stisknutí tlačítka namísto blikání LED bude blikat malina. Zjednodušil jsem web.

Zkopírujte obrázky na malinový pi:

$ scp *-j.webp

heslo: ♣ heslo ♣

Web má jediné tlačítko. Chcete-li to ověřit, otevřete prohlížeč a zadejte ♣ raspberry-pi-ip ♣. Místo výchozího webu Apache, který říká „Funguje to!“, By se mělo objevit tlačítko. Zmáčkni to.

Krok 6: Vzdálené ovládání webového serveru

Aby byl snadný přístup k otvírači garážových vrat ze vzdáleného místa, používám dynamický název DNS. Protože nerad si pamatuji IP adresy.

S touto funkcí zadávám do pole URL prohlížeče ♣ dynamický název-hostitele ♣.getmyip.com. Poznámka: IP na domácích směrovačích se může změnit bez předchozího upozornění, ale to se stává zřídka. Rozhodl jsem se použít DynDNS. Budete potřebovat znát veřejnou IP adresu routeru.

Router U-Verse IP: ♣ uverse-public-ip ♣

Můžete zobrazit názvy hostitelů a podrobnosti o účtu DynDNS Pro. Zde je několik tipů, jak začít:

  • Vytvořte své dynamické jméno hostitele DNS (1 z 30):

    • ♣ název dynamického hostitele ♣
    • Aktualizační klíč: ♣ dynamický-ip-aktualizační klíč ♣
  • Nainstalujte si aktualizačního klienta, abyste zajistili, že váš název hostitele bude vždy nasměrován na správnou IP adresu.

    • Stáhněte a nainstalujte na MacBook
    • IP adresy AT&T U-verse se zřídka mění, takže výše uvedený aktualizátor lze spustit kdykoli se změní
    • Postupujte podle pokynů:

      • Přidat účet
      • Zadejte uživatelské jméno a heslo: ♣ dynamické-ip-uživatelské jméno ♣ ♣ dynamické-ip-heslo ♣
      • Vyberte název hostitele
      • Klikněte na Konfigurovat vybrané hostitele
      • Hostitel by se měl stát aktivním
    • Nakonfigurujte svou síť tak, aby umožňovala přístup k vašemu zařízení z internetu. Můžete použít našeho Dyn Wizard pro obecné pokyny, jak to udělat, použít zdroje jako PortForward.com nebo se obrátit o pomoc na výrobce zařízení.

      • AT&T U-verse
      • Přesměrování portů pro 2-Wire 3801HGV-to je router AT&T U-Verse, který mám. Jak portovat vpřed na routeru AT&T U-verse 5268ac, najdete v Aktualizace v dodatku.
      • Otevřete prohlížeč a přejděte na ♣ raspberry-pi-ip ♣
      • Heslo: ♣ heslo ♣
      • Nastavení
      • Firewall

        • Vyberte ♣ název hostitele raspberry-pi ♣
        • Servery

          • Port webového serveru 80
          • Server HTTPS - port 443
        • Přidat
      • Uložit

Jakmile to bude hotové, webový server bude fungovat z internetu. Chcete-li to ověřit, zadejte ♣ název dynamického hostitele ♣ a mělo by se vám zobrazit tlačítko otvírače garážových vrat.

Krok 7: Připojte obvod k Raspberry Pi

Připojte obvod k Raspberry Pi
Připojte obvod k Raspberry Pi

Pro poskytnutý kód (krok 4 a 6) jsem použil GPIO pin 7. Je náhoda, že GPIO 7 je stejné jako wiringPi pin 7. V kódu PHP se používá zapojení pinů Pin a NENÍ GPIO pinů. Můžete použít libovolný, ale chcete změnit kód.

Zkoušel jsem použít kroucený vodič, ale relé na krouceném vodiči nedrží dobře. Lepší je plný drát.

Na můj první pokus jsem vytvořil tři propojovací kabely (female-to-male).

  • Použijte tři propojovací kabely žena - žena
  • Odřízněte tři kusy pevného drátu asi na 1in.

    Odizolujte 1/4in na oba konce plného drátu

  • Vložte jeden pevný vodič do jednoho propojovacího kabelu.

Zde je lepší způsob, jak vytvořit propojovací kabely (female-to-male):

  • Používejte pouze plný drát
  • Odřízněte tři 4palcové kusy pevného drátu
  • Odizolujte 1/4in na oba konce plného drátu
  • Použijte spojovací kolíky

    • Nasuňte jeden spojovací kolík na jeden konec plného drátu a zalisujte

      Zásuvka by se neměla uvolnit, v případě potřeby pájet

    • Nasuňte odlehčení tahu přes spojovací kolík nebo krycí kolík pomocí elektrikářské pásky

Připojte relé k pí podle schématu:

  • Připojte zásuvkový konec kabelu k pinu Raspberry Pi.
  • Vložte pevný vodič do relé.

Krok 8: Vytvořte spouštěcí službu

Většina relé, včetně zakoupeného, funguje takto:

  • Když je signál ZAPNUTÝ, obvod zůstane vypnutý.
  • Když je signál VYPNUT, obvod je zapnutý.

Pokud Raspberry Pi ztratí napájení, relé má bezpečnostní mechanismus, který udržuje obvod VYPNUTÝ.

Problém může nastat, když se napájení a relé Rapberry Pi a relé obnoví, ale než Raspberry Pi dokončí bootování, aby se zapnul signál, což je nutné k vypnutí obvodu. Mohli byste se ráno probudit s otevřenou garáží a potenciálně několika novými přáteli!

Relé se však ve skutečnosti neinicializuje, dokud není režim GPIO pin nastaven pomocí tohoto příkazu: gpio mode 7 out. Kromě toho, pokud se GPIO pin zapne (gpio write 7 1) před nastavením režimu GPIO, relé zůstane vypnuto po inicializaci.

Aby tato inicializace běžela při spuštění a neprobudili se noví přátelé, použijte následující spouštěcí skript.

$ ssh pi@♣ malina-pi-ip ♣

$ sudo nano /etc/init.d/garagerelay

Poté vložte tento skript:

#! /bin/bash

# /etc/init.d/garagerelay # Proveďte konkrétní funkce, když vás o to systémový případ požádá „$ 1“při startu) echo „Spouštěcí relé“# Zapněte 7, čímž zůstane relé vypnuto/usr/local/bin/gpio write 7 1 #Start Gpio/usr/local/bin/gpio mode 7 out;; stop) echo "Zastavení gpio";; *) echo "Použití: /etc/init.d/garagerelay {start | stop}" exit 1;; esac exit 0

Uložení: CTRL-o, ENTER

Chcete-li ukončit nano, CTRL-x

Nastavit soubor jako spustitelný:

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

Nyní řekněte svému pi, aby při spuštění spustil tento skript:

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

(Poznámka: Varování „chybějící značky LSB“můžete bezpečně ignorovat.)

Zajistěte, aby byl spuštěn spouštěcí skript

$ sudo restart

Otevřete prohlížeč a klikněte na otvírák. Relé by mělo cvaknout.

Krok 9: Připojte Raspberry Pi do garáže

Připojte Raspberry Pi do garáže
Připojte Raspberry Pi do garáže

Při stěhování Raspberry Pi nezapomeňte spustit:

$ shutdown -h 0

Možná budete chtít vypnout napájení garáže. Otvírač dveřních zvonků vás tedy nezabije elektrickým proudem:). Skutečným důvodem je, že pokaždé, když zkratujete dráty, dveře půjdou nahoru a dolů.

Odšroubujte šrouby na stěně z otvíráku typu zvonek, který připevňuje zvonek ke zdi.

Propíchněte díru z garáže za otvíračem zvonků dovnitř domu. V Texasu by Raspberry Pi neměl být v garáži, kolísání teploty v garáži je mimo provozní specifikace Raspberry Pi.

Protáhněte vodiče relé otvorem (použijte věšák).

Povolte oba šrouby na zadní straně otvírače zvonků.

Odizolujte oba konce vodičů relé: 1) asi 1/8 palce na straně relé a asi ½ palce na straně zvonku. Ohněte stranu zvonku drátu do poloviční smyčky, která je dostatečně velká, aby se vešla kolem zadního šroubu.

Připojte jeden vodič relé ke každému šroubu na zadní straně zvonku a utáhněte šroub. Připojení jsou taková, jak je znázorněno na obrázku. Protože relé izoluje obvod, na směru nezáleží ani na tom, které relé je připevněno ke kterému šroubu.

Krok 10: Připojte Raspberry Pi k SECO-LARM

Připojte Raspberry Pi k SECO-LARM
Připojte Raspberry Pi k SECO-LARM
Připojte Raspberry Pi k SECO-LARM
Připojte Raspberry Pi k SECO-LARM

Než jsem měl kód hotový, byli jsme s rodinou na dovolené a já jsem otevřel prohlížeč. Poslední pohled mého prohlížeče byl otvírač garážových vrat - stránka se obnovila a garážová vrata se otevřela. O několik dní později zavolal soused a zeptal se, zda mají být garážová vrata otevřená? Naštěstí jsem to mohl zavřít ze vzdálenosti 500 mil.

Toto snafu mě přinutilo změnit kód, aby se to nestalo, a přidat na web senzor a stav garážových vrat.

Toto je odkaz na původní instrukce pro přidání senzoru. Vzhledem ke všemu, co již bylo dokončeno, lze instalaci senzoru značně zjednodušit a místo použití pythonu přidat do index.php několik řádků kódu.

closed

Magnet je připevněn k levé vnitřní horní straně garážových vrat a senzor je připevněn ke stěně garáže. Takže jsem musel spustit pevný vodič termostatu ze senzoru zpět na malinový pi. To vyžadovalo otvor z garáže do podkroví a z podkroví do zdi obsahující otvírač garážových vrat (spínač zvonku).

Mezi snímač SECO-LARM a plné vodiče jsem vložil modrou spojovací skříňku.

V mém domě je mezi stropem prvního patra a spodní částí druhého patra mezera 18 palců. Předpokládám, že tady vedou topné a chladicí kanály. Potřeboval jsem prodloužení vrtáku dostatečně dlouhé na to, abych prošel druhým patrem a skrz horní 2x4 (horní deska) obsahující zvonek.

Nejdůležitější částí je, že při vrtání z podkroví do oblasti, kde budou vedeny dráty k otvírači garážových vrat, NENÍ vrtání elektřinou. Opravit to nebyla legrace. Vidět jiskry a zhasnout světla bylo docela vzrušující!

Senzor vyžaduje dva pevné vodiče termostatu nebo neviditelný drát pro plot.

Raspberry Pi má více popisů pinů (BCM, wPi, fyzické). Kód používá čísla pinů kabeláže. Chcete -li zobrazit všechny piny, mapování pinů a hodnoty pinů, zadejte:

$ gpio readall

Pro příručku gpio zadejte:

$ gpio muž

V původních pokynech je fyzický kolík 9 uzemněn a připojen k jednomu z vodičů SECO-LARM. To mi však nefunguje. Místo toho připojte vodiče k fyzickým kolíkům 15 a 17

Fyzický pin 15 (wPi pin 3) jde na 3,3 V, když je senzor SECO-LARM zavřený. Fyzický pin 17 je 3,3 V. Pokud to nefunguje, přepněte připojení na SECO-LARM.

Připevněte SECO-LARM na garážová vrata a zeď. Spusťte vodiče a připojte se k Raspberry Pi.

Krok 11: Odeslat upozornění, pokud jsou dveře otevřené, když by měly být zavřené

Pokud jsou garážová vrata otevřená, i když by neměla být, odešlete textovou zprávu na mobilní telefon.

Nainstalujte a nakonfigurujte jednoduchý SMTP.

Mám mobilní telefon AT&T a pro textové zprávy používám ♣cell-phone-number♣@txt.att.net. Mám také účet gmail a níže uvedený příklad používá ♣gmail-account♣@gmail.com. Pokud používáte různé služby, proveďte příslušné změny.

Pro níže uvedené příkazy $ otevřete na MacBooku okno terminálu a přihlaste se ke svému Raspberry Pi.

Zajistěte, aby byla úložiště aktuální:

$ sudo apt-get update

Nainstalujte si jednoduché SSMTP a poštovní nástroje:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Upravte konfigurační soubor SSMTP:

$ sudo nano /etc/ssmtp/ssmtp.conf

jak následuje:

mailhub = smtp.gmail.com: 587 název_hostitele = ♣ jméno_hostitele ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ heslo pro Gmail ♣ PoužítSTARTTLS = ANO

Upravte soubor aliasů SSMTP:

$ sudo nano/etc/ssmtp/revaliases

Vytvořte jeden řádek pro každého uživatele, který bude moci odesílat e -maily. Například:

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

Nastavte oprávnění konfiguračního souboru SSMTP:

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

Oprávnění souboru /etc/ssmtp/ssmtp.conf určují, kdo bude moci odesílat e -maily z Raspberry Pi. Ve výchozím nastavení je tento soubor ve vlastnictví uživatele root a skupina souboru je také root.

Upravte soubor aliasů SSMTP, který obsahuje data o e -mailových účtech:

$ sudo nano /etc/ssmtp/ssmtp.conf

Jakmile je výše uvedený proces nastavení a konfigurace dokončen, otestujte jej odesláním e -mailu z příkazového řádku.

$ echo „zavřete garážová vrata“| e-maily „Garážová vrata otevřená“♣cell-phone-number♣@txt.att.net

Vytvořte skript, který zkontroluje, zda jsou garážová vrata otevřená, i když by neměla být, a poté odešlete textovou zprávu.

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

a přidejte následující:

#!/bin/bash

# zkontrolujte, zda jsou garážová vrata otevřená. # Pokud je otevřeno, pošlete upozornění a napište do syslog up = 0; door = $ (/home/pi/wiringPi/gpio/gpio read 3) if ["$ door" -eq "$ up"] then logger ♣ your -hostname ♣: Garage Door Open echo "close the garage door" | mail -s "Garage Door Open" ♣cell-phone-number♣@txt.att.net fi exit 0

Poté přidejte crontab, který se má spustit během požadovaných hodin:

$ sudo crontab –e

a přidejte:

# V noci každou hodinu zkontrolujte, zda jsou garážová vrata otevřená

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

Pokud vše funguje, přejděte k dalšímu kroku.

Krok 12: Vložte Raspberry Pi do Secret Book

Vložte Raspberry Pi do Tajné knihy
Vložte Raspberry Pi do Tajné knihy
Vložte Raspberry Pi do Tajné knihy
Vložte Raspberry Pi do Tajné knihy

Vložte malinový pí do tajné knihy. Ten jsem dostal v Michael’s asi za 7 dolarů. Vyřízl jsem několik malých otvorů pro dráty a napájecí kabel.

Krok 13: Dodatek: Reference

2kanálový reléový štítový modul SunFounder pro Arduino UNO 2560 1280 ARM PIC AVR STM32

  • Deska rozhraní 2kanálového relé 5V a každá potřebuje 15-20mA
  • Driver Driver Vybaven vysokoproudým relé, AC250V 10A; DC30V 10A
  • Standardní rozhraní, které lze ovládat přímo mikrokontrolérem (logika Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL)
  • Indikační LED diody pro stav výstupu relé Odkaz na stažení dokumentu:

Krok 14: Dodatek: Aktualizace

21FEB2016

  • V původních pokynech byly problémy s automatickými opravami, formátováním a srozumitelností pokynů.

    • Příkladem problému je, když se uvozovky v kódu změní na něco, co vypadá jako dvojitá uvozovka kurzívou. Pokud to však vyjmete a vložíte do skriptu, nebude to fungovat.
    • Instrukovatelný editor má rád automatické opravy, takže se wlan otočí podle plánu a automatické odebrání otočí pro automatické odebrání. Tyto změny je těžké si všimnout.
    • Některé z mých pokynů možná nebyly dostatečně jasné.
    • Normálně používám úhlové závorky jako indikátor něčeho, co je třeba vyměnit. Editor je převede na html. Přešel jsem na hranaté závorky, ale ty mohou způsobit problémy, protože vypadají jako kód. Nakonec jsem se usadil na ♣ s jako indikátor pro nahrazení skutečnou hodnotou.
  • Postupem času jsem také vylepšil některé skripty.
  • Upravené kroky 21-26

03.04.2016

  • Vytvořil dodatek s řešením problémů, odkazy a aktualizace (kroky 27-29)
  • Přesunutí řešení potíží do přílohy z předchozího kroku 2
  • Stránka pro řešení potíží byla aktualizována a seřazena podle abecedy
  • Změněn název souboru z test2wifi.sh na garage.sh - jen popisnější.
  • Aktualizován cron na použití garage.sh
  • Upraveno 1, 20-26 (Vytvořte spouštěcí službu, abyste krok před přílohou)

04APR2016

  • Kroky 2-11 a 16-20 byly nahrazeny mým standardem nastavení Raspberry Pi
  • Aktualizovaný seznam dílů, krok 1
  • Přidané/sloučené fotografie

05.04.2016

Zjednodušený web a obrázek (kroky 4 a 5)

01. KVĚTNA 2016

Přidáno řešení potíží se snímačem Seco-larm/raspberry Pi

01. KVĚTNA 2016

Předchozí úpravy nejsou správně uloženy?

11NOV2016

  • Aktualizován na AT&T GigaPower a změněn router na 5268ac
  • 5268ac nepodporuje smyčku zpět, takže server Garage Opener není přístupný z počítačů v síti LAN. Chcete -li, aby se MacBook dostal na webový server otvírače garáží, postupujte takto:

$ sudo nano /etc /hosts

a přidejte řádek

192.168.1.64 ♣ název externí domény serveru ♣

Uložit a ukončit, CTRL-o, CTRL-x

$ sudo killall -HUP mDNSResponder

  • Vestavěná pravidla pro přesměrování portů 5268ac, jako je HTTPS server, HTTP Server a Web Server, nefungují. Aby přesměrování portů fungovalo:

    • Otevřete prohlížeč a přejděte na 192.168.1.254
    • Přihlásit se
    • Vyberte Nastavení, Firewall, Aplikace, dírky a DMZ.
    • Vyberte webový server otvíráku garáží
    • Vyberte možnost Definováno uživatelem
    • Klikněte na novou uživatelem definovanou aplikaci

      • Do pole Název profilu aplikace zadejte: PortForwarding
      • Do pole Vytvořit definici aplikace přidejte všechny následující položky a klikněte na Přidat do seznamu:

        • TCP z 80 na 80, mapa na hostitelský port 443
        • Mapa TCP z 443 na 443 na hostitelský port 443
        • UDP od 443 do 443, mapa na hostitelský port 443
        • UDP od 80 do 80, mapa na hostitelský port 443
    • Klikněte zpět
    • Znovu vyberte webový server
    • Vyberte možnost Definováno uživatelem
    • Přidejte PortForwarding
    • Klikněte na Uložit

21. ledna 2018

  • Aktualizováno na Raspberry Pi 3
  • Několik úprav kroků
  • Aktualizovány některé díly a ceny

Krok 15: Dodatek: Odstraňování problémů

Využito místo na disku

Poslední řádek ukazuje celkové využité místo na disku. Karta SD má 8 GB.

$ cd../..

$ sudo du –hx –c

e-mailem

Pokud máte problémy, zkuste toto:

$ echo „test“| sendmail -v ♣vase-gmail-account♣@gmail.com

Pokud je e -mail nastaven správně, měli byste dostat e -mail do svého účtu Gmail.

Pokud dojde k selhání ověření:

Možná budete muset snížit zabezpečení svého účtu. Snížení zabezpečení však NENÍ doporučeno. Google odešle e -mail s odkazem na nižší nastavení zabezpečení.

Můžete přepnout ze své aktuální čtečky e -mailů na přístup k účtu www.gmail.com (doporučeno) nebo změnit nastavení na https://www.google.com/settings/security/lesssecu…, aby váš účet již nebyl chráněné moderními bezpečnostními standardy.

Nedoporučuji snižovat vaše bezpečnostní standardy.

Pokud dojde k selhání autorizace:

Nejpravděpodobnější příčinou je to, že jste v souboru /etc/ssmtp/ssmtp.conf zadali nesprávné uživatelské jméno nebo heslo pro svůj účet gmail. Znovu zkontrolujte hodnoty polí AuthUser a AuthPass.

Pokud dojde ke ztrátě připojení uprostřed zpracování:

Je pravděpodobné, že jste zadali špatný port pro Google smtp někde v /etc/ssmtp/ssmtp.conf nebo v/etc/ssmtp/revaliases.

Zkontrolujte poslední řádky svých protokolů. Mělo by tam být několik relevantních chybových zpráv:

$ tail /var/log/mail.log

$ tail/var/log/syslog

Garážová vrata se neotevřou

Pokud vše fungovalo a prostě se to zastavilo, zkuste restartovat. Pokud to nefunguje, vytáhněte napájecí kabel z Raspberry Pi a poté obnovte napájení. Raspberry Pi by se měl restartovat za méně než 2 minuty a vše by mělo fungovat dobře. To je obecně způsobeno ztrátou napájení Rezidenční brány.

GPIO

Pokud se něco pokazí, nejlepší způsob, jak zjistit, co se děje, je následující příkaz:

$ gpio readall

Přihlaste se k Raspberry Pi z MacBooku

terminál je nástroj MacBook: disk/aplikace/nástroje/terminál. Nechávám aplikaci terminálu v doku.

Na MacBooku otevřete terminál

$ ssh pi@♣ malina-pi-ip ♣

♣ heslo ♣

Přihlaste se do rezidenční brány

Na MacBooku otevřete prohlížeč

URL = ♣ malina-pi-ip ♣

Přihlášení: ♣ heslo brány ♣

Protokoly

Pokud se něco pokazí, zkontrolujte v těchto protokolech chyby, varování nebo jiné problémy.

$ cat/var/log/zprávy

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

Adresář MAC

Adresář na MacBooku, kde jsou uloženy soubory webových stránek

Adresář MAC =/Uživatelé/♣ můj macbook ♣/Desktop/wi-fi povolený domov/wifi otvírač garážových vrat/web

Heslo

Heslo = ♣ heslo pro malinu-pi ♣

Použitá RAM a CPU

$ nahoru

CTRL-c pro ukončení

Domovský adresář Raspberry Pi

$ pwd

/domov/pí

Název hostitele Raspberry Pi

$ hostname

hostname = ♣ název hostitele ♣

Raspberry Pi IP

♣ malina-pi-ip ♣ = 192.168.1.93

Adresář webových stránek Raspberry Pi

/var/www

Seco-larm přestává fungovat

1. května 2016 přestal Seco-larm fungovat. Toto je potřetí, kdy senzor přestal fungovat. Abychom to řekli správně, fyzický pin 15 na Raspberry Pi přestal detekovat vstup 3,3 V. Zkoušel jsem 3.3v fyzické piny 1 a 17 a oba stále vydávaly 3.3v. Přešel jsem z fyzického pinu 15 na jiný GPIO, fyzický pin 16 (GPIO 4) a opět to začalo fungovat. Na Seco-larmu tedy není nic špatného. Zdá se, že problém je s Raspberry Pi GPIO.

GPIO 3, fyzický pin 15 je mrtvý. Je to velmi dobrý příspěvek k testování pinů GPIO.

Přešel jsem z GPIO 3 na GPIO 4 a podle toho změnil kód. Nejsem si jistý, proč GPIO pin přestal fungovat. Zde jsou dva možné důvody:

  • Mám namontovaný snímač Seco-larm, takže když jsou dveře zavřené, vychází na 3,3V. Garážová vrata se zavírají častěji, než jsou otevřená. Pin GPIO možná nemůže mít víceméně konstantní vstup 3,3 V.
  • Selhání se časově shodovalo se ztrátou energie, možná došlo k nárůstu výkonu.

U-verse Obytná brána

Mám AT&T U-verse s Residential Gateway, ale každá služba by měla fungovat.

Pokud se brána U-verse Gateway restartuje nebo ztratí napájení, bude možná nutné restartovat Raspberry Pi.

U-verse obytná brána Veřejná IP = ♣ router's-public-ip ♣

Veřejná IP adresa rezidenční brány U-verse se může měnit, ale dělá to velmi zřídka

Domovská stránka rezidenční brány U-verse = 192.168.1.254

SSID bezdrátového přístupového bodu U-verse Router = s ssid ♣

Propustnost WiFi je pomalejší, než se očekávalo

Změňte router na méně používaný kanál. Ve výchozím nastavení všichni poskytovatelé okruhů naladí wifi každého na kanál 1. Změňte na méně používaný kanál, například 11. Zkuste použít liché číslo.

Poznámka: Řekl jsem pár sousedům, co jsem udělal, abych zlepšil wi-fi, a teď jsou všichni na 9 nebo 11, takže jsem se vrátil zpět na 1. Vždy byste měli používat lichý kanál.

Otevřete prohlížeč.

Pro U-verse zadejte do pole URL 192.168.1.254.

Klikněte na Bezdrátový odkaz a vyberte kanál 6 nebo 11.

Existuje aplikace pro chytrý telefon s názvem wifi analyzátor. Jeden z displejů zobrazuje všechny blízké přístupové body wifi vysílající na konkrétním kanálu. V mém okolí je každý nastaven na kanál 1.

Odpojte Raspberry Pi a poté obnovte napájení

Doporučuje: