Inhaltsverzeichnis:

Hausalarm-Internet-Dialer für Aritech mit Arduino - Gunook
Hausalarm-Internet-Dialer für Aritech mit Arduino - Gunook

Video: Hausalarm-Internet-Dialer für Aritech mit Arduino - Gunook

Video: Hausalarm-Internet-Dialer für Aritech mit Arduino - Gunook
Video: The Best Home Alarm System For Self-installation: Gautone Pg103 / Digoo Dg-hosa Review 2024, November
Anonim

Von ambrose.clarkeFolgen Sie mehr vom Autor:

Arduino Steve - Eine Minecraft-Animatronic
Arduino Steve - Eine Minecraft-Animatronic
Arduino Steve - Eine Minecraft-Animatronic
Arduino Steve - Eine Minecraft-Animatronic
Internet Aktivieren Sie einen HKC-Heimalarm
Internet Aktivieren Sie einen HKC-Heimalarm
Internet Aktivieren Sie einen HKC-Heimalarm
Internet Aktivieren Sie einen HKC-Heimalarm
Fernzugriff auf Ihren Hausalarm
Fernzugriff auf Ihren Hausalarm
Fernzugriff auf Ihren Hausalarm
Fernzugriff auf Ihren Hausalarm

Ein sehr verbreiteter Haus- und Geschäftsalarm, der in vielen europäischen Ländern verwendet wird, sind die Alarmtafeln der Aritech-Serie.

Diese wurden bis Anfang 2000 zu Hunderttausenden installiert und viele existieren noch heute in Häusern - sie werden normalerweise von den Installateuren neu gekennzeichnet, aber sie haben alle eine leicht erkennbare Tastatur.

Sie sind ein feines System mit vielen Funktionen - aber da sie vor dem Breitband entwickelt wurden, fehlt ihnen die Möglichkeit, eine Verbindung zum Internet herzustellen.

Das Bild auf dieser Seite ist ein animiertes Bild des endgültigen Systems - es kann möglicherweise nicht auf mobilen Geräten animiert werden. Hier ist der Link zur Animation

In diesem Projekt geht es um das Reverse Engineering der Alarmzentrale, um diese fehlende Funktionalität hinzuzufügen.

Es wird Folgendes hinzufügen:

  • Möglichkeit, das Panel zu kontaktieren und Protokolle mit jedem Browser von überall aus zu aktivieren/deaktivieren/anzuzeigen, z. Ein Handy
  • Lassen Sie sich vom Alarmsystem eine E-Mail senden, wenn der Alarm ausgelöst wurde
  • Ermöglicht den Zugriff auf Engineering-Menüs und die Fernkonfiguration der Alarmzentrale.
  • Unterstützt CD34, CD62, CD72, CD91 und CS350, die alle wichtigen Modelle dieser Serie sind.

Die Gesamtkosten aller Teile betragen viel weniger als $20

Anmerkungen:

Alle Fotos und Screenshots sind von mir selbst (gemäß Instructables-Richtlinien) - der Code und das Schaltungsdesign wurden von mir erstellt.

Schritt 1: Der Plan

Der Plan
Der Plan
Der Plan
Der Plan

Der Plan war, den Arduino dazu zu bringen, eine Tastatur zu emulieren.

Das Aritech-Panel würde denken, es sei eine Standardtastatur - aber es würde tatsächlich mit einem Arduino sprechen - dieses Arduino hat keine Tastatur oder kein Display - es hat stattdessen einen Webserver, mit dem Sie sich über das Internet verbinden können.

Der Server liefert eine Website, die Websockets als Kommunikationstransport verwendet, um eine sehr reaktionsschnelle emulierte Tastatur in HTML zu erhalten. Mehrere Tastendrücke werden gepuffert, um eine Antwort zu geben, die mit der ursprünglichen Tastatur konkurrieren kann.

Der Arduino ist an einem beliebigen Punkt auf dem Aritech-Bus installiert - ich habe meinen im Alarmtafelschrank platziert -, aber Sie können ihn an das Keypad-Ende anschließen, wenn Ihre Ethernet-Verbindung näher ist.

Es ist auch möglich, einen Ethernet-zu-WLAN-Adapter zu verwenden, wenn sich die Alarmzentrale in einiger Entfernung von einer Ethernet-Verbindung befindet - ein kabelgebundenes Ethernet-Kabel ist jedoch aus Gründen der Zuverlässigkeit viel vorzuziehen.

Schritt 2: Die Teile

Die Teile
Die Teile
Die Teile
Die Teile
Die Teile
Die Teile

Die erforderliche Stückliste lautet:

  1. Arduino Uno R3 (Amazon-Link £ 6) - dh. ein Standard-Arduino - Klone können ab $5 gekauft werden
  2. Arduino Ethernet-Schild (Amazon-Link £7) - Ein weiteres Standard-Arduino-Teil - Amazon verkauft sie für ca. 10 US-Dollar aufwärts
  3. DC-DC-Netzteil (Link oder Link) ca. 4 US-Dollar Wird verwendet, um die 12 Volt der Panels in stabile 5 Volt umzuwandeln

Folgendes ist optional, je nachdem, welche Schaltung Sie bauen

  1. Zwei Transistoren BC109 (oder ähnliche Allzweck-NPN-Transistoren wie 2N2222 oder 2N2369)
  2. Widerstände wie im Schaltplan angegeben
  3. DiodeBeliebige Diode (zB IN4002)
  4. Mini-Steckbrett

Sie benötigen auch das Techniker-(Admin-)Passwort für Ihren Aritech-Alarm. Wenn Sie das Passwort nicht haben, sollten Sie die Zentrale auf die Werkseinstellungen zurücksetzen und neu konfigurieren.

Stromversorgung des Arduino

Das DC-DC-Netzteil ist die wichtigste Komponente, um richtig zu liegen - seien Sie nicht versucht, billige 12-V-zu-5-V-USB-Adapter für Autos zu verwenden - die Spannung der billigeren Adapter, die ich getestet habe, enthält eine Welligkeitsspannung, die dazu führen kann, dass das Arduino zufällig abstürzt.

Ich empfehle nicht, die eingebaute 9V-Steckdose des Arduinos zu verwenden, wenn der Ethernet-Adapter verwendet wird oder das 5V-Netzteil der Alarm Panels verwendet wird, um das Arduino mit Strom zu versorgen - die Dinge werden heiß! Der oben angegebene DC-DC-Adapter ist sehr effizient und liefert sehr stabile 5V ohne Erwärmung - ich lege diese 5V an den 5V-Pin des Arduino an.

Wenn Sie sich für die Stromversorgung über einen netzbetriebenen USB-Adapter (z. B. Telefonadapter) und nicht über das obige Modul entscheiden, müssen Sie sicherstellen, dass der Ausgang dieses Adapters mit der Erdung der Alarmzentrale verbunden ist; da alles den gleichen GND teilen muss.

Breadboard-Auswahl

Ich benutzte ein kleines Mini-Breadboard, um das System zu prototypisieren.

Wenn Sie es ordentlich machen, ist das Steckbrett gut genug, um es als Lösung zu verwenden - aber nachdem Sie sicher sind, dass alles funktioniert, können Sie eine gelötete Version erstellen, z.

Schritt 3: Der Build (Breadboard-Version)

Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)
Der Build (Breadboard-Version)

Hier sind die beiden Optionen zur Auswahl.

1) Direkt zum Panel. Dies ist die einfachste Methode. Es ist sehr effizient und zuverlässig. Die einzigen Nachteile sind - es müssen 2 Drähte an die Aritech-Hauptplatine gelötet werden und einige mögen es nicht, direkt an das Panel zu löten. Außerdem sollten die beiden Drähte vom Arduino zum Panel für diese Option ziemlich kurz sein (ca. 30 cm max ist ungefähr richtig), sodass sich das Arduino im oder in der Nähe des Alarmschranks befinden muss. Diese Option wird im nächsten (optionalen) Schritt beschrieben.

-oder-

2) Benutzerdefinierter Arduino zu Aritech-Schaltung

Dies beinhaltet die Erstellung einer benutzerdefinierten Schnittstellenplatine, um die Arduinos-Ausgänge an den Aritechs 12-V-Tastaturbus anzuschließen. Die Schaltung ist speziell so ausgelegt, dass sie keine anderen Bedienteile am Bus stört. Es erfordert 2 Transistoren und einige unterstützende Komponenten. Die Drähte können beliebig lang sein.

Die oben gezeigte Schaltung ist die Schnittstelle, die für den Arduino erforderlich ist, um eine Verbindung zum 4-Draht-Bus herzustellen.

Ein Foto des Steckbretts (zweites Foto) ist für eine Idee zum Anschließen gezeigt - Dieses Steckbrett wurde für die Entwicklung verwendet - bitte beachten Sie beim Aufbau Ihrer Leiterplatte oder Steckplatine den Schaltplan (erstes Foto).

Das Aritech-Panel verwendet einen vieradrigen Tastaturbus - Sie können an jeden Punkt dieses Busses anschließen - z. entweder am Keypad-Ende oder am Alarm Panel-Ende.

Das dritte Foto ist nur für Interesse hinzugefügt und zeigt einen Schaltungssimulator, den ich beim Entwerfen der Schaltung verwendet habe. Das Ziel war, die Anzahl der Teile auf ein Minimum zu beschränken; nach Möglichkeit die gleichen Teiletypen und -werte und um sicherzustellen, dass die Ströme niedrig gehalten werden, damit keine unnötige Wärme produziert wird.

Stellen Sie Fragen, wenn Sie nicht weiterkommen, und ich kann helfen - Ich habe dies auf den verschiedenen Panels getestet, die ich hier besitze (ich habe sie im Boot-Verkauf abgeholt, wenn ich sie sehe) - Wie immer bei diesen Projekten kann ich nicht verantwortlich sein jegliche Beschädigung.

Schritt 4: Die alternative Hardwareversion (easy One Diode Version)

Die alternative Hardwareversion (easy One Diode Version)
Die alternative Hardwareversion (easy One Diode Version)
Die alternative Hardwareversion (easy One Diode Version)
Die alternative Hardwareversion (easy One Diode Version)
Die alternative Hardwareversion (easy One Diode Version)
Die alternative Hardwareversion (easy One Diode Version)

Dies ist eine Alternative zum Anschluss an den 4-Draht-Bedienteilbus. Sie können das Projekt direkt mit dem Aritech-Motherboard verbinden.

Dazu müssen zwei Drähte an das Aritech-Panel gelötet werden - aber der Vorteil, dass die gesamte Schaltung jetzt nur noch eine Diode ist - keine Transistoren, Widerstände oder Steckbrett erforderlich!

Die obigen Bilder zeigen die Anschlusspunkte zum Anbringen der Drähte.

Bei dieser Methode müssen Sie zwei Drähte an den größten Chip (mit dem Namen 78C17) auf dem Panel anlöten und mit den Arduino Pins 0 und 1 verbinden - der Pin 1-Anschluss zur Alarmzentrale muss eine Diode mit dem gestreiften Ende (Kathode) von. haben die Diode geht zum Arduino - die nicht gestreifte zum Alarmchip.

Die Pin-Verbindung hängt vom Alarmmodell ab - siehe die Abbildungen oben für die Verbindung.

Wenn Sie es schwierig finden, an die Pins zu löten (sie sind ein wenig eng), löten Sie die Rückseite des Panels oder Sie können entlang der Schienenroute suchen, um eine einfachere Lötstelle zu finden. Im dritten Bild dieses Schritts werden die Verbindungspunkte gezeigt, die ich für einen CD72 / CD62 verwendet habe. Sichern Sie die Drähte mit Klebeband, Heißkleber oder wenn Sie sich mein Board genau ansehen, können Sie sehen, dass ich eine kleine Drahtschlaufe gelötet habe, um mein Kabel sicher zu halten.

Sie müssen den Arduino immer noch mit dem bereits erwähnten DC-DC-Wandlermodul (auf 5 V eingestellt) mit Strom versorgen.

Der Aritech-Chip hat 5V - genau wie der Arduino - also sind sie perfekt kompatibel.

Einige neuere Panels (zB einige CS350) verwenden einen oberflächenmontierten Chip (der Chip ist sehr klein und quadratisch). Für diese ist die vorherige Schaltung möglicherweise am besten - aber wenn Sie es versuchen möchten, können Sie möglicherweise an einer anderen Stelle entlang der vom Mikrochip führenden Spur löten. Wenn Sie die Pinbelegung des PD78C17GF-Chips in seinem Datenblatt nachschlagen, lauten die Pinnamen, mit denen eine Verbindung hergestellt werden soll, "PC0/TXD" und "PC1/RXD".

Etwas "Lötgeflecht" kann nützlich sein, um Lötfehler zu beseitigen, wenn Sie das Löten nicht gewohnt sind und zu viel Lötmittel auftragen.

Stellen Sie natürlich sicher, dass beim Löten alles ausgeschaltet ist - zu Ihrer Sicherheit sowie zu Ihrer Alarmanlage.

Schritt 5: Die Software

Die Software
Die Software

Der Code ist ziemlich komplex - es war ein großer Aufwand, und es mussten viele Tricks angewendet werden, um all diesen Code (Tastatur-Emulator, HTML-Webserver, HTML-Seiten, E-Mail-Client, Websocket-Webserver, DES-Verschlüsselung und Base64-Bibliotheken) in das winzige zu packen Arduino 32K Flash- und RAM-Speicherplatz.

Der gesamte Code wird hier gehostet:

github.com/OzmoOzmo/CastleAritechArduinoRK…

Ich werde den Projektcode von Zeit zu Zeit aktualisieren - also stellen Sie sicher, dass Sie das Projekt Fork machen, damit Sie Benachrichtigungen erhalten, wenn es ein Update gibt.

Laden Sie einfach alle Dateien herunter (wichtig: Verwenden Sie den Download-Zip-Button und nicht eine Datei nach der anderen).

Kompilieren:

Legen Sie sie in denselben Ordner - und öffnen Sie die.ino-Datei in der Arduino IDE.

Im Projekt config.h gibt es eine Konfigurationsdatei - hier stellen Sie Ihre IP-Adresse, Ihre E-Mail-Adresse und weitere Optionen ein. Es ist gut kommentiert mit allen Optionen zur Auswahl.

Kompilieren und auf Arduino hochladen. Sie müssen das Arduino vollständig von der Alarmzentrale trennen, um es zu programmieren - da alles, was mit dem Arduino RX & TX (Pin 0 & 1) verbunden ist, den USB-Programmierfortschritt blockieren kann Und der USB, der gleichzeitig mit einem PC verbunden ist, versucht, den Arduino mit Strom zu versorgen.

Entwickler

Anpassen der Software

Ich habe festgestellt, dass ein Leonardo oder Mega gut zum Debuggen geeignet ist, da Sie zwei serielle Ports erhalten - einen zum Anschluss an die Alarmzentrale und einen zum Senden von Debug-Nachrichten zurück an den PC. Aber für den normalen Betrieb - diese oder ein UNO sind perfekt. Ein Oszilloskop und ein digitaler Signalanalysator waren großartige Werkzeuge zum Decodieren der verwendeten Protokolle - ich kann mehr darüber dokumentieren, wie ich das Protokoll zurückentwickelt habe, wenn jemand es wünscht.

Empfohlen: