Inhaltsverzeichnis:

Raspberry Pi 3 Garagentoröffner - Gunook
Raspberry Pi 3 Garagentoröffner - Gunook

Video: Raspberry Pi 3 Garagentoröffner - Gunook

Video: Raspberry Pi 3 Garagentoröffner - Gunook
Video: Toröffner 2024, Juli
Anonim
Raspberry Pi 3 Garagentoröffner
Raspberry Pi 3 Garagentoröffner

Ich habe dieses instructable im Jahr 2014 erstellt. Seitdem hat sich viel geändert. 2021 habe ich hier den Smart Garagentoröffner aktualisiert.

Verwenden Sie einen Raspberry Pi und ein Smartphone, um ein Garagentor zu öffnen, zu schließen und zu überwachen. Das Öffnen und Schließen der Tür wird durch selbstsignierte Zertifikate gesichert, die auf den Mobiltelefonen der Familie installiert sind. Wenn das Garagentor geöffnet ist, obwohl es nicht sein sollte, dann senden Sie eine Textnachricht (SMS) an ein Mobiltelefon.

Das Garagentor ist seit Ende 2014 im Dauereinsatz. Im Laufe der Jahre habe ich versucht, die Veränderungen aktuell zu halten. Es gibt einen Anhang, der die Änderungen an der instructable beschreibt.

Die Ziele dieses Projekts sind:

  • Machen Sie mein erstes instructable - ich hatte nicht vor, dies zu veröffentlichen, aber ich habe viele Anfragen erhalten
  • Öffnen Sie ein Garagentor mit einer Standard-Fernbedienung
  • Öffnen Sie ein Garagentor mit dem an der Wand montierten Türklingel-Garagenöffner
  • Öffnen Sie ein Garagentor mit einem SmartPhone
  • Überwachen Sie den Status des Garagentors aus der Ferne über ein Handy oder einen Laptop (ist es geöffnet oder geschlossen?)
  • Schicke mir eine SMS an mein Handy, wenn die Tür offen ist, wenn sie geschlossen werden soll
  • Halten Sie das Garagentor sicher (z. B. bei Stromausfall sollte das Tor nicht öffnen)
  • Erlauben Sie niemandem im Netz, die Tür zu öffnen (zwei-Wege-selbstsigniertes SSL-Zertifikat)
  • Verwenden Sie WLAN anstelle einer kabelgebundenen Verbindung
  • Verwenden Sie einen Raspberry Pi 3

Die Grundlage für diese Garagentoröffner-Implementierung wurde aus dem Instructable abgeleitet: Raspberry Pi Garagentoröffner von Quartarian. Ursprünglich habe ich ein Raspberry Pi Modell B+ verwendet, bin dann auf ein Raspberry Pi 2 Modell B umgestiegen, und jetzt verwendet es einen Raspberry Pi 3.

Ich habe ein MacBook verwendet, um mit dem Raspberry Pi zu kommunizieren, aber jeder Computer kann verwendet werden.

Es gibt keinen zwingenden Grund, dieses Gerät zu bauen, aber es hat Spaß gemacht. Es ist kostengünstiger, einen zu kaufen. Ein ähnliches Gerät kann für etwa 130 USD erworben werden.

  • Aufzugsmeister 828LM
  • Chamberlain MyQ $129
  • GoGo-Gate 179 $
  • Handwerker $100

Anmerkungen:

  • Text, der in Pik eingeschlossen ist, wie dieser ♣replace-this♣ sollte durch einen tatsächlichen Wert ersetzt werden
  • Arduino unterstrichener blauer Text ist ein Link. In diesem Fall ist es ein Link zu einer Arduino-Version eines Garagentoröffners.
  • Ich habe versucht, jede verwendete Quelle anzugeben. Ich entschuldige mich für etwaige Auslassungen. Der Großteil dieses Dokuments basiert auf der Arbeit anderer Personen.
  • $ bezeichnet einen Befehl, der in einem Terminalfenster auf dem MacBook ausgeführt wird und normalerweise auf dem Raspberry Pi ausgeführt wird

Schritt 1: Teile sammeln

Kaufen oder sammeln Sie Teile und Werkzeuge (Preise in USD).

  • Raspberry Pi 3 Modell B Newark Element14 $ 35
  • 5,2V 2,5A USB-Netzteil von Amazon $9.99
  • Micro-USB-zu-USB-Kabel 6ft von Amazon 7,99 $
  • Hülle von Amazon $6.99
  • SanDisk Ultra 16 GB microSDHC Klasse 10 mit Adapter (SDSQUAN-016G-G4A) von Amazon 8,99 €
  • SunFounder 2 Kanal 5V Relais Schildmodul für Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $6.79
  • 3x weiblich-weiblich Überbrückungsdrähte. Gekauft bei Fry für 4,95 $.
  • Dynamisches DNS 40 USD pro Jahr für 30 Namen (dyn.com)
  • 1-Gang 18 cu. in. Old Work Heavy Wandschalter und Outlet Box, $ 3,12
  • Ultra Pro Single Brush Weißer Wandteller, $7.88
  • SECO-LARM SM 226L, Garagentorsensor, Preis variiert stark, 9,99 $ bei Amazon mit kostenlosem Versand
  • 50 Fuß festes Thermostatkabel, Home Depot oder Lowe's, ~ $ 20

Mein Gesamtbetrag: ~172,00 $

Ich hatte folgende Teile, Werkzeuge und Dienstleistungen:

  • CAT5-Ethernet-Kabel
  • Kleiner Draht, 6 Fuß lang
  • Kreuzschlitzschraubendreher
  • Spitzzange
  • Kastenschneider
  • Juwelier-Senkkopfschraubendreher, wird zum Lösen der Schrauben am Relais benötigt
  • MacBook (ein PC kann verwendet werden)
  • AT&T GigaPower (jeder Internetdienstanbieter kann verwendet werden)

Schritt 2: Raspberry Pi ohne Monitor oder Tastatur einrichten

Raspberry Pi ohne Monitor oder Tastatur einrichten
Raspberry Pi ohne Monitor oder Tastatur einrichten

Alle Raspberry Pi-Projekte erfordern eine Art von Einrichtung. Ich verwende gerne dieselben Anweisungen und habe bei Bedarf einen Ort, um diese Anweisungen zu aktualisieren.

Richten Sie Raspberry Pi mit dem folgenden instructable ein:

Raspberry Pi ohne Monitor oder Tastatur einrichten

Das obige anweisbare enthält optionale Schritte im Anhang. Führen Sie unbedingt den Schritt aus:

Clientseitige Zertifikate zu Webservern hinzufügen

Raspberry Pi. herunterfahren

$ sudo Herunterfahren -h 0

Nach dem Herunterfahren entfernen

  • Ethernet Kabel
  • Serielles USB-Kabel

Diese werden nicht mehr benötigt. Verwenden Sie WLAN, ssh und ein Terminalfenster auf dem Mac Book, um Befehle auf dem Raspberry Pi auszuführen.

Trennen Sie die Stromversorgung und schließen Sie die Stromversorgung wieder an, und Raspberry Pi sollte neu starten.

Schritt 3: Installieren Sie Wiring Pi, Apache und PHP

Verkabelung installieren Pi

Öffnen Sie ein Terminalfenster auf dem Mac Book. Melden Sie sich bei Raspberry Pi an, laden Sie dann Wiring Pi herunter, kompilieren und installieren Sie es. Diese Software ermöglicht die Steuerung der GPIO-Pins. Hier ist eine Schritt-für-Schritt-Anleitung:

wiringpi.com/download-and-install/

Hier ist eine komprimierte Version der Anleitung:

$ ssh pi@♣raspberry-pi-ip♣

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

Führen Sie den gpio-Befehl aus, um die Installation zu überprüfen:

$ gpio -v

gpio-Version: 2.29 Copyright (c) 2012-2015 Gordon Henderson Dies ist kostenlose Software mit ABSOLUT KEINE GARANTIE. Für Details Typ: gpio -Garantie Raspberry Pi Details: Typ: Modell 2, Revision: 1.1, Speicher: 1024 MB, Hersteller: Sony [OV] Gerätebaum ist aktiviert. Dieser Raspberry Pi unterstützt den GPIO-Zugriff auf Benutzerebene. -> Weitere Informationen finden Sie in der Man-Page $ gpio readall +-----+-----+---------+------+------+----- Pi 2---+---+------+---------+-----+-----+ | BCM | wPi | Name | Modus | V | Physisch | V | Modus | Name | 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 | AUS | 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 | Name | Modus | V | Physisch | V | Modus | Name | wPi | BCM | +-----+---+---------+---+---+-----Pi 2---+-----+--- ---+---------+-----+-----+

Die obigen Befehle sollten Ihnen ein gewisses Vertrauen geben, dass wiringPi in Ordnung funktioniert.

Apache und PHP installieren

Führen Sie die folgenden Befehle aus:

$ cd..

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

Um zu überprüfen, ob der Webserver funktioniert, öffnen Sie einen Browser und geben Sie in das URL-Feld ein:

♣himbeer-pi-ip♣

Die Standard-Website von Apache antwortet mit "It Works!"

Schritt 4: Webseite

Öffnen Sie ein Terminalfenster auf dem Mac Book. Melden Sie sich bei Raspberry Pi an, entfernen Sie dann die Standarddatei index.html, ändern Sie die Berechtigungen im Website-Verzeichnis und bearbeiten Sie eine Datei namens index.php.

$ ssh pi@♣raspberry-pi-ip♣

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

Und gib folgenden Code ein:

Garagenöffner

Heimautomatisierung

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

"; } sonst { echo"

"; } ?>

Garagentor-Öffner Handbuch für Garagentoröffner geschlossen 1 offen 0
<?php if ($trigger == 0) { echo " <td colspan=\"4\" } else { echo"

var13 -->

STRG-o und ENTER, um die Datei zu schreiben, und STRG-x, um den Editor zu verlassen.

Berechtigungen für die Datei ändern

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

Schritt 5: Website-Image

Website-Bild
Website-Bild
Website-Bild
Website-Bild

Holen Sie sich einen hochauflösenden Garagentor-Fernöffner aus dem Internet. Ändern Sie das Bild wie gewünscht mit dem Mac-Pinsel. Im Bild oben wurde ein hochauflösender Genie Garage Opener verwendet, ein Himbeer-Pi-Logo hinzugefügt und die LED entfernt.

Ein Bild ist der Hintergrund (remote-background.jpg) und das andere ist das aktive Bild (remote-press.jpg).

Der Plan war, dass die Himbeere auf Knopfdruck blinkt, anstatt die LED zu blinken. Ich habe die Website vereinfacht.

Kopieren Sie die Bilder auf den Himbeer-Pi:

$ scp *-j.webp

Passwort: ♣Passwort♣

Die Website verfügt über einen einzigen Druckknopf. Öffnen Sie zur Überprüfung einen Browser und geben Sie ♣raspberry-pi-ip♣ ein. Anstelle der Standard-Website von Apache, auf der "It Works!" steht, sollte die Schaltfläche erscheinen. Drück es.

Schritt 6: Webserver aus der Ferne steuern

Um den Zugriff auf den Garagentoröffner von einem entfernten Standort aus zu vereinfachen, verwende ich einen dynamischen DNS-Namen. Weil ich mich nicht gerne an IP-Adressen erinnere.

Mit dieser Funktion gebe ich ♣dynamic-hostname♣.getmyip.com in das URL-Feld eines Browsers ein. Hinweis: Die IP auf Heimrouter kann sich ohne Vorankündigung ändern, dies geschieht jedoch selten. Ich habe mich für DynDNS entschieden. Sie müssen die öffentliche IP-Adresse Ihres Routers kennen.

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

Sie können Ihre Hostnamen und DynDNS Pro-Kontodetails anzeigen. Hier sind ein paar Tipps für den Anfang:

  • Erstellen Sie Ihren Dynamic DNS-Hostnamen (1 von 30):

    • ♣dynamischer-Hostname♣
    • Updater-Schlüssel: ♣dynamic-ip-updater-key♣
  • Installieren Sie einen Update-Client, um sicherzustellen, dass Ihr Hostname immer auf die richtige IP-Adresse verweist.

    • Herunterladen und auf MacBook installieren
    • AT&T U-verse IPs ändern sich selten, daher kann der obige Updater ausgeführt werden, wann immer er sich ändert
    • Folge den Richtungen:

      • Konto hinzufügen
      • Geben Sie Benutzername und Passwort ein: ♣dynamic-ip-username♣ ♣dynamic-ip-password♣
      • Hostnamen auswählen
      • Klicken Sie auf Ausgewählte Hosts konfigurieren
      • Der Gastgeber sollte aktiv werden
    • Konfigurieren Sie Ihr Netzwerk, um den Zugriff auf Ihr Gerät aus dem Internet zu ermöglichen. Sie können unseren Dyn-Assistenten verwenden, um einige allgemeine Anweisungen dazu zu erhalten, Ressourcen wie PortForward.com verwenden oder sich an den Hersteller des Geräts wenden, um Hilfe zu erhalten.

      • AT&T U-Vers
      • Portweiterleitung für 2-Draht 3801HGV - das ist der AT&T U-Verse Router, den ich habe. Informationen zur Portweiterleitung auf dem AT&T U-verse 5268ac-Router finden Sie unter Updates in einem Anhang.
      • Öffnen Sie den Browser und gehen Sie zu ♣raspberry-pi-ip♣
      • Passwort: ♣Passwort♣
      • Einstellungen
      • Firewall

        • Wählen Sie ♣raspberry-pi-hostname♣
        • Server

          • Webserver-Port 80
          • HTTPS-Server – Port 443
        • Hinzufügen
      • Speichern

Sobald dies erledigt ist, arbeitet der Webserver über das Internet. Um dies zu überprüfen, geben Sie ♣dynamic-hostname♣ ein und Sie sollten die Garagentoröffner-Schaltfläche sehen.

Schritt 7: Verdrahten Sie die Schaltung mit dem Raspberry Pi

Verdrahten Sie die Schaltung mit dem Raspberry Pi
Verdrahten Sie die Schaltung mit dem Raspberry Pi

Für den bereitgestellten Code (Schritt 4 und 6) habe ich GPIO-Pin 7 verwendet. Es ist Zufall, dass GPIO 7 mit wiringPi-Pin 7 identisch ist. Sie können einen beliebigen verwenden, aber achten Sie darauf, den Code zu ändern.

Ich habe es mit verdrilltem Draht versucht, aber das Relais hält nicht gut auf verdrilltem Draht. Massivdraht ist besser.

Bei meinem ersten Versuch habe ich drei Verbindungskabel (weiblich-zu-männlich) erstellt.

  • Verwenden Sie drei Überbrückungskabel von Buchse zu Buchse
  • Schneiden Sie drei Stücke massiven Draht auf etwa 1 Zoll.

    Streifen Sie 1/4 Zoll an beiden Enden des massiven Drahtes ab

  • Stecken Sie einen massiven Draht in ein weibliches Überbrückungskabel.

Hier ist eine bessere Möglichkeit, Verbindungskabel (weiblich-zu-männlich) zu erstellen:

  • Nur Massivdraht verwenden
  • Schneiden Sie drei 4-Zoll-Stücke aus massivem Draht
  • Abisolieren von 1/4 Zoll an beiden Enden des massiven Drahtes
  • Verwenden Sie weibliche Verbindungsstifte

    • Schieben Sie einen weiblichen Verbindungsstift auf ein Ende des Massivdrahts und crimpen Sie

      Der Buchsenstift sollte sich nicht lösen, ggf. löten

    • Zugentlastung mit Elektrikerklebeband über Anschlussbuchse oder Abdeckstift schieben

Verdrahten Sie das Relais wie im Diagramm gezeigt mit dem Pi:

  • Verbinden Sie das weibliche Ende des Kabels mit dem Raspberry Pi-Pin.
  • Führen Sie einen massiven Draht in das Relais ein.

Schritt 8: Erstellen Sie einen Startdienst

Die meisten Relais, einschließlich des gekauften, funktionieren wie folgt:

  • Wenn das Signal eingeschaltet ist, bleibt der Stromkreis ausgeschaltet.
  • Wenn das Signal AUS ist, ist die Schaltung eingeschaltet.

Wenn der Raspberry Pi Strom verliert, verfügt das Relais über einen Sicherheitsmechanismus, der den Stromkreis ausgeschaltet hält.

Ein Problem kann auftreten, wenn der Rapberry Pi und das Relais wieder mit Strom versorgt werden, aber bevor der Raspberry Pi den Bootvorgang abgeschlossen hat, um das Signal einzuschalten, das den Stromkreis ausgeschaltet halten muss. Sie könnten morgens mit geöffneter Garage und möglicherweise ein paar neuen Freunden aufwachen!

Das Relais initialisiert sich jedoch erst dann, wenn der GPIO-Pin-Modus über diesen Befehl eingestellt wird: gpio mode 7 out. Wenn der GPIO-Pin auf ON (gpio write 7 1) gesetzt ist, bevor Sie den GPIO-Modus einstellen, bleibt das Relais nach der Initialisierung ausgeschaltet.

Um diese Initialisierung beim Booten auszuführen und nicht mit neuen Freunden aufzuwachen, verwenden Sie das folgende Startskript.

$ ssh pi@♣raspberry-pi-ip♣

$ sudo nano /etc/init.d/garagerelay

Fügen Sie dann dieses Skript ein:

#! /bin/bash

# /etc/init.d/garagerelay # Führt bestimmte Funktionen aus, wenn das System dazu aufgefordert wird "$1" beim Start) echo "Starting Relay" # Schalte 7 ein, wodurch das Relais ausgeschaltet bleibt /usr/local/bin/gpio write 7 1 #Starte Gpio /usr/local/bin/gpio-Modus 7 out;; stop) echo "Gpio stoppen";; *) echo "Verwendung: /etc/init.d/garagerelay {start|stop}" exit 1;; esac-Ausgang 0

Zum Speichern: STRG-o, ENTER

Um nano zu beenden, STRG-x

Machen Sie die Datei ausführbar:

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

Sagen Sie Ihrem Pi nun, dass es dieses Skript beim Booten ausführen soll:

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

(Hinweis: Sie können die Warnung "fehlende LSB-Tags" ignorieren.)

Stellen Sie sicher, dass das Startskript ausgeführt wird

$ sudo Neustart

Öffnen Sie einen Browser und klicken Sie auf den Öffner. Das Relais sollte klicken.

Schritt 9: Raspberry Pi an die Garage anschließen

Raspberry Pi an die Garage anhängen
Raspberry Pi an die Garage anhängen

Führen Sie beim Verschieben des Raspberry Pi unbedingt Folgendes aus:

$ Herunterfahren -h 0

Möglicherweise möchten Sie die Stromversorgung der Garage ausschalten. Der Türklingelöffner verursacht also keinen Stromschlag:). Der wahre Grund ist, dass die Tür jedes Mal, wenn Sie die Drähte kurzschließen, auf und ab geht.

Lösen Sie die Wandschrauben des Türklingelöffners, der die Türklingel an der Wand befestigt.

Stechen Sie ein Loch von der Garage hinter dem Türklingelöffner in das Innere des Hauses. In Texas sollte der Raspberry Pi nicht in der Garage stehen, die Temperaturschwankungen in der Garage liegen außerhalb der Betriebsspezifikationen des Raspberry Pi.

Führen Sie die Relaisdrähte durch das Loch (verwenden Sie einen Kleiderbügel).

Lösen Sie die beiden Schrauben auf der Rückseite des Türklingelöffners.

Beide Enden der Relaisdrähte abisolieren: 1) etwa 1/8 Zoll von der Relaisseite und etwa ½ Zoll von der Türklingelseite. Biegen Sie die Türklingelseite des Drahtes zu einer halben Schlaufe, die groß genug ist, um um die hintere Schraube zu passen.

Schließen Sie ein Relaiskabel an jede Schraube auf der Rückseite der Türklingel an und ziehen Sie die Schraube fest. Die Anschlüsse sind wie im Bild gezeigt. Da das Relais den Stromkreis isoliert, spielt die Richtung keine Rolle, welches Relais an welcher Schraube befestigt ist.

Schritt 10: Raspberry Pi an SECO-LARM anschließen

