Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
By ambrose.clarkeObserwuj Więcej autora:
Bardzo powszechnym alarmem domowym i biznesowym stosowanym w wielu krajach Europy jest seria paneli alarmowych Aritech.
Zostały one zainstalowane do początku 2000 roku w ich setkach tysięcy, a wiele z nich nadal istnieje w domach – zwykle są one ponownie oznaczane przez instalatorów, ale wszystkie mają łatwo rozpoznawalną klawiaturę.
Są dobrym systemem z wieloma funkcjami, ale ponieważ zostały opracowane przed wprowadzeniem łączy szerokopasmowych, nie mają możliwości łączenia się z Internetem.
Obraz na tej stronie jest animowanym obrazem ostatecznego systemu - może nie być animowany na urządzeniach mobilnych. Oto link do animacji
Ten projekt dotyczy inżynierii wstecznej panelu alarmowego, aby dodać tę brakującą funkcjonalność.
Doda następujące:
- Możliwość kontaktu z panelem oraz ustawiania/rozbrajania/przeglądania logów za pomocą dowolnej przeglądarki z dowolnego miejsca np. Telefon komórkowy
- Poproś system alarmowy o e-mail, jeśli alarm się wyłączy
- Umożliwiają zdalne wejście do menu inżynierskich i konfigurowanie centrali alarmowej.
- Obsługuje CD34, CD62, CD72, CD91 i CS350, które są wszystkimi głównymi modelami tej serii.
Całkowity koszt wszystkich części wyniesie znacznie mniej niż 20 USD
Uwagi:
Wszystkie zdjęcia i zrzuty ekranu są oryginalne przeze mnie (zgodnie z wytycznymi Instructables) - kod i projekt obwodu zostały stworzone przeze mnie.
Krok 1: Plan
Plan polegał na tym, aby Arduino emulowało klawiaturę.
Panel Aritech pomyślałby, że to standardowa klawiatura – ale w rzeczywistości rozmawiałby z Arduino – to Arduino nie ma klawiatury ani wyświetlacza – zamiast tego ma serwer WWW, z którym można łączyć się przez Internet.
Serwer dostarcza stronę internetową, która wykorzystuje websockets jako transport komunikacyjny, aby dać bardzo responsywną emulowaną klawiaturę w html. Kilka naciśnięć klawiszy jest buforowanych, aby dać odpowiedź, która może konkurować z oryginalną klawiaturą.
Arduino jest instalowane w dowolnym miejscu magistrali Aritech – umieściłem swoją w szafce panelu alarmowego – ale możesz podłączyć się do końca klawiatury, jeśli twoje połączenie Ethernet jest bliższe.
Możliwe jest również użycie adaptera Ethernet do Wi-Fi, jeśli panel alarmowy znajduje się w pewnej odległości od dowolnego połączenia Ethernet – jednak przewodowy kabel Ethernet jest o wiele bardziej preferowany ze względu na niezawodność.
Krok 2: Części
Wymagana lista części to:
- Arduino Uno R3 (link amazon £6)-tj. standardowe arduino - klony można kupić już od 5$
- Tarcza Arduino Ethernet (łącze amazon 7 GBP) - Kolejna standardowa część Arduino - Amazon sprzedaje je za około 10 USD w górę
- Zasilacz DC-DC (link lub link) około 4 usd używany do konwersji paneli 12 woltów na stabilne 5 woltów
Poniższe są opcjonalne w zależności od zbudowanego obwodu
- Dwa tranzystory BC109 (lub dowolne podobne tranzystory NPN ogólnego przeznaczenia, takie jak 2N2222 lub 2N2369)
- Rezystory zgodnie ze schematem
- DiodaDowolna dioda (np. IN4002)
- Mini płytka do krojenia chleba
Potrzebne będzie również hasło inżyniera (administratora) do alarmu Aritech. Jeśli nie masz hasła, jedną z opcji do rozważenia jest przywrócenie centrali domyślnych ustawień fabrycznych i ponowna konfiguracja.
Zasilanie Arduino
Zasilacz DC-DC jest najbardziej krytycznym elementem, aby uzyskać poprawność - nie ulegaj pokusie używania tanich samochodowych adapterów USB 12 V do 5 V - napięcie tańszych adapterów, które testowałem, zawiera napięcie tętniące, które może powodować losowe awarie Arduino.
Nie polecam używania Arduino wbudowanego w gniazdo 9V podczas korzystania z adaptera Ethernet lub używania zasilacza Alarm Panels 5V do zasilania Arduino - będzie gorąco! Wspomniany powyżej zasilacz DC-DC jest bardzo wydajny i zapewnia bardzo stabilne napięcie 5V bez nagrzewania - przykładam to 5V do pinu 5V Arduino.
Jeśli zdecydujesz się na zasilanie z zasilacza sieciowego (np. zasilacza telefonicznego), a nie z powyższego modułu - musisz upewnić się, że wyjście GND tego zasilacza jest podłączone do masy dowolnego panelu alarmowego; ponieważ wszystko musi dzielić ten sam GND.
Wybór deski do krojenia chleba
Do prototypowania systemu użyłem małej mini-płytki do krojenia chleba.
Jeśli zrobisz to zgrabnie, płytka stykowa jest wystarczająco dobra, aby użyć jako rozwiązanie - ale po upewnieniu się, że wszystko działa, możesz zechcieć zrobić wersję lutowaną, używając na przykład małej prototypowej osłony pokazanej na ostatnim zdjęciu.
Krok 3: Kompilacja (wersja z płytą prototypową)
Oto dwie opcje do wyboru.
1) Bezpośrednio do panelu. To najłatwiejsza metoda. Jest bardzo wydajny i niezawodny. Jedyne wady to - wymaga przylutowania 2 przewodów do płyty głównej Aritech, a niektórzy mogą nie lubić lutowania bezpośrednio do panelu. Ponadto dwa przewody łączące Arduino z panelem dla tej opcji powinny być dość krótkie (maksymalnie około 30 cm to mniej więcej w porządku), więc Arduino będzie musiało znajdować się w szafce alarmowej lub w jej pobliżu. Ta opcja jest szczegółowo opisana w następnym (opcjonalnym) kroku.
-lub-
2) Niestandardowy obwód Arduino do Aritech
Wiąże się to z utworzeniem niestandardowej płyty interfejsu, aby wyjścia Arduinos mogły łączyć się z magistralą klawiatury Aritechs 12v. Obwód został zaprojektowany tak, aby nie kolidował z innymi manipulatorami na magistrali. Wymaga 2 tranzystorów i kilku elementów pomocniczych. Przewody mogą być tak długie, jak chcesz.
Powyższy obwód jest interfejsem wymaganym do połączenia Arduino z 4-przewodową magistralą.
Pokazane jest zdjęcie płytki prototypowej (drugie zdjęcie), aby uzyskać pomysł na podłączenie - Ta płytka prototypowa została wykorzystana do rozwoju - zapoznaj się ze schematem (pierwsze zdjęcie) podczas tworzenia płytki drukowanej lub płytki stykowej.
Centrala Aritech wykorzystuje czteroprzewodową magistralę manipulatorów – można ją podłączyć do dowolnego punktu na tej magistrali – np. na końcu klawiatury lub panelu alarmowego.
Trzecie zdjęcie zostało dodane tylko dla zainteresowania i pokazuje symulator obwodu, którego użyłem podczas projektowania obwodu. Celem było ograniczenie liczby części do minimum; w miarę możliwości te same typy i wartości części oraz upewnienie się, że prądy są utrzymywane na niskim poziomie, aby nie wytwarzać niepotrzebnego ciepła.
Zadawaj pytania, jeśli utknąłem, a mogę spróbować pomocy - przetestowałem to na kilku panelach, które posiadam tutaj (odbierałem je w wyprzedażach, kiedy je widzę) - Jak zawsze w przypadku tych projektów nie mogę być odpowiedzialny za jakiekolwiek uszkodzenie.
Krok 4: Alternatywna wersja sprzętu (łatwa wersja z jedną diodą)
Jest to alternatywa dla podłączenia do 4-przewodowej magistrali manipulatorów. Możesz podłączyć projekt bezpośrednio do płyty głównej Aritech.
Wymaga to przylutowania dwóch przewodów do panelu Aritech - ale zaletą jest to, że cały obwód staje się teraz tylko jedną diodą - nie są potrzebne żadne tranzystory, rezystory ani płytka stykowa!
Obrazy powyżej pokazują punkty połączeń do podłączenia przewodów.
W tej metodzie należy przylutować dwa przewody do największego układu scalonego (o nazwie 78C17) na panelu i podłączyć je do pinów 0 i 1 Arduino - połączenie Pin 1 z panelem alarmowym musi mieć diodę z paskiem na końcu (katodzie) dioda idąca do Arduino - bez pasków do układu alarmowego.
Połączenie pinów zależy od modelu alarmu - patrz rysunki powyżej, aby uzyskać informacje o połączeniu.
Jeśli okaże się, że trudno jest przylutować do pinów (są trochę ciasne), przylutuj tył panelu lub możesz spojrzeć wzdłuż trasy, aby znaleźć łatwiejsze miejsce do lutowania. Na trzecim obrazie tego kroku pokazano punkty połączeń, których użyłem dla CD72/CD62. Zabezpiecz przewody taśmą, gorącym klejem lub jeśli przyjrzysz się uważnie mojej płytce, zobaczysz, że przylutowałem małą pętlę drutu, aby zabezpieczyć kabel.
Nadal musisz zasilać Arduino za pomocą wspomnianego już modułu konwertera DC-DC (ustawionego na 5v).
Układ Aritech ma napięcie 5V - tak samo jak Arduino - więc są doskonale kompatybilne.
Niektóre późniejsze panele (np. niektóre CS350) wykorzystują chip montowany powierzchniowo (chip jest bardzo mały i kwadratowy). W tym przypadku najlepszy może być poprzedni obwód - ale jeśli chcesz spróbować, możesz znaleźć możliwość lutowania w innym miejscu wzdłuż toru prowadzącego z mikroprocesora. Jeśli spojrzysz na pinout układu PD78C17GF w jego arkuszu danych – nazwy pinów, z którymi chcesz się połączyć, to „PC0/TXD” i „PC1/RXD”.
Niektóre „plecionki lutownicze” mogą być przydatne, aby usunąć błędy lutowania, jeśli nie jesteś przyzwyczajony do lutowania i nakładasz zbyt dużo lutu.
Oczywiście upewnij się, że wszystko jest wyłączone podczas lutowania - dla twojego bezpieczeństwa, a także dla twoich alarmów.
Krok 5: Oprogramowanie
Kod jest dość złożony - wymagało to dużego wysiłku i trzeba było zastosować wiele sztuczek, aby wcisnąć cały ten kod (emulator klawiatury, serwer WWW HTML, strony HTML, klient poczty e-mail, serwer sieciowy Websocket, szyfrowanie DES i biblioteki Base64) w maleńkim Pamięć flash i pamięć RAM Arduino 32K.
Cały kod znajduje się tutaj:
github.com/OzmoOzmo/CastleAritechArduinoRK…
Będę aktualizował kod projektu co chwilę - więc pamiętaj o rozwidleniu projektu, aby otrzymywać powiadomienia o aktualizacji.
Po prostu pobierz wszystkie pliki (ważne: użyj przycisku pobierania zip zamiast jednego pliku na raz).
Kompilować:
Umieść je w tym samym folderze - i otwórz plik.ino w Arduino IDE.
W projekcie config.h znajduje się plik konfiguracyjny - tutaj ustawiasz swój adres IP, adres e-mail i inne opcje. Jest dobrze skomentowany ze wszystkimi opcjami do wyboru.
Skompiluj i prześlij do Arduino. Aby go zaprogramować, musisz całkowicie odłączyć Arduino od panelu alarmowego - ponieważ wszystko, co jest podłączone do Arduino RX i TX (pin 0 i 1), może blokować postęp programowania USB. Najlepiej też nie podłączać zasilacza 5 V do Arduino A USB podłączony do komputera w tym samym czasie, gdy oba będą próbowały zasilić Arduino.
Deweloperzy
Dostosowywanie oprogramowania
Odkryłem, że Leonardo lub Mega są dobre do debugowania, ponieważ masz dwa porty szeregowe - jeden do połączenia z panelem alarmowym i drugi do wysyłania komunikatów debugowania z powrotem do komputera. Ale do normalnej pracy - te lub UNO są idealne. Oscyloskop i cyfrowy analizator sygnału były świetnymi narzędziami do dekodowania używanych protokołów - jeśli ktoś sobie tego życzy, mogę udokumentować więcej na temat tego, jak dokonałem inżynierii wstecznej protokołu.