» Elektronika » Arduino »Paprasčiausią signalizaciją per„ GSM SIM800L “ir„ Arduino “suteikiame garaže

Mes atliekame paprasčiausią signalizaciją per GSM SIM800L ir „Arduino“, kad galėtume atiduoti garažą


Prasidėjus vasaros sezonui, reikėjo saugoti sodybą. Norėjau padaryti paprastą, bet patikimą apsaugos nuo įsilaužimo signalą su signalu, perduodamu į mobilųjį telefoną. Buvo nuspręsta surinkti prietaisą su aliarmo perdavimu į mobilųjį telefoną remiantis elektroninis „Aliexpress“ įsigytos plokštės. Kaip sakoma pigu, bet linksma. Pagrindiniai šio dizaino elementai yra GSM SIM800L modulis ir „Arduino“ plokštė (galite naudoti bet kurį „Nano“, „Uno“, „Pro Mini“ ir pan.).

Prietaisas turi penkis aliarmo įėjimus kontaktiniams jutikliams. Prie kiekvieno įėjimo galima prijungti vieną ar kelis iš eilės sujungtus jutiklius. Eskize kiekvienai saugos kilpai priskirkite pavadinimą (pavyzdžiui, įėjimo durys, 1 langas, 2 langas ir pan.). Apsaugos įtaisas veikia taip: nutrūkus pirmosios grandinės elektros grandinei, įrenginys pirmiausia skambina abonento pirmuoju telefonu, tada nutraukia skambutį ir 2 numeriu. Nr. 2 yra būtinas atsižvelgiant į tai, kad staiga pirmasis abonentas neprisijungęs arba baterija ir kitos bėdos yra užsikabinusios). Jei suaktyvinta pirmoji eilutė, tada siunčiamas SMS pranešimas su kilpos, kuri veikė, abiem abonento numeriais, pavadinimu.

Įrankių ir medžiagų išvardijimas.
ličio jonų akumuliatorius iš seno telefono 3.7V \ 1600mA-1vnt
-jungiamieji laidai;
lituoklis;
testeris;
-permatoma plastikinė dėžutė –1vnt;
mokėjimas Arduino Nano -1 vnt;
-rezistoriai 10kOhm-7vnt;
- bandelė iš tekstilės folijos;
- 1vnt maitinimo jungiklis;
- SIM800L modulis -1vnt;
- nuleidžiamoji lenta 1-2A -1vnt;
- gnybtų jungtys.

Pirmasis žingsnis. GSM apsaugos įrenginio grandinės surinkimas.
Nuotraukų schema.


Mes klijuojame „GSM SIM800L“ modulio ir „Arduino“ modulių papildomus bloknotus ant duonos lentos. Tai palengvina montavimą ir palengvina prireikus modulių pakeitimą. Lydmetalio rezistoriai ir kitos jungtys. Rezistoriai iš SIM800L modulio RX kaiščio yra prijungti prie „Arduino D3“ skaitmeninio įėjimo, kad atitiktų abiejų modulių įėjimų įtampą. „Arduino D4-D8“ įėjimai traukiami per rezistorius. Jungiklis yra įmontuotas į SIM800 GSM modulio ir „Arduino“ plokštės maitinimo tarpą, kad apsaugotų visą sistemą. Panaudojimas akumuliatoriaus, kuris leis įrenginiui veikti dvi tris dienas, jei nėra tinklo 220 V. Mano atveju, iš 12 V įtampos keitiklio sukuriamas 4,2 V įtampa ir tuo pačiu įkraunamas akumuliatorius (galite naudoti kitą plokštę, pavyzdžiui, TP4056 su apsauga).

Antras žingsnis. Įrenginio programavimas.
SIM kortelėje turėtų būti ištrinti PIN kodai ir visos nereikalingos funkcijos.Vis dėlto pirmiausia reikia sukonfigūruoti patį SIM800L modulį. Tinkle yra daugybė šios temos vaizdo įrašų, jame nėra nieko sudėtingo. Eskize nurodome jūsų telefonų numerius, koreguojame apsaugos zonų pavadinimus, galite nustatyti sistemos stebėjimo laiką (jei įrenginys tinkamai veikia po nurodyto laiko, ateis kontrolinė SMS). Užpildykite eskizą Arduino ir patikrinkite įrenginio veikimą.

Eskizas:


Styginių skaičiusCall_1 = "79123456789"; // Abonento numeris №1 skambučiui
Styginių skaičiusSMS_1 = "+79123456789"; // SMS abonento numeris Nr. 1 (skiriasi tik ženklu +)

Styginių skaičiusCall_2 = "79123456782"; // 2 abonento numeris skambučiui
Styginių skaičiusSMS_2 = "+79123456782"; // SMS abonento numeris Nr. 2 (skiriasi tik ženklu +)

Styga textZone_1 = "Aliarmas! 1 zona"; // Jo vardas yra lotynų kalba.
Eilutė textZone_2 = "Aliarmas! 2 zona"; // Jo vardas yra lotynų kalba.
Styga textZone_3 = "Aliarmas! 3 zona"; // Jo vardas yra lotynų kalba.
Styga textZone_4 = "Aliarmas! Zona4"; // Jo vardas yra lotynų kalba.

# įtraukti 
„SoftwareSerial mySerial“ (2, 3);

#define pinSensor_0 4
#define pinSensor_1 5
#define pinSensor_2 6
#define pinSensor_3 7
#define pinSensor_4 8

negaliojantis inicGSM (negaliojantis) {
  vėlavimas (2000 m.);
  „mySerial.begin“ (9600); // Nustatykite ryšio greitį su GSM moduliu 9600 Baud / sek.
  „mySerial.println“ („AT + CLIP = 1“);
  vėlavimas (300);
  „mySerial.println“ („AT + CMGF = 1“);
  vėlavimas (300);
  „mySerial.println“ ("AT + CSCS = \" GSM \ "");
  vėlavimas (300);
  „mySerial.println“ („AT + CNMI = 2,2,0,0,0“);
  vėlavimas (300);
}

/ * SMS siuntimas * /
void sendSMS (eilučių tekstas, eilučių telefonas) {
  mySerial.println ("AT + CMGS = \" "+ telefonas +" \ "");
  vėlavimas (500);
  „mySerial.print“ (tekstas);
  vėlavimas (500);
  „mySerial.print“ ((char) 26);
  vėlavimas (2500);
}


nepasirašytas ilgas laikmatisTemp = 0;
uint8_t valandos = 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;

negaliojanti sąranka () {
  „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 = milis ();
}

tuščia kilpa () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis (); valandos ++;}

  if (valandos> = 144) {// Pakeiskite sistemos valdymo laiką į mūsų pačių, 144 valandų, valandų skaičių.
    sendSMS (eilutė („Sistema veikia normaliai.OK“), numerisSMS_1);
    vėlavimas (10000);
    sendSMS (eilutė („Sistema veikia normaliai.OK“), numerisSMS_2);
    vėlavimas (10000);
    valandos = 0;
    timerTemp = milis ();
  }
 
  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) {
    Styginių komanda;

    komanda = "ATD +" + numberCall_1 + ";"
    „mySerial.println“ (komanda);
    vėlavimas (20000);
    „mySerial.println“ („ATH“);
    vėlavimas (1000);

   
    komanda = "ATD +" + numberCall_2 + ";";
    „mySerial.println“ (komanda);
    vėlavimas (20000);
    „mySerial.println“ („ATH“);
    vėlavimas (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    siųsti „SMS“ („textZone_1“, numeris „SMS_1“);
    vėlavimas (10000);
    siųsti „SMS“ („textZone_1“, numeris „SMS_2“);
    vėlavimas (10000);
    flagSensor_1 = 2;
  }


  if (flagSensor_2 == 1) {
    siųsti „SMS“ („textZone_2“, numeris „SMS_1“);
    vėlavimas (10000);
    sendSMS (textZone_2, numberSMS_2);
    vėlavimas (10000);
    flagSensor_2 = 2;
  }


  if (flagSensor_3 == 1) {
    siųsti „SMS“ („textZone_3“, numeris „SMS_1“);
    vėlavimas (10000);
    sendSMS (textZone_3, numberSMS_2);
    vėlavimas (10000);
    flagSensor_3 = 2;
  }


  if (flagSensor_4 == 1) {
    siųsti „SMS“ („textZone_4“, numeris „SMS_1“);
    vėlavimas (10000);
    sendSMS (textZone_4, numberSMS_2);
    vėlavimas (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;
}


Trečias žingsnis. Tikrinama prietaiso sveikata.
Mes atliekame paprasčiausią signalizaciją per GSM SIM800L ir „Arduino“, kad galėtume atiduoti garažą

Įjungus energiją, kol kraunamas SIM800L modulis ir „Arduino“ plokštė, turite apie 20 sekundžių išeiti iš saugomos patalpos. Modulyje SIM800L šviesos diodas rodo tinklo veiklą; dažnai jis ieško tinklo; kartą per penkias sekundes rodo tinklo veikimą. Kai įrenginys suranda tinklą, atjunkite atitinkamus apsaugos įvestis, po to įvyks telefono rinkimas arba SMS. Taigi įrenginys veikia gerai.

Nuotrauka SMS. Bet kokius saugumo detektorius su išėjimais kontaktų pavidalu, pavarų reles galėsite įtraukti tik pagal jūsų poreikius ir vaizduotę. Apskritai mes pagaminome paprastą apsaugos įrenginį. Toks namų sargas gali būti pagamintas organizuojant bet kokių daiktų apsaugą. Norėdami įjungti žadintuvą, per jungiklį, esantį SIM800 ir Arduino, turite tiekti 4,2 volto. Prie pirmo įėjimo abonentui Nr. 1 bus skambinta, po kurio jis pereis į 2 numerį. Papildomas Nr. 2 pateiktas kopijavimui. Atvirosios linijos numeris 2,3,4,5 reiškia, kad abiem telefonams turi būti išduotos SMS žinutės su konkrečiu pažeistos linijos pavadinimu. Mes dedame visas lentas tinkamu atveju. Apskritai manau, kad tai yra geras įdomus įrenginys, kurį galima toliau tobulinti - pridėti GSM lizdo, DMTF valdymo ir dar daugiau funkcijų.

Daugiau informacijos galite pamatyti vaizdo įraše

Linkiu visiems sveikatos ir sėkmės gyvenime ir darbe!
8.8
8.4
8.4

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalęju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
3 komentaras
Svečias Aleksandras
Kyla klausimas, reikia 10kΩ 10W varžų arba 0,25W, ar kas?
Laba diena. Bet ar galiu ką nors pridėti, kad sėkmingai surenkant telefoną, įėjimai būtų blokuojami? Venkite ciklinio rinkimo, kai vienoje iš įėjimų yra žemas lygis!
galite naudoti kitą plokštę, pavyzdžiui, TP4056 su apsauga
Neįmanoma, bet reikia. Be to, ne šiaip sau, o, kaip teisingai sakoma, su apsauga, tai yra, be TP4056, turėtų būti dar dvi mažos IC, įskaitant DW01 arba jo analogą.
Be apsaugos kilpų, labai pageidautina valdyti TP4056 įvesties įtampą.

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...