Inhoudsopgave:

Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met Arduino: 3 stappen
Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met Arduino: 3 stappen

Video: Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met Arduino: 3 stappen

Video: Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met Arduino: 3 stappen
Video: Kristine Larson: Dood gevonden in een Brandende Auto | MISDAAD & MYSTERIE 2024, November
Anonim
Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met behulp van Arduino
Ontvang e-mailwaarschuwingen van uw huisbeveiligingssysteem met behulp van Arduino

Met behulp van Arduino kunnen we eenvoudig de basis e-mailfunctionaliteit achteraf inbouwen in vrijwel elke bestaande beveiligingssysteeminstallatie. Dit is met name geschikt voor oudere systemen die hoogstwaarschijnlijk lange tijd zijn losgekoppeld van een bewakingsservice en die anders een beperkt nut zouden hebben. Dit is GEEN vervanging voor een monitoringservice.

Er zijn in de handel verkrijgbare producten, zoals de envisalink, die extra communicatie- en besturingsfunctionaliteit toevoegen, maar die zijn niet goedkoop.

Dit project kan worden voltooid voor minder dan $ 10.

Wat je nodig hebt:

  • Arduino - bij voorkeur Uno of Mega
  • W5100 Ethernet-afscherming
  • Beveiligingssysteem - Het systeem dat hier wordt gebruikt, is een DSC Power 832 PC5010, maar vrijwel elk model met een programmeerbare pin (of elke pin met een meetbare statusverandering) kan worden gebruikt.
  • Installatiehandleiding en programmeerwerkbladen - u hebt ook de installatiecode nodig om de nodige wijzigingen aan te brengen.
  • Een stuk massieve kerndraad die geschikt is om verbinding te maken met Arduino-headerpinnen.
  • 10k weerstand om arduino-ingangspin naar aarde te trekken.
  • 1.5k-weerstand om de stroom naar de LED-zijde van de optocoupler te beperken. Waarde is gebaseerd op de ingangsspanning en maximale stroom van de optocoupler.
  • Optocoupler - Ik heb een FOD817 gebruikt, maar dit is een heel eenvoudig circuit met brede vereisten, dus er zijn letterlijk honderden andere die zullen werken met op afstand vergelijkbare specificaties.
  • Ethernetkabel.

Stap 1: Programmeer het beveiligingssysteem

Programmeer het beveiligingssysteem
Programmeer het beveiligingssysteem

Waarschuwing:

  • Toegang tot het beveiligingspaneel of het aanbrengen van wijzigingen in de installatieconfiguratie kan een sabotagewaarschuwing veroorzaken als u momenteel bent geabonneerd op een bewakingsservice.
  • Zorg er ook voor dat u elke wijziging die u aanbrengt bijhoudt, zodat u deze later indien nodig kunt terugdraaien.

Wat we proberen te bereiken, is een statusverandering van het systeem af te lezen wanneer het alarm wordt geactiveerd. De meeste systemen hebben een programmeerbare uitgangspin die we kunnen gebruiken om de Arduino te signaleren. Het is ook mogelijk om het signaal van de sirene te gebruiken (zonder wijzigingen aan het systeem aan te brengen), maar er zijn extra circuits en wijziging van de Arduino-code nodig - ik heb deze route niet gevolgd omdat mijn hoofddoel was om het probleem op te lossen code, dus ik zou de configuratie toch wijzigen.

Hoe u het precies moet programmeren, verschilt per model, maar het basisconcept is hetzelfde - raadpleeg de installatiehandleiding van uw systeem voor details. In het DSC-systeem gebruik ik:

  • Ik heb de PGM1-pin ingesteld om te activeren wanneer het alarm wordt geactiveerd. Sectie[009], Optie[01].
  • In dit systeem stel je ook de attributen in van hoe en onder welke voorwaarden de pin functioneert - Sectie [141]:

    • Stel Attribuut 3 in op ON zodat de pin normaal open is en naar massa wordt geschakeld wanneer het alarm wordt geactiveerd. Wees altijd voorzichtig dat Arduino-invoerpinnen niet meer dan 5v krijgen (sommige zijn slechts 3.3v tolerant).
    • Alle andere attributen zijn ingesteld op UIT.

De meeste beveiligingssystemen hebben een ingebouwde modem die is ontworpen om voornamelijk via telefoonlijnen te communiceren met een centrale meldkamer. Als ze niet constant bevestiging krijgen dat de verzonden gegevens zijn ontvangen, wordt er een probleemcode weergegeven. Sommige kunnen worden ingesteld om semafoonberichten te verzenden of om een persoonlijke lijn te bellen zonder dat het systeem op zoek is naar een antwoord (dus geen foutcode weergeeft), dus als de uwe dat wel doet en u een vaste lijn heeft, kunt u deze programmeren om uw telefoon(s) te bellen) naast het verzenden van een e-mail in een evenement.

Als u geen bewakingsservice gebruikt en/of uw systeem niet kan worden geprogrammeerd om een normaal telefoonnummer te bellen zonder een storingscode te geven, schakelt u de communicator en telefoonlijnmonitor (tlm) in de configuratie uit.

Stap 2: Programmeer Arduino

Arduino programmeren
Arduino programmeren

Eerst moeten we ons aanmelden voor een service om onze e-mail van te verzenden.

De service die ik gebruikte is smtp2go die gratis is en werkt met Arduino - de broncode die hier wordt gebruikt, is gebaseerd op de installatiecode van hun site.

www.smtp2go.com/

Nadat je je hebt aangemeld, moet je base64 de gebruikersnaam en het wachtwoord coderen (te vinden in "Instellingen" > "Gebruikers") om deze in de schets te kunnen gebruiken.

www.base64encode.org/

Broncode:

github.com/hzmeister/arduino_alarm_email

Configureer de secties met //opmerkingen naar uw wensen.

Uploaden naar Arduino.

Update:

smtp2go-e-mails komen na een tijdje in de spammap terecht (zelfs als u dit instelt). Ik heb temboo geprobeerd, wat betrouwbaarder was (omdat het Gmail gebruikt), maar profielen verlopen na een maand, dus dat is ook geen haalbare optie. Ik heb de code toegevoegd voor het verzenden van Gmail met temboo met behulp van een w5100-schild als iemand het nodig heeft (voor hun code moet je de stopgezette en dure yun gebruiken).

Deze versie gebruikt temboo gmailv2 die authenticeert met behulp van de betrouwbaardere OAuth met verversingstoken in tegenstelling tot het app-wachtwoord dat in gmailv1 wordt gebruikt.

Bron:

github.com/hzmeister/temboo-gmailv2

Uiteindelijk besloot ik mijn door een internetprovider verstrekte e-mail te gebruiken met poort 25 open. U kunt elke smtp-e-mailserver/-poort gebruiken zolang de verbinding niet versleuteld hoeft te worden (aangezien de w5100 dit niet ondersteunt). Het voordeel van het gebruik van de verstrekte internetprovider is dat Google het niet als spam markeert. De Arduino-code is bijna hetzelfde als bij smtp2go, maar met een paar kleine wijzigingen/updates.

Bron:

github.com/hzmeister/arduino_alarm_emailV2

Stap 3: Hardware installeren en testen

Hardware installeren en testen
Hardware installeren en testen
Hardware installeren en testen
Hardware installeren en testen

Installeer het w5100-schild op de Arduino en monteer het in de behuizing. Klittenband werkt goed omdat het niet-geleidend en verwijderbaar is.

Ik heb een fotokoppeling gebruikt om het 13.7v pgm1-signaal te isoleren van de 5v arduino-ingang en aarde. Het is een "niet-inverterende optocoupler"-schakeling.

Wanneer het alarm is geactiveerd, schakelt pgm1 over van open naar aarde, waardoor het circuit wordt voltooid.

Test het systeem.

Gebruik de seriële monitor in de Arduino IDE om de uitvoerstatus te zien.

Controleer de spammap als de seriële monitor aangeeft dat de e-mail met succes is verzonden, maar u deze niet in uw inbox ontvangt.

Aanbevolen: