» elektronikk » Arduino »Vi gjør den enkleste signaliseringen på GSM SIM800L og Arduino for å gi, garasje

Vi gjør den enkleste signaliseringen på GSM SIM800L og Arduino for å gi, garasje


Da sommersesongen startet, ble det nødvendig å beskytte landstedet. Jeg ønsket å lage en enkel, men pålitelig innbruddsalarm med signal overført til en mobiltelefon. Det ble besluttet å sette sammen en enhet med alarmoverføring til en mobiltelefon basert på elektronisk kretskort kjøpt på Aliexpress. Som de sier billig, men munter. Hovedelementene i dette designet er GSM SIM800L-modulen og Arduino-brettet (du kan bruke hvilken som helst - Nano, Uno, Pro Mini og lignende).

Enheten har fem alarminnganger for kontaktsensorer. Hver inngang kan kobles til en eller flere sensorer koblet i serie. I skissen, gi hver sikkerhetssløyfe sitt eget navn (for eksempel inngangsdøren, vindu 1, vindu 2 og så videre). Sikkerhetsanordningen fungerer slik: når den elektriske kretsen til den første sløyfen er ødelagt, ringer enheten først et anrop til den første telefonen til abonnenten, deretter stopper samtalen og også til nr. 2. Nr. 2 er nødvendig med tanke på det faktum at hvis den første abonnenten plutselig er frakoblet eller batteriet og andre problemer er koblet) Hvis løkken etter den første utløses, sendes det en SMS-melding med navnet på løkken som i samme tilfelle fungerte til begge abonnentnumrene.

Oppregning av verktøy og materialer.
litium-ion-batteri fra en gammel telefon 3,7V \ 1600mA-1pc
-kobler ledninger;
loddejern;
A tester;
-gjennomsiktig plastboks -1stk;
kle opp Arduino Nano -1 stk;
-resistorer 10kOhm-7stk;
- brødplate laget av folietekstolitt;
- 1 stk strømbryter;
- SIM800L-modul -1stk;
- senkebrett 1-2A -1stk;
- terminalkontakter.

Første trinn. Montere en krets på en GSM-sikkerhetsenhet.
Fotografering.


Vi lodder plug-in pads for GSM SIM800L-modulen og Arduino-modulen til brødplaten, dette forenkler installasjonen og gjør det enkelt å bytte moduler om nødvendig. Loddemotstander og andre forbindelser. Motstandene fra RX-pinnen på SIM800L-modulen er koblet til den digitale inngangen Arduino D3 for å matche spenningen på inngangene til begge modulene. Arduino D4-D8 innganger trekkes gjennom motstander. Bryteren er montert i strømforsyningsgapet til SIM800 GSM-modulen og Arduino-kortet for å aktivere hele systemet. Bruken av et batteri, som lar enheten fungere i to tre dager i mangel av et 220 V. nettverk. I mitt tilfelle produserer spenningsomformeren fra spenningen på 12 V en spenning på 4,2 V og lader samtidig batteriet (du kan bruke et annet kort, for eksempel TP4056 med beskyttelse).

Andre trinn. Enhetsprogrammering.
På SIM-kortet bør PIN-koder og alle unødvendige funksjoner slettes.Likevel må du først konfigurere SIM800L-modulen. Det er mange videoer om dette emnet i nettverket, det er ikke noe komplisert med det. I skissen angir vi telefonnumrene dine, justerer navnene på sikkerhetssonene, du kan stille inn tidspunktet for overvåking av systemet (hvis enheten fungerer som den skal etter en spesifisert tid, kommer en kontroll-SMS). Fyll skissen i Arduino og sjekk funksjonen til enheten.

skissere:


String numberCall_1 = "79123456789"; // Abonnentnummer №1 for en samtale
String numberSMS_1 = "+79123456789"; // Abonnentnummer 1 for SMS (avviker bare i + -tegnet)

String numberCall_2 = "79123456782"; // Abonnent nummer 2 for en samtale
String numberSMS_2 = "+79123456782"; // Abonnentnummer nr. 2 for SMS (avviker bare i + -tegnet)

String textZone_1 = "Alarm! Zone1"; // Navnet er på latin.
String textZone_2 = "Alarm! Zone2"; // Navnet er på latin.
String textZone_3 = "Alarm! Zone3"; // Navnet er på latin.
String textZone_4 = "Alarm! Zone4"; // Navnet er på latin.

#include 
SoftwareSerial mySerial (2, 3);

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

void initGSM (void) {
  forsinkelse (2000);
  mySerial.begin (9600); // Still inn kommunikasjonshastigheten med GSM-modulen 9600 Baud / sek.
  mySerial.println ("AT + CLIP = 1");
  forsinkelse (300);
  mySerial.println ("AT + CMGF = 1");
  forsinkelse (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  forsinkelse (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  forsinkelse (300);
}

/ * SMS-sending * /
ugyldig sendSMS (strengtekst, strengtelefon) {
  mySerial.println ("AT + CMGS = \" "+ telefon +" \ "");
  forsinkelse (500);
  mySerial.print (tekst);
  forsinkelse (500);
  mySerial.print ((char) 26);
  forsinkelse (2500);
}


usignert lang timerTemp = 0;
uint8_t timer = 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;

ugyldig oppsett () {
  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 (); timer ++;}

  if (timer> = 144) {// Endre systemkontrolltiden til vår egen, 144 timer. antall timer.
    sendSMS (String ("Systemet fungerer normalt.OK"), nummerSMS_1);
    forsinkelse (10000);
    sendSMS (String ("Systemet fungerer normalt.OK"), nummerSMS_2);
    forsinkelse (10000);
    timer = 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) {
    Strengkommando;

    kommando = "ATD +" + nummerCall_1 + ";"
    mySerial.println (kommando);
    forsinkelse (20000);
    mySerial.println ("ATH");
    forsinkelse (1000);

   
    kommando = "ATD +" + nummerCall_2 + ";";
    mySerial.println (kommando);
    forsinkelse (20000);
    mySerial.println ("ATH");
    forsinkelse (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, numberSMS_1);
    forsinkelse (10000);
    sendSMS (textZone_1, nummerSMS_2);
    forsinkelse (10000);
    flagSensor_1 = 2;
  }


  if (flagSensor_2 == 1) {
    sendSMS (textZone_2, numberSMS_1);
    forsinkelse (10000);
    sendSMS (textZone_2, numberSMS_2);
    forsinkelse (10000);
    flagSensor_2 = 2;
  }


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3, numberSMS_1);
    forsinkelse (10000);
    sendSMS (textZone_3, nummerSMS_2);
    forsinkelse (10000);
    flagSensor_3 = 2;
  }


  if (flagSensor_4 == 1) {
    sendSMS (textZone_4, numberSMS_1);
    forsinkelse (10000);
    sendSMS (textZone_4, nummerSMS_2);
    forsinkelse (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;
}


Trinn tre. Kontroller enhetens helse.
Vi gjør den enkleste signaliseringen på GSM SIM800L og Arduino for å gi, garasje

Når strømmen er på, mens SIM800L-modulen og Arduino-kortet laster, har du omtrent 20 sekunder på å forlate det beskyttede rommet. På SIM800L-modulen indikerer LED-en nettverksaktivitet, ofte søker den etter et nettverk; hvert femte sekund indikerer den nettverksdrift. Når enheten finner et nettverk, kobler du fra de tilsvarende sikkerhetsinngangene, etter dette vil det være en oppringing eller SMS-sending. Så enheten fungerer fint.

Foto SMS. Det vil være mulig å inkludere alle sikkerhetsdetektorer med utganger i form av kontakter, reléer fra aktuatorer, bare i samsvar med dine behov og fantasi. Generelt produserte vi en enkel sikkerhetsenhet. En slik hjemmelaget vaktmann kan lages for å organisere beskyttelsen av alle gjenstander. For å slå på alarmen må du levere 4,2 volt gjennom bryteren på SIM800 og Arduino. Ved første inngang vil en samtale gå videre til abonnenten nr. 1, hvoretter den går over til nr. 2. Ytterligere nr. 2 er gitt for duplisering. Åpen sløyfe nummer 2,3,4,5 gir utstedelse av SMS med henholdsvis det spesifikke navnet på den ødelagte sløyfen på begge telefonene. Vi vil plassere alle tavler i et passende tilfelle. Generelt sett synes jeg dette er et godt interessant apparat som kan videreutvikles videre - legg til funksjonene til en GSM-kontakt, DMTF-kontroll og mye mer.

Flere detaljer kan sees i videoen

Jeg ønsker deg all helse og suksess i livet og arbeidet!
8.8
8.4
8.4

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
3 kommentarer
Gjest Alexander
Det er et spørsmål, 10kΩ 10W motstander er nødvendig eller 0,25W eller hva?
God dag. Men kan jeg legge til noe slik at inngangene blir blokkert med en vellykket oppringning? for å unngå syklisk oppringing i nærvær av et lavt nivå ved en av inngangene!
Du kan bruke et annet brett, for eksempel TP4056 med beskyttelse
Ikke mulig, men trenger å. Dessuten ikke på noen måte, men som med rette sagt, med beskyttelse, det vil si at foruten TP4056 bør det være to små IC-er, inkludert DW01 eller dens analoge.
I tillegg til sikkerhetsløkker er det veldig ønskelig å kontrollere inngangsspenningen til TP4056.

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...