Raspberry Pi an SECO-LARM anschließen
Raspberry Pi an SECO-LARM anschließen
Raspberry Pi an SECO-LARM anschließen
Raspberry Pi an SECO-LARM anschließen

Bevor ich den Code fertig hatte, waren meine Familie und ich im Urlaub und ich öffnete meinen Browser. Die letzte Ansicht meines Browsers war der Garagentoröffner – die Seite wurde aktualisiert und das Garagentor geöffnet. Ein paar Tage später rief ein Nachbar an und fragte, ob das Garagentor geöffnet werden soll? Zum Glück konnte ich es aus 500 Meilen Entfernung schließen.

Dieser Snafu zwang mich, den Code zu ändern, damit dies nicht passiert, und einen Sensor und den Zustand des Garagentors zur Website hinzuzufügen.

Dies ist ein Link zum ursprünglichen anweisbaren zum Hinzufügen eines Sensors. Da jedoch alles bereits abgeschlossen ist, kann die Installation des Sensors stark vereinfacht werden und anstelle von Python ein paar Codezeilen in die index.php einfügen.

closed

Der Magnet wird an der linken, oberen Innenseite des Garagentors und der Sensor an der Garagenwand befestigt. Also musste ich festes Thermostatkabel vom Sensor zurück zum Himbeer-Pi führen. Dies erforderte ein Loch von der Garage in den Dachboden und vom Dachboden in die Wand mit dem Garagentoröffner (Türklingelschalter).

Ich habe eine blaue Anschlussdose zwischen dem SECO-LARM-Sensor und den massiven Drähten eingefügt.

In meinem Haus gibt es einen 18-Zoll-Spalt zwischen der Decke des ersten Stocks und dem Boden des zweiten Stocks. Ich gehe davon aus, dass hier die Heiz- und Kühlkanäle verlaufen. Ich brauchte eine Bohrerverlängerung, die lang genug war, um durch den zweiten Stock und durch die obere 2x4 (obere Platte) mit der Türklingel zu gehen.

Der wichtigste Teil ist, wenn Sie vom Dachboden in den Bereich bohren, in dem die Drähte zum Garagentoröffner verlaufen, NICHT durch den Strom zu bohren. Das zu reparieren hat keinen Spaß gemacht. Die Funken zu sehen und die Lichter ausgehen zu lassen, war ziemlich aufregend!

Der Sensor benötigt zwei feste Thermostatdrähte oder einen unsichtbaren Hundezaundraht.

Der Raspberry Pi hat mehrere Pin-Beschreibungen (BCM, wPi, physisch). Der Code verwendet die Pin-Nummern der Verdrahtung. Um alle Pins und Pin-Zuordnungen und Pin-Werte anzuzeigen, geben Sie Folgendes ein:

$ gpio weiterlesen

Geben Sie für ein gpio-Handbuch Folgendes ein:

$ gpio Mann

In der Originalanleitung ist der physische Pin 9 geerdet und wird mit einem der SECO-LARM-Kabel verbunden. Dies funktioniert jedoch bei mir nicht. Verbinden Sie stattdessen die Leitungen mit den physischen Pins 15 und 17

Der physikalische Pin 15 (wPi Pin 3) geht auf 3,3 V, wenn der SECO-LARM-Sensor geschlossen ist. Der physische Pin 17 ist 3,3 V. Wenn es nicht funktioniert, dann schalten Sie die Anschlüsse am SECO-LARM um.

SECO-LARM an Garagentor und Wand anbringen. Kabel verlegen und mit Raspberry Pi verbinden.

Schritt 11: Senden Sie eine Benachrichtigung, wenn die Tür geöffnet ist, wenn sie geschlossen werden sollte

Wenn das Garagentor geöffnet ist, obwohl es nicht sein sollte, senden Sie eine SMS an ein Mobiltelefon.

Installieren und konfigurieren Sie einfaches SMTP.

Ich habe AT&T-Mobilfunk und verwende ♣cell-phone-number♣@txt.att.net für Textnachrichten. Ich habe auch ein Google Mail-Konto und das folgende Beispiel verwendet ♣gmail-account♣@gmail.com. Wenn Sie andere Dienste verwenden, nehmen Sie die entsprechenden Änderungen vor.

Öffnen Sie für die folgenden $-Befehle ein Terminalfenster auf dem MacBook und melden Sie sich bei Ihrem Raspberry Pi an.

Stellen Sie sicher, dass die Repositorys auf dem neuesten Stand sind:

$ sudo apt-get update

Installieren Sie einfache SSMTP- und E-Mail-Dienstprogramme:

$ sudo apt-get install ssmtp

$ sudo apt-get install mailutils

Bearbeiten Sie die SSMTP-Konfigurationsdatei:

$ sudo nano /etc/ssmtp/ssmtp.conf

wie folgt:

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

Bearbeiten Sie die SSMTP-Aliasdatei:

$ sudo nano /etc/ssmtp/revaliases

Erstellen Sie eine Zeile für jeden Benutzer, der E-Mails senden kann. Zum Beispiel:

Legen Sie die Berechtigungen der SSMTP-Konfigurationsdatei fest:

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

Die Berechtigungen der Datei /etc/ssmtp/ssmtp.conf bestimmen, wer E-Mails vom Raspberry Pi versenden darf. Standardmäßig gehört diese Datei dem Benutzer root und die Gruppe der Datei ist ebenfalls root.

Bearbeiten Sie die SSMTP-Aliasdatei, die Daten zu den E-Mail-Konten enthält:

$ sudo nano /etc/ssmtp/ssmtp.conf

Sobald der obige Einrichtungs- und Konfigurationsprozess abgeschlossen ist, testen Sie ihn, indem Sie eine E-Mail über die Befehlszeile senden.

$ echo "Garagentor schließen" | mail -s "Garage Door Open" ♣Handy-Nummer♣@txt.att.net

Erstellen Sie ein Skript, um zu überprüfen, ob das Garagentor geöffnet ist, obwohl es nicht geöffnet sein sollte, und senden Sie dann eine Textnachricht.

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

und füge folgendes hinzu:

#!/bin/bash

# Überprüfen Sie, ob das Garagentor geöffnet ist. # Wenn geöffnet, Benachrichtigung senden und in Syslog schreiben up=0; door=$(/home/pi/wiringPi/gpio/gpio read 3) if ["$door" -eq "$up"] then logger ♣your-hostname♣: Garagentor öffnen echo "Garagentor schließen" | mail -s "Garage Door Open" ♣Handy-Nummer♣@txt.att.net fi exit 0

Fügen Sie dann eine crontab hinzu, die während der erforderlichen Stunden ausgeführt wird:

$ sudo crontab –e

und füge hinzu:

# Nachts stündlich prüfen, ob das Garagentor geöffnet ist

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

Wenn alles funktioniert, fahren Sie mit dem nächsten Schritt fort.

Schritt 12: Raspberry Pi in geheimes Buch legen

Raspberry Pi in geheimes Buch stecken
Raspberry Pi in geheimes Buch stecken
Raspberry Pi in geheimes Buch stecken
Raspberry Pi in geheimes Buch stecken

Lege den Himbeer-Pi in ein geheimes Buch. Ich habe dieses bei Michael für ungefähr 7 Dollar bekommen. Ich schneide einige kleine Löcher für die Drähte und das Netzkabel.

Schritt 13: Anhang: Referenzen

SunFounder 2 Kanal 5V Relais Schildmodul für Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-Kanal-Relais-Schnittstellenplatine, und jeder benötigt 15-20mA
  • Treiberstrom Ausgestattet mit Hochstromrelais, AC250V 10A; DC30V 10A
  • Standardschnittstelle, die direkt vom Mikrocontroller gesteuert werden kann (Arduino, 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL-Logik)
  • Anzeige-LEDs für den Relaisausgangsstatus Link zum Herunterladen des Dokuments:

Schritt 14: Anhang: Updates

21.02.2016

  • In der ursprünglichen Anleitung gab es Probleme mit der Autokorrektur, der Formatierung und der Klarheit der Anweisungen.

    • Ein Beispielproblem ist, wenn doppelte Anführungszeichen im Code in etwas geändert werden, das wie ein kursiv gedrucktes doppeltes Anführungszeichen aussieht. Wenn Sie dies jedoch ausschneiden und in ein Skript einfügen, funktioniert es nicht.
    • Der anweisbare Editor mag die Autokorrektur, also dreht sich Wlan zum Plan und autoremove wird automatisch entfernt. Diese Veränderungen sind schwer zu erkennen.
    • Einige meiner Anweisungen waren möglicherweise nicht klar genug.
    • Normalerweise verwende ich spitze Klammern als Indikator für etwas, das ersetzt werden muss. Der Editor wandelt diese in HTML um. Also habe ich zu eckigen Klammern gewechselt, aber diese können Probleme verursachen, weil sie wie Code aussehen. Also entschied ich mich schließlich für ♣s als Indikator für den Ersatz durch einen tatsächlichen Wert.
  • Im Laufe der Zeit habe ich auch einige der Skripte verbessert.
  • Bearbeitete Schritte 21-26

03APR2016

  • Anhang mit Fehlerbehebung, Referenzen und Updates erstellt (Schritte 27-29)
  • Fehlerbehebung vom vorherigen Schritt 2 in den Anhang verschoben
  • Die Seite zur Fehlerbehebung wurde aktualisiert und alphabetisch sortiert
  • Dateiname von test2wifi.sh in garage.sh geändert - nur beschreibender.
  • Cron aktualisiert, um garage.sh zu verwenden
  • Bearbeitet 1, 20-26 (Erstellen Sie einen Startup-Dienst, um vor dem Anhang zu gehen)

04APR2016

  • Die Schritte 2-11 und 16-20 durch meinen Standard ersetzt, war das Einrichten eines Raspberry Pi
  • Aktualisierte Stückliste, Schritt 1
  • Hinzugefügte/zusammengeführte Fotos

05APR2016

Vereinfachte Website und Bild (Schritte 4 und 5)

01. MAI 2016

Fehlerbehebung für Secolarm/Raspberry Pi-Sensor hinzugefügt

01. MAI 2016

Vorherige Bearbeitungen nicht richtig gespeichert?

11.11.2016

  • Aktualisiert auf AT&T GigaPower und änderte den Router auf 5268ac
  • 5268ac unterstützt kein Loopback, daher ist der Garage Opener-Server von Computern im LAN nicht zugänglich. Damit ein MacBook auf den Garagenöffner-Webserver zugreifen kann, gehen Sie wie folgt vor:

$ sudo nano /etc/hosts

und füge die Zeile hinzu

192.168.1.64 ♣Server-externer-Domain-Name♣

Speichern und beenden, STRG-o, STRG-x

$ sudo killall -HUP mDNSResponder

  • Die integrierten Portweiterleitungsregeln des 5268ac, wie HTTPS-Server, HTTP-Server und Webserver, funktionieren nicht. So funktioniert die Portweiterleitung:

    • Öffnen Sie einen Browser und gehen Sie zu 192.168.1.254
    • Anmeldung
    • Wählen Sie Einstellungen, Firewall, Anwendungen, Pinholes und DMZ.
    • Wählen Sie den Garagenöffner-Webserver
    • Wählen Sie Benutzerdefiniert
    • Klicken Sie auf eine neue benutzerdefinierte Anwendung

      • Geben Sie in Anwendungsprofilname ein: PortForwarding
      • Fügen Sie in Anwendungsdefinition erstellen jede der folgenden Optionen hinzu und klicken Sie auf Zur Liste hinzufügen:

        • TCP von 80 bis 80, Zuordnung zu Host-Port 443
        • TCP von 443 auf 443 wird dem Host-Port 443 zugeordnet
        • UDP von 443 bis 443, Zuordnung zu Host-Port 443
        • UDP von 80 bis 80, Zuordnung zu Host-Port 443
    • Klicken Sie zurück
    • Wählen Sie Ihren Webserver erneut aus
    • Wählen Sie Benutzerdefiniert
    • Portweiterleitung hinzufügen
    • Klicken Sie auf Speichern

21.01.2018

  • Aktualisiert auf Raspberry Pi 3
  • Mehrere Änderungen an den Schritten
  • Einige Teile und Preise aktualisiert

Schritt 15: Anhang: Fehlerbehebung

Verwendeter Speicherplatz

Die letzte Zeile zeigt den gesamten verwendeten Speicherplatz an. SD-Karte hat 8 GB.

$ cd../..

$ sudo du –hx –c

Email

Wenn Sie Probleme haben, versuchen Sie Folgendes:

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

Wenn E-Mail richtig eingerichtet ist, sollten Sie eine E-Mail in Ihrem Google Mail-Konto erhalten.

Wenn Sie einen Authentifizierungsfehler erhalten:

Möglicherweise müssen Sie die Sicherheit Ihres Kontos verringern. Es wird jedoch NICHT empfohlen, die Sicherheit zu verringern. Google sendet eine E-Mail mit einem Link zu einer niedrigeren Sicherheitseinstellung.

Sie können von Ihrem aktuellen E-Mail-Reader zu www.gmail.com wechseln, um auf Ihr Konto zuzugreifen (empfohlen) oder Ihre Einstellungen unter https://www.google.com/settings/security/lesssecu… so ändern, dass Ihr Konto nicht mehr besteht durch moderne Sicherheitsstandards geschützt.

Ich empfehle nicht, Ihre Sicherheitsstandards zu senken.

Wenn Sie einen Autorisierungsfehler erhalten:

Die wahrscheinlichste Ursache dafür ist, dass Sie in der Datei /etc/ssmtp/ssmtp.conf einen falschen Benutzernamen oder ein falsches Passwort für Ihr Gmail-Konto angegeben haben. Überprüfen Sie die Werte der Felder AuthUser und AuthPass.

Wenn die Verbindung während der Verarbeitung unterbrochen wird:

Möglicherweise haben Sie irgendwo in /etc/ssmtp/ssmtp.conf oder in /etc/ssmtp/revaliases den falschen Port für das Google-smtp angegeben.

Überprüfen Sie die letzten Zeilen Ihrer Protokolle. Dort sollten einige relevante Fehlermeldungen stehen:

$ tail /var/log/mail.log

$ tail /var/log/syslog

Garagentor lässt sich nicht öffnen

Wenn alles funktioniert hat und es einfach aufhört, dann versuchen Sie es neu zu starten. Wenn das nicht funktioniert, ziehen Sie das Netzkabel vom Raspberry Pi ab und stellen Sie die Stromversorgung wieder her. Der Raspberry Pi sollte in weniger als 2 Minuten neu starten und alles sollte gut funktionieren. Dies wird im Allgemeinen durch einen Stromausfall zum Residential Gateway verursacht.

GPIO

Wenn etwas schief geht, können Sie am besten mit dem folgenden Befehl sehen, was passiert:

$ gpio weiterlesen

Melden Sie sich vom MacBook aus bei Raspberry Pi an

Terminal ist ein MacBook-Dienstprogramm: disk/applications/utilities/terminal. Ich behalte die Terminal-App im Dock.

Öffnen Sie auf dem MacBook das Terminal

$ ssh pi@♣raspberry-pi-ip♣

♣Passwort♣

Melden Sie sich beim Wohn-Gateway an

Öffnen Sie auf dem MacBook den Browser

URL = ♣raspberry-pi-ip♣

Login: ♣Gateway-Passwort♣

Protokolle

Wenn etwas schief geht, überprüfen Sie diese Protokolle auf Fehler, Warnungen oder andere Probleme.

$ cat /var/log/messages

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

MAC-Verzeichnis

Verzeichnis auf dem MacBook, in dem Websitedateien gespeichert werden

MAC-Verzeichnis = /Benutzer/♣mein Macbook♣/Desktop/WLAN-fähiges Zuhause/WLAN-fähiger Garagentoröffner/Website

Passwort

Passwort = ♣raspberry-pi-password♣

RAM und CPU verwendet

$ nach oben

STRG-c zum Beenden

Raspberry Pi Home-Verzeichnis

$ pwd

/home/pi

Hostname des Raspberry Pi

$hostname

hostname = ♣hostname♣

Raspberry Pi IP

Himbeer-Pi-IP♣ = 192.168.1.93

Raspberry Pi-Website-Verzeichnis

/var/www

Seco-larm funktioniert nicht mehr

Am 01. MAI 2016 funktionierte die Seco-larm nicht mehr. Dies ist das dritte Mal, dass der Sensor nicht mehr funktioniert. Um dies richtig zu sagen, hat der physische Pin 15 auf dem Raspberry Pi die Erkennung des 3,3-V-Eingangs beendet. Ich habe die physischen 3,3-V-Pins 1 und 17 ausprobiert, und beide gaben immer noch 3,3 V aus. Ich wechselte von physischem Pin 15 zu einem anderen GPIO, physischem Pin 16 (GPIO 4) und es funktionierte wieder. An der Seco-larm ist also nichts auszusetzen. Das Problem scheint beim Raspberry Pi GPIO zu liegen.

GPIO 3, physischer Pin 15 ist tot. Dies ist ein sehr guter Beitrag zum Testen von GPIO-Pins.

Ich bin von GPIO 3 auf GPIO 4 umgestiegen und habe den Code entsprechend geändert. Ich bin mir nicht sicher, warum der GPIO-Pin nicht mehr funktioniert. Hier sind zwei mögliche Gründe:

  • Ich habe den Seco-larm-Sensor so montiert, dass er beim Schließen der Tür 3,3 V ausgibt. Das Garagentor wird öfter geschlossen als geöffnet. Vielleicht kann der GPIO-Pin keinen mehr oder weniger konstanten Eingang von 3,3 V aufnehmen.
  • Der Ausfall fiel mit einem Stromausfall zusammen, vielleicht gab es eine Stromspitze.

U-verse Wohn-Gateway

Ich habe AT&T U-verse mit einem Residential Gateway, aber jeder Dienst sollte funktionieren.

Wenn das U-verse Gateway neu gestartet wird oder die Stromversorgung verliert, muss der Raspberry Pi möglicherweise neu gestartet werden.

U-verse Residential Gateway Öffentliche IP = ♣Router's-Public-IP♣

Die öffentliche IP-Adresse eines U-verse-Wohn-Gateways kann sich ändern, tut dies jedoch sehr selten

U-verse Residential Gateway-Startseite = 192.168.1.254

SSID des drahtlosen Zugangspunkts des U-verse Routers = ♣ssid♣

WLAN-Durchsatz ist langsamer als erwartet

Ändern Sie den Router auf einen weniger genutzten Kanal. Standardmäßig stellen alle Leitungsanbieter das WLAN aller auf Kanal 1 ein. Wechseln Sie zu einem weniger genutzten Kanal, z. B. 11. Versuchen Sie, eine ungerade Zahl zu verwenden.

Hinweis: Ich habe ein paar Nachbarn erzählt, was ich getan habe, um das WLAN zu verbessern, und jetzt sind alle auf 9 oder 11, also bin ich zurück zu 1 gewechselt. Sie sollten immer einen ungeraden Kanal verwenden.

Öffnen Sie einen Browser.

Geben Sie für U-Verse 192.168.1.254 in das URL-Feld ein.

Klicken Sie auf Drahtlose Verbindung und wählen Sie Kanal 6 oder 11.

Es gibt eine App für Smartphones namens WLAN-Analyzer. Eines der Displays zeigt alle WLAN-Zugangspunkte in der Nähe, die auf einem bestimmten Kanal senden. In meiner Nachbarschaft ist jeder auf Kanal 1 eingestellt.

Ziehen Sie den Raspberry Pi aus und stellen Sie die Stromversorgung wieder her

Empfohlen: