Spisu treści:

Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino: 3 kroki
Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino: 3 kroki

Wideo: Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino: 3 kroki

Wideo: Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino: 3 kroki
Wideo: 11 ustawień w iPhonie, które POWINIENEŚ OD RAZU ZMIENIĆ 📲 2024, Listopad
Anonim
Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino
Otrzymuj powiadomienia e-mail z systemu bezpieczeństwa w domu za pomocą Arduino

Korzystając z Arduino, jesteśmy w stanie łatwo doposażyć podstawową funkcjonalność poczty e-mail w praktycznie każdą istniejącą instalację systemu bezpieczeństwa. Jest to szczególnie przydatne w przypadku starszych systemów, które najprawdopodobniej od dawna były odłączone od usługi monitorowania i w przeciwnym razie miałyby ograniczoną użyteczność. To NIE jest zamiennik usługi monitorowania.

Istnieją na rynku produkty, takie jak envisalink, które dodają dodatkowe funkcje komunikacyjne i sterujące, ale nie są niedrogie.

Ten projekt można ukończyć za mniej niż 10 USD.

Czego potrzebujesz:

  • Arduino - najlepiej Uno lub Mega
  • Osłona Ethernet W5100
  • System bezpieczeństwa - ten użyty tutaj to DSC Power 832 PC5010, ale można użyć praktycznie dowolnego modelu z programowalnym pinem (lub dowolnym pinem, który ma mierzalną zmianę stanu).
  • Instrukcja instalacji i arkusze programowania - do wprowadzenia niezbędnych zmian potrzebny będzie również kod instalatora.
  • Długość przewodu z rdzeniem stałym odpowiednia do podłączenia do pinów nagłówka Arduino.
  • Rezystor 10k do podłączenia pinu wejściowego arduino do masy.
  • Rezystor 1,5k ograniczający prąd płynący po stronie diod LED transoptora. Wartość oparta na napięciu wejściowym i maksymalnym prądzie transoptora.
  • Transoptor - użyłem FOD817, ale jest to bardzo prosty obwód o szerokich wymaganiach, więc istnieją dosłownie setki innych, które będą działać ze zdalnie podobnymi specyfikacjami.
  • Kabel Ethernet.

Krok 1: Zaprogramuj system bezpieczeństwa

Zaprogramuj system bezpieczeństwa
Zaprogramuj system bezpieczeństwa

Słowo ostrzeżenia:

  • Uzyskiwanie dostępu do panelu bezpieczeństwa lub wprowadzanie zmian w konfiguracji instalacji może wywołać alarm sabotażowy, jeśli aktualnie subskrybujesz usługę monitorowania.
  • Pamiętaj też, aby śledzić każdą wprowadzaną zmianę, aby w razie potrzeby móc ją później przywrócić.

To, co staramy się osiągnąć, to odczytanie zmiany stanu z systemu po wyzwoleniu alarmu. Większość układów posiada programowalny pin wyjściowy, który możemy wykorzystać do sygnalizacji Arduino. Możliwe jest również wykorzystanie sygnału z syreny (bez konieczności dokonywania jakichkolwiek zmian w systemie), ale wymagane będą dodatkowe obwody i modyfikacja kodu Arduino - nie poszedłem tą drogą, ponieważ moim głównym celem było rozwiązanie problemu kod, więc i tak zmieniłbym konfigurację.

Dokładny sposób programowania różni się w zależności od modelu, ale podstawowa koncepcja jest taka sama - szczegółowe informacje można znaleźć w instrukcji instalacji systemu. W systemie DSC używam:

  • Ustawiłem pin PGM1, aby aktywował się po wyzwoleniu alarmu. Sekcja[009], Opcja[01].
  • W tym systemie ustawiasz również atrybuty jak i na jakich warunkach pin działa - Sekcja[141]:

    • Ustaw Atrybut 3 na ON, aby styk był normalnie otwarty i był przełączany na masę, gdy alarm jest aktywny. Zawsze uważaj, aby piny wejściowe Arduino nie przekraczały 5 V (niektóre są tolerancyjne tylko na 3,3 V).
    • Wszystkie inne atrybuty są wyłączone.

Większość systemów bezpieczeństwa ma wbudowany modem, który jest przeznaczony przede wszystkim do komunikacji z centralną stacją monitorującą za pośrednictwem linii telefonicznych. Jeśli nie otrzymują stale potwierdzenia, że wysyłane dane zostały odebrane, zostanie wyświetlony kod usterki. Niektóre można ustawić tak, aby wysyłały wiadomości na pager lub dzwoniły na linię osobistą bez szukania odpowiedzi przez system (a więc bez wyświetlania kodu usterki), więc jeśli tak jest i masz linię stacjonarną, możesz zaprogramować ją tak, aby dzwoniła na Twój telefon(y)) oprócz wysłania wiadomości e-mail w wydarzeniu.

Jeśli nie korzystasz z usługi monitorowania i/lub system nie może być zaprogramowany do dzwonienia na zwykły numer telefonu bez podania kodu usterki, wyłącz komunikator i monitor linii telefonicznej (tlm) w konfiguracji.

Krok 2: Zaprogramuj Arduino

Program Arduino
Program Arduino

Najpierw musimy zarejestrować się w usłudze, z której będziemy wysyłać nasz e-mail.

Usługa, której użyłem, to smtp2go, która jest darmowa i współpracuje z Arduino - użyty tutaj kod źródłowy jest oparty na kodzie instalacyjnym z ich strony.

www.smtp2go.com/

Po zarejestrowaniu się musisz zakodować base64 nazwę użytkownika i hasło (znajdujące się w "Ustawienia"> "Użytkownicy"), aby można było ich użyć w szkicu.

www.base64encode.org/

Kod źródłowy:

github.com/hzmeister/arduino_alarm_email

Skonfiguruj sekcje za pomocą //komentarzy do swoich wymagań.

Prześlij do Arduino.

Aktualizacja:

E-maile smtp2go po pewnym czasie trafiają do folderu spamu (nawet jeśli ustawisz, że tak nie jest). Próbowałem temboo, które było bardziej niezawodne (ponieważ używa Gmaila), ale profile wygasają po miesiącu, więc to też nie jest realna opcja. Dołączyłem kod do wysłania z gmaila z temboo za pomocą tarczy w5100, jeśli ktoś tego potrzebuje (ich kod wymaga użycia wycofanego i drogiego yun).

Ta wersja używa temboo gmailv2, która uwierzytelnia się przy użyciu bardziej niezawodnej autoryzacji OAuth z tokenem odświeżania, w przeciwieństwie do hasła aplikacji używanego w gmailv1.

Źródło:

github.com/hzmeister/temboo-gmailv2

W końcu zdecydowałem się na skorzystanie z adresu e-mail dostarczonego przez dostawcę usług internetowych, który ma otwarty port 25. Możesz użyć dowolnego serwera/portu poczty smtp, o ile nie wymaga to szyfrowania połączenia (ponieważ w5100 go nie obsługuje). Zaletą korzystania z usług dostawcy usług internetowych jest to, że Google nie oznacza go jako spamu. Kod arduino jest prawie taki sam jak w przypadku smtp2go, ale z kilkoma drobnymi zmianami/aktualizacjami.

Źródło:

github.com/hzmeister/arduino_alarm_emailV2

Krok 3: Zainstaluj sprzęt i przetestuj

Zainstaluj sprzęt i przetestuj
Zainstaluj sprzęt i przetestuj
Zainstaluj sprzęt i przetestuj
Zainstaluj sprzęt i przetestuj

Zainstaluj nakładkę w5100 na Arduino i zamontuj ją w obudowie. Taśma na rzep działa dobrze, ponieważ jest nieprzewodząca i zdejmowana.

Użyłem transoptora do odizolowania sygnału 13,7 V pgm1 od wejścia arduino 5 V i masy. Jest to obwód „nieodwracającego transoptora”.

Gdy alarm jest aktywowany, pgm1 przełącza się z otwartego na uziemienie, zamykając obwód.

Przetestuj system.

Użyj monitora szeregowego w Arduino IDE, aby zobaczyć stan wyjścia.

Sprawdź folder spamu, jeśli monitor szeregowy pokazuje, że wiadomość e-mail została wysłana pomyślnie, ale nie otrzymujesz jej w skrzynce odbiorczej.

Zalecana: