» Elektronika » Arduino »Najprostszą sygnalizację wykonujemy na GSM SIM800L i Arduino dla dawania, garażu

Najprostszą sygnalizację wykonujemy na GSM SIM800L i Arduino dla dawania, garażu


Wraz z nadejściem sezonu letniego pojawiła się potrzeba ochrony wiejskiego domu. Chciałem stworzyć prosty, ale niezawodny alarm antywłamaniowy z sygnałem przesyłanym do telefonu komórkowego. Zdecydowano się na montaż urządzenia z transmisją alarmu do telefonu komórkowego na podstawie elektroniczny płytki drukowane zakupione na Aliexpress. Jak mówią tanie, ale wesołe. Głównymi elementami tego projektu są moduł GSM SIM800L i płyta Arduino (możesz użyć dowolnego - Nano, Uno, Pro Mini i tym podobnych).

Urządzenie ma pięć wejść alarmowych dla czujników kontaktowych. Do każdego wejścia można podłączyć jeden lub kilka czujników połączonych szeregowo W szkicu przypisz nazwę do każdej pętli bezpieczeństwa (na przykład drzwi wejściowe, okno 1, okno 2 itd.). Urządzenie zabezpieczające działa w ten sposób: gdy obwód elektryczny pierwszej pętli zostanie przerwany, urządzenie najpierw wykonuje połączenie z pierwszym telefonem abonenta, a następnie przerywa połączenie, a także nr 2. Nr 2 jest konieczny z uwagi na fakt, że jeśli nagle pierwszy abonent jest offline lub bateria i inne problemy są zawieszone). Jeśli zostanie uruchomiona pętla następująca po pierwszej, wiadomość SMS zostanie wysłana z nazwą pętli, która działała w tym samym przypadku na oba numery abonentów.

Wyliczenie narzędzi i materiałów.
bateria litowo-jonowa ze starego telefonu 3,7 V \ 1600mA-1 szt
przewody łączące;
lutownica;
tester;
-przezroczyste plastikowe pudełko -1szt;
płatność Arduino Nano -1 szt .;
-rezystory 10kOhm-7szt;
- płyta chlebowa wykonana z tekstolitu foliowego;
- 1 sztuk wyłącznik zasilania;
- moduł SIM800L -1szt;
- deska opuszczająca 1-2A -1szt;
- złącza końcowe.

Pierwszy krok. Montaż obwodu urządzenia zabezpieczającego GSM.
Schemat zdjęcia


Lutujemy pady wtyczek do modułu GSM SIM800L i modułu Arduino do płyty ściennej, co upraszcza instalację i ułatwia wymianę modułów w razie potrzeby. Rezystory lutownicze i inne połączenia. Rezystory z pinu RX modułu SIM800L są podłączone do wejścia cyfrowego Arduino D3 w celu dopasowania napięcia na wejściach obu modułów. Wejścia Arduino D4-D8 są przeciągane przez rezystory. Przełącznik jest zamontowany w szczelinie zasilającej modułu SIM800 GSM i płyty Arduino w celu uzbrojenia całego systemu. Zastosowanie baterii, która pozwoli na działanie urządzenia przez dwa trzy dni przy braku sieci 220 V. W moim przypadku przetwornica napięcia z napięcia 12 V wytwarza napięcie 4,2 V i jednocześnie ładuje baterię (możesz użyć innej płyty, na przykład TP4056 z ochroną).

Drugi krok. Programowanie urządzenia
Na karcie SIM należy usunąć kody PIN i wszystkie niepotrzebne funkcje.Jednak najpierw musisz skonfigurować sam moduł SIM800L. W sieci jest wiele filmów na ten temat, nie ma w tym nic skomplikowanego. W szkicu wskazujemy twoje numery telefonów, dostosujemy nazwy stref bezpieczeństwa, możesz ustawić czas monitorowania systemu (jeśli urządzenie działa poprawnie po określonym czasie, nadejdzie kontrolny SMS). Wypełnij szkic w Arduino i sprawdź działanie urządzenia.

Szkic:


Number stringCall_1 = "79123456789"; // Abonent nr 1 dla połączenia
Numer ciągu SMMS_1 = „+79123456789”; // Numer abonenta nr 1 dla SMS-ów (różni się tylko znakiem +)

Number stringCall_2 = "79123456782"; // Abonent 2 dla połączenia
Numer ciąguSMS_2 = "+79123456782"; // Numer subskrybenta nr 2 dla wiadomości SMS (różni się tylko znakiem +)

String textZone_1 = "Alarm! Zone1"; // Jego nazwa jest w języku łacińskim.
String textZone_2 = "Alarm! Zone2"; // Jego nazwa jest w języku łacińskim.
String textZone_3 = "Alarm! Zone3"; // Jego nazwa jest w języku łacińskim.
String textZone_4 = "Alarm! Zone4"; // Jego nazwa jest w języku łacińskim.

#include 
SoftwareSerial mySerial (2, 3);

# zdefiniować pin Czujnik_0 4
# zdefiniować pinSensor_1 5
# zdefiniować pinSensor_2 6
# zdefiniować pinSensor_3 7
# zdefiniować pinSensor_4 8

void initGSM (void) {
  opóźnienie (2000);
  mySerial.begin (9600); // Ustaw prędkość komunikacji z modułem GSM 9600 Baud / sec.
  mySerial.println („AT + CLIP = 1”);
  opóźnienie (300);
  mySerial.println („AT + CMGF = 1”);
  opóźnienie (300);
  mySerial.println („AT + CSCS = \„ GSM \ ””);
  opóźnienie (300);
  mySerial.println („AT + CNMI = 2,2,0,0,0”);
  opóźnienie (300);
}

/ * Wysyłanie wiadomości SMS * /
void sendSMS (ciąg tekstowy, ciąg telefoniczny) {
  mySerial.println ("AT + CMGS = \" "+ telefon +" \ "");
  opóźnienie (500);
  mySerial.print (tekst);
  opóźnienie (500);
  mySerial.print ((char) 26);
  opóźnienie (2500);
}


unsigned long timerTemp = 0;
uint8_t hours = 0;

uint8_t flagSensor_0 = 0;
uint8_t flagSensor_1 = 0;
uint8_t flagSensor_2 = 0;
uint8_t flagSensor_3 = 0;
uint8_t flagSensor_4 = 0;

void setup () {
  mySerial.begin (9600);
  initGSM ();
  
  pinMode (pinSensor_0, INPUT);
  pinMode (pinSensor_1, INPUT);
  pinMode (pinSensor_2, INPUT);
  pinMode (pinSensor_3, INPUT);
  pinMode (pinSensor_4, INPUT);

  timerTemp = millis ();
}

void loop () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis (); godziny ++;}

  if (godziny> = 144) {// Zmień czas kontroli systemu na własny, 144 godziny. liczba godzin.
    sendSMS (String („System działa normalnie.OK”), liczbaSMS_1);
    opóźnienie (10000);
    sendSMS (String („System działa normalnie.OK”), liczbaSMS_2);
    opóźnienie (10000);
    godziny = 0;
    timerTemp = millis ();
  }
 
  if (flagSensor_0 == 0 && digitalRead (pinSensor_0) == 0) flagSensor_0 = 1;
  if (flagSensor_1 == 0 && digitalRead (pinSensor_1) == 0) flagSensor_1 = 1;
  if (flagSensor_2 == 0 && digitalRead (pinSensor_2) == 0) flagSensor_2 = 1;
  if (flagSensor_3 == 0 && digitalRead (pinSensor_3) == 0) flagSensor_3 = 1;
  if (flagSensor_4 == 0 && digitalRead (pinSensor_4) == 0) flagSensor_4 = 1;

  if (flagSensor_0 == 1) {
    Polecenie string;

    polecenie = „ATD +” + numberCall_1 + ”;„
    mySerial.println (polecenie);
    opóźnienie (20000);
    mySerial.println („ATH”);
    opóźnienie (1000);

   
    polecenie = "ATD +" + numberCall_2 + ";";
    mySerial.println (polecenie);
    opóźnienie (20000);
    mySerial.println („ATH”);
    opóźnienie (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, liczbaSMS_1);
    opóźnienie (10000);
    sendSMS (textZone_1, liczbaSMS_2);
    opóźnienie (10000);
    flagSensor_1 = 2;
  }


  if (flagSensor_2 == 1) {
    sendSMS (textZone_2, numberSMS_1);
    opóźnienie (10000);
    sendSMS (textZone_2, numberSMS_2);
    opóźnienie (10000);
    flagSensor_2 = 2;
  }


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3, numberSMS_1);
    opóźnienie (10000);
    sendSMS (textZone_3, numberSMS_2);
    opóźnienie (10000);
    flagSensor_3 = 2;
  }


  if (flagSensor_4 == 1) {
    sendSMS (textZone_4, numberSMS_1);
    opóźnienie (10000);
    sendSMS (textZone_4, numberSMS_2);
    opóźnienie (10000);
    flagSensor_4 = 2;
  }

  if (flagSensor_0 == 2 && digitalRead (pinSensor_0)! = 0) flagSensor_0 = 0;
  if (flagSensor_1 == 2 && digitalRead (pinSensor_1)! = 0) flagSensor_1 = 0;
  if (flagSensor_2 == 2 && digitalRead (pinSensor_2)! = 0) flagSensor_2 = 0;
  if (flagSensor_3 == 2 && digitalRead (pinSensor_3)! = 0) flagSensor_3 = 0;
  if (flagSensor_4 == 2 && digitalRead (pinSensor_4)! = 0) flagSensor_4 = 0;
}


Krok trzeci. Sprawdzanie stanu urządzenia.
Najprostszą sygnalizację wykonujemy na GSM SIM800L i Arduino dla dawania, garażu

Po podłączeniu zasilania, gdy moduł SIM800L i płyta Arduino ładują się, masz około 20 sekund na opuszczenie strzeżonego pomieszczenia. W module SIM800L dioda LED wskazuje aktywność sieci; często szuka sieci; raz na pięć sekund wskazuje działanie sieci. Gdy urządzenie znajdzie sieć, odłącz odpowiednie wejścia bezpieczeństwa, po czym nastąpi połączenie dial-up lub SMS. Więc urządzenie działa dobrze.

Zdjęcie SMS. Możliwe będzie dołączenie dowolnych czujek bezpieczeństwa z wyjściami w postaci styków, przekaźników z siłowników, tylko zgodnie z Twoimi potrzebami i wyobraźnią. Ogólnie rzecz biorąc, wyprodukowaliśmy proste urządzenie zabezpieczające. Taki domowy strażnik może być zorganizowany w celu ochrony wszelkich przedmiotów. Aby włączyć urządzenie alarmowe, musisz podać 4,2 wolta przez przełącznik na SIM800 i Arduino. Przy pierwszym wejściu połączenie zostanie przekazane abonentowi nr 1, a następnie przełączy się na numer 2. Dodatkowa nr 2 przewidziana jest do powielania. Otwarta pętla numer 2,3,4,5 powoduje, że wydanie SMS-a o określonej nazwie przerwanej pętli, odpowiednio, na obu telefonach. Umieścimy wszystkie tablice w dowolnym w odpowiednim przypadku. Ogólnie uważam, że jest to dobre ciekawe urządzenie, które można dalej rozwijać - dodać funkcje gniazda GSM, sterowania DMTF i wiele więcej.

Więcej szczegółów można zobaczyć w filmie

Życzę wszystkim zdrowia i sukcesów w życiu i pracy!
8.8
8.4
8.4

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij
3 komentarz
Gość Alexander
Jest pytanie, czy potrzebne są rezystory 10kΩ 10W lub 0,25W czy co?
Dzień dobry Ale czy mogę coś dodać, aby po udanym połączeniu telefonicznym wejścia były blokowane? aby uniknąć cyklicznego wybierania w obecności niskiego poziomu na jednym z wejść!
możesz użyć innej płyty, na przykład TP4056 z ochroną
Niemożliwe, ale trzeba. I nie tylko, ale, jak słusznie powiedziano, z ochroną, to znaczy oprócz TP4056 powinny być jeszcze dwa małe układy scalone, w tym DW01 lub jego analog.
Oprócz pętli bezpieczeństwa bardzo pożądane jest kontrolowanie napięcia na wejściu TP4056.

Radzimy przeczytać:

Podaj go do smartfona ...