Inhoudsopgave:

House Alarm Internet Dialer voor Aritech met Arduino - Ajarnpa
House Alarm Internet Dialer voor Aritech met Arduino - Ajarnpa

Video: House Alarm Internet Dialer voor Aritech met Arduino - Ajarnpa

Video: House Alarm Internet Dialer voor Aritech met Arduino - Ajarnpa
Video: PLANTS VS ZOMBIES BOK CHOY APOCALYPSE 2024, December
Anonim

Door ambrose.clarkeVolg meer van de auteur:

Arduino Steve - Een Minecraft Animatronic
Arduino Steve - Een Minecraft Animatronic
Arduino Steve - Een Minecraft Animatronic
Arduino Steve - Een Minecraft Animatronic
Internet Een HKC-thuisalarm inschakelen
Internet Een HKC-thuisalarm inschakelen
Internet Een HKC-thuisalarm inschakelen
Internet Een HKC-thuisalarm inschakelen
Toegang op afstand tot uw huisalarm
Toegang op afstand tot uw huisalarm
Toegang op afstand tot uw huisalarm
Toegang op afstand tot uw huisalarm

Een veelgebruikt alarmsysteem voor thuis en zakelijk gebruik in veel Europese landen zijn de Aritech-serie alarmpanelen.

Deze werden tot het begin van 2000 geïnstalleerd in hun honderdduizenden en velen bestaan nog steeds in huizen vandaag - ze zijn meestal opnieuw voorzien van een badge door de installateurs, maar ze hebben allemaal een gemakkelijk herkenbaar toetsenbord.

Het is een prima systeem met veel functies, maar omdat ze vóór breedband zijn ontwikkeld, kunnen ze geen verbinding maken met internet.

De afbeelding op deze pagina is een geanimeerde afbeelding van het uiteindelijke systeem - deze wordt mogelijk niet geanimeerd op mobiele apparaten. Hier is de link naar de animatie

Dit project gaat over reverse engineering van het alarmpaneel om deze ontbrekende functionaliteit toe te voegen.

Het zal het volgende toevoegen:

  • Mogelijkheid om contact op te nemen met het paneel en logs in/uit te schakelen/bekijken met elke browser, waar dan ook, bijv. Een mobiele telefoon
  • Laat het alarmsysteem u e-mailen als het alarm is afgegaan
  • Hiermee kunt u technische menu's openen en de alarmcentrale op afstand configureren.
  • Ondersteuning voor CD34, CD62, CD72, CD91 en CS350, allemaal de belangrijkste modellen van deze serie.

De totale kosten van alle onderdelen zullen veel minder zijn dan $ 20

Opmerkingen:

Alle foto's en screenshots zijn origineel door mijzelf (volgens de richtlijnen van Instructables) - de code en het circuitontwerp zijn door mijzelf gemaakt.

Stap 1: Het plan

Het plan
Het plan
Het plan
Het plan

Het plan was om de Arduino een toetsenbord te laten emuleren.

Het Aritech-paneel zou denken dat het een standaard toetsenbord was - maar het zou in feite praten met een Arduino - deze Arduino heeft geen toetsenbord of display - het heeft in plaats daarvan een webserver waarmee u verbinding kunt maken via internet.

De server levert een website die websockets als communicatietransport gebruikt om een zeer responsief geëmuleerd toetsenbord in html te geven. Verschillende toetsaanslagen worden gebufferd om een reactie te geven die vergelijkbaar is met het originele toetsenbord.

De Arduino kan op elk willekeurig punt op de Aritech-bus worden geïnstalleerd - ik heb de mijne in de kast van het alarmpaneel geplaatst - maar je zou hem aan het toetsenbord kunnen bevestigen als je Ethernet-verbinding dichterbij is.

Het is ook mogelijk om een Ethernet-naar-Wifi-adapter te gebruiken als het alarmpaneel zich op enige afstand van een Ethernet-verbinding bevindt - een bekabelde Ethernet-kabel heeft echter veel meer de voorkeur vanwege de betrouwbaarheid.

Stap 2: De onderdelen

De onderdelen
De onderdelen
De onderdelen
De onderdelen
De onderdelen
De onderdelen

De benodigde onderdelenlijst is:

  1. Arduino Uno R3 (amazon link £ 6) - dwz. een standaard arduino - klonen kunnen worden gekocht vanaf $ 5
  2. Arduino Ethernet-schild (amazon link £ 7) - Nog een standaard Arduino-onderdeel - Amazon verkoopt ze voor ongeveer $ 10 en meer
  3. DC-DC voeding (link of link) ongeveer $ 4 Gebruikt om de panelen van 12 volt om te zetten in een stabiele 5 volt

De volgende zijn optioneel, afhankelijk van het circuit dat u bouwt:

  1. Twee transistors BC109 (of vergelijkbare NPN-transistoren voor algemeen gebruik zoals 2N2222 of 2N2369)
  2. Weerstanden zoals gespecificeerd in het schema
  3. DiodeElke Diode (bijv. IN4002)
  4. Mini breadboard

U hebt ook het beheerderswachtwoord (beheerderswachtwoord) nodig voor uw Aritech-alarm. Als u niet over het wachtwoord beschikt, kunt u overwegen om het paneel terug te zetten naar de fabrieksinstellingen en het opnieuw te configureren.

De Arduino van stroom voorzien

De DC-DC-voeding is het meest kritische onderdeel om correct te worden - laat je niet verleiden om goedkope auto 12V naar 5V USB-adapters te gebruiken - de spanning van de goedkopere adapters die ik heb getest, bevat een rimpelspanning die ervoor kan zorgen dat de Arduino willekeurig crasht.

Ik raad het gebruik van de Arduinos ingebouwde 9V-aansluiting niet aan bij gebruik van de Ethernet-adapter of het gebruik van de Alarm Panels 5V-voeding om de Arduino van stroom te voorzien - het wordt heet! De hierboven gespecificeerde DC-DC-adapter is zeer efficiënt en levert een zeer stabiele 5V zonder opwarmen - ik pas deze 5V toe op de 5V-pin van de Arduino.

Als u besluit om te voeden met een USB-adapter met netvoeding (bijv. telefoonadapter) en niet via de bovenstaande module, moet u ervoor zorgen dat de GND-uitgang van deze adapter is aangesloten op een van de aarde van de alarmpanelen; omdat alles dezelfde GND moet delen.

Breadboard keuze

Ik gebruikte een kleine mini-breadboard om het systeem te prototypen.

Als je het netjes maakt, is het breadboard goed genoeg om als oplossing te gebruiken - maar nadat je zeker weet dat alles werkt, wil je misschien een gesoldeerde versie maken met bijvoorbeeld het kleine prototype-schild dat op de laatste foto wordt getoond.

Stap 3: The Build (breadboard-versie)

The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)
The Build (breadboard-versie)

Hier zijn de twee opties om uit te kiezen.

1) Direct naar paneel. Dit is de gemakkelijkste methode. Het is zeer efficiënt en betrouwbaar. De enige nadelen zijn - het vereist het solderen van 2 draden aan het Aritech-hoofdbord en sommigen houden er misschien niet van om rechtstreeks op het paneel te solderen. Ook moeten de twee draden van de Arduino naar het paneel voor deze optie vrij kort zijn (ongeveer 30 cm max is ongeveer goed), dus de Arduino moet zich in of nabij de alarmkast bevinden. Deze optie wordt gedetailleerd beschreven in de volgende (optionele) stap.

-of-

2) Aangepaste Arduino naar Aritech Circuit

Dit omvat het maken van een aangepast interfacebord om de Arduinos-uitgangen in staat te stellen verbinding te maken met de Aritechs 12v-toetsenbordbus. De schakeling is speciaal zo ontworpen dat deze geen interferentie veroorzaakt met andere bedieningspanelen op de bus. Het vereist 2 transistors en een paar ondersteunende componenten. De draden kunnen zo lang zijn als je wilt.

Het hierboven getoonde circuit is de interface die nodig is voor de Arduino om verbinding te maken met de 4-draads bus.

Er wordt een foto getoond van het breadboard (tweede foto) voor een idee over hoe aan te sluiten - Dit breadboard is gebruikt voor ontwikkeling - raadpleeg het schema (eerste foto) bij het opbouwen van uw printplaat of breadboard.

Het Aritech-paneel gebruikt een vierdraads toetsenbordbus - u kunt verbinding maken met elk punt op deze bus - bijv. aan de kant van het toetsenbord of aan de kant van het alarmpaneel.

De derde foto is alleen voor interesse toegevoegd en toont een circuitsimulator die ik heb gebruikt bij het ontwerpen van het circuit. Het doel was om het aantal onderdelen tot een minimum te beperken; waar mogelijk dezelfde onderdeeltypes en waarden en om ervoor te zorgen dat de stromen laag blijven zodat er geen onnodige warmte wordt geproduceerd.

Stel vragen als ik vastzit en ik kan hulp proberen - ik heb dit getest op de verschillende panelen die ik hier bezit (ik heb ze opgepikt in bootverkoop als ik ze zie) - Zoals altijd bij deze projecten kan ik niet niet verantwoordelijk zijn voor enige schade.

Stap 4: De alternatieve hardwareversie (eenvoudige versie met één diode)

De alternatieve hardwareversie (eenvoudige versie met één diode)
De alternatieve hardwareversie (eenvoudige versie met één diode)
De alternatieve hardwareversie (eenvoudige versie met één diode)
De alternatieve hardwareversie (eenvoudige versie met één diode)
De alternatieve hardwareversie (eenvoudige versie met één diode)
De alternatieve hardwareversie (eenvoudige versie met één diode)

Dit is een alternatief voor aansluiting op de 4-draads toetsenbordbus. U kunt het project rechtstreeks aansluiten op het Aritech-moederbord.

Dit vereist dat twee draden aan het Aritech-paneel moeten worden gesoldeerd - maar het voordeel dat het hele circuit nu gewoon de One Diode wordt - geen transistors, weerstanden of breadboard nodig!

Bovenstaande afbeeldingen tonen de aansluitpunten voor het bevestigen van de draden.

Bij deze methode moet je twee draden solderen aan de grootste chip (genaamd 78C17) op het paneel en deze verbinden met de Arduino Pins 0 en 1 - de Pin 1 verbinding met het alarmpaneel moet een diode hebben met het gestreepte uiteinde (kathode) van de diode gaat naar de Arduino - de niet-gestreepte naar de alarmchip.

De Pin-verbinding is afhankelijk van het alarmmodel - zie de afbeeldingen hierboven voor de verbinding.

Als je het lastig vindt om aan de pinnen te solderen (ze zitten een beetje vast), soldeer dan de achterkant van het paneel of je kunt langs de spoorroute kijken om een gemakkelijkere plek te vinden om te solderen. Getoond in de derde afbeelding van deze stap zijn de verbindingspunten die ik heb gebruikt voor een CD72/CD62. Zet de draden vast met tape, hete lijm of als je goed naar mijn bord kijkt, kun je zien dat ik een kleine lus draad heb gesoldeerd om mijn kabel vast te houden.

Je moet de Arduino nog steeds van stroom voorzien met behulp van de reeds genoemde DC-DC-convertermodule (ingesteld op 5v).

De Aritech-chip is 5V - hetzelfde als de Arduino - dus ze zijn perfect compatibel.

Sommige latere panelen (bijv. sommige CS350) gebruiken een op het oppervlak gemonteerde chip (de chip is erg klein en vierkant). Hiervoor is het vorige circuit misschien het beste - maar als je het wilt proberen, is het misschien mogelijk om op een andere plaats langs het spoor vanaf de microchip te solderen. Als u de pin-out van de PD78C17GF-chip in de datasheet opzoekt, zijn de pinnamen waarmee u verbinding kunt maken "PC0/TXD" en "PC1/RXD".

Sommige "soldeervlechten" kunnen handig zijn om bij de hand te hebben om soldeerfouten op te ruimen als u niet gewend bent te solderen en te veel soldeer aanbrengt.

Zorg er natuurlijk voor dat alles is uitgeschakeld tijdens het solderen - zowel voor uw veiligheid als voor uw alarmen.

Stap 5: De software

De software
De software

De code is behoorlijk complex - het was een grote inspanning en er waren veel trucs nodig om al deze code (toetsenbordemulator, HTML-webserver, HTML-pagina's, e-mailclient, Websocket-webserver, DES-codering en Base64-bibliotheken) allemaal in de kleine Arduino 32K flash- en ram-ruimte.

Alle code wordt hier gehost:

github.com/OzmoOzmo/CastleAritechArduinoRK…

Ik zal de projectcode af en toe updaten - zorg er dus voor dat je het project Fork zodat je meldingen krijgt wanneer er een update is.

Download gewoon alle bestanden (belangrijk: gebruik de download zip-knop in plaats van één bestand tegelijk).

Compileren:

Plaats ze in dezelfde map - en open het.ino-bestand in Arduino IDE.

Er is een configuratiebestand in het project config.h - hier stelt u uw IP-adres, uw e-mailadres en andere opties in. Het is goed becommentarieerd met alle opties om uit te kiezen.

Compileren en uploaden naar Arduino. U moet de Arduino volledig loskoppelen van het alarmpaneel om het te programmeren, aangezien alles dat is aangesloten op de Arduino RX & TX (pin 0 & 1) de voortgang van de USB-programmering kan blokkeren. Het is ook het beste om de 5V-voeding niet op de Arduino te hebben aangesloten En de USB die op een pc is aangesloten, terwijl beide tegelijkertijd proberen de Arduino van stroom te voorzien.

ontwikkelaars

De software aanpassen

Ik heb ontdekt dat een Leonardo of Mega goed is voor het debuggen, omdat je twee seriële poorten krijgt - een voor verbinding met het alarmpaneel en een voor het terugsturen van foutopsporingsberichten naar de pc. Maar voor normaal gebruik - deze of een UNO zijn perfect. Een oscilloscoop en digitale signaalanalysator waren geweldige hulpmiddelen om de gebruikte protocollen te decoderen - ik kan meer documenteren over hoe ik het protocol reverse-engineered als iemand dat wenst.

Aanbevolen: