» elektronik » Arduino »Vi gör den enklaste signaliseringen på GSM SIM800L och Arduino för att ge, garage

Vi gör den enklaste signaliseringen på GSM SIM800L och Arduino för att ge, garage


När sommarsäsongen började fanns det ett behov av att skydda hus på landet. Jag ville göra ett enkelt men tillförlitligt inbrottslarm med en signal överförd till en mobiltelefon. Det beslutades att montera en enhet med larmöverföring till en mobiltelefon baserad på elektronisk kretskort köpta på Aliexpress. Som de säger billigt men glad. Huvudelementen i denna design är GSM SIM800L-modulen och Arduino-kortet (du kan använda valfritt - Nano, Uno, Pro Mini och liknande).

Enheten har fem alarmingångar för kontaktsensorer. En eller flera sensorer anslutna i serie kan anslutas till varje ingång. I en skiss tilldela du ett namn till varje säkerhetsslinga (till exempel en ingångsdörr, fönster 1, fönster 2 osv.). Säkerhetsanordningen fungerar så här: när den elektriska kretsen i den första slingan bryts, ringer enheten först ett samtal till abonnentens första telefon, stoppar sedan samtalet och även till nr 2. Nr 2 är nödvändigt med tanke på att om den första abonnenten plötsligt är offline eller batteriet och andra problem är anslutna). Om slingan efter den första utlöses skickas ett SMS-meddelande med namnet på slingan som fungerade, i samma fall till båda abonnentnumren.

Uppräkning av verktyg och material.
litiumjonbatteri från en gammal telefon 3,7V \ 1600mA-1 st
-anslutande ledningar;
lödkolv;
En testare;
-transparent plastlåda -1st;
klä upp Arduino Nano -1 st;
-resistorer 10kOhm-7st;
- brödskiva av foliet textolit;
- 1st strömbrytare;
- SIM800L-modul -1st;
- sänkningskort 1-2A -1st;
- terminalanslutningar.

Första steget. Montering av en krets på en GSM-säkerhetsenhet.
Bildschema.


Vi löd plug-in pads för GSM SIM800L-modulen och Arduino-modulen till brädskivan, detta förenklar installationen och gör det enkelt att byta moduler vid behov. Lodmotstånd och andra anslutningar. Motstånden från RX-stiftet på SIM800L-modulen är anslutna till den digitala ingången Arduino D3 för att matcha spänningen på ingångarna i båda modulerna. Arduino D4-D8-ingångar dras genom motstånd. Strömställaren är monterad i strömförsörjningsgapet i SIM800 GSM-modulen och Arduino-kortet för att aktivera hela systemet. Användning av ett batteri, som gör att enheten kan fungera i två tre dagar i frånvaro av ett 220 V. Nätverk. I mitt fall producerar spänningsomvandlaren från spänningen på 12 V en spänning på 4,2 V och samtidigt laddar batteriet (du kan använda ett annat kort, till exempel TP4056 med skydd).

Andra steget. Enhetsprogrammering.
På SIM-kortet ska PIN-koder och alla onödiga funktioner tas bort.Fortfarande måste du först konfigurera själva SIM800L-modulen. Det finns många videor om detta ämne i nätverket, det är inget komplicerat med det. I skissen visar vi dina telefonnummer, justerar namnen på säkerhetszonerna, du kan ställa in tiden för övervakning av systemet (om enheten fungerar korrekt efter en viss tid kommer ett kontroll SMS att komma). Fyll skissen i Arduino och kontrollera enhetens funktion.

skissa:


String numberCall_1 = "79123456789"; // Prenumerant nummer 1 för ett samtal
String numberSMS_1 = "+79123456789"; // Prenumerantnummer 1 för SMS (skiljer sig endast i + -tecknet)

String numberCall_2 = "79123456782"; // Prenumerant nummer 2 för ett samtal
String numberSMS_2 = "+79123456782"; // Prenumerantnummer 2 för SMS (skiljer sig endast i + -tecknet)

String textZone_1 = "Larm! Zone1"; // Dess namn är på latin.
String textZone_2 = "Larm! Zone2"; // Dess namn är på latin.
String textZone_3 = "Larm! Zone3"; // Dess namn är på latin.
String textZone_4 = "Larm! Zone4"; // Dess namn är på latin.

#include 
SoftwareSerial mySerial (2, 3);

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

void initGSM (void) {
  försening (2000);
  mySerial.begin (9600); // Ställ in kommunikationshastigheten med GSM-modulen 9600 Baud / sek.
  mySerial.println ("AT + CLIP = 1");
  fördröjning (300);
  mySerial.println ("AT + CMGF = 1");
  fördröjning (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  fördröjning (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  fördröjning (300);
}

/ * SMS-sändning * /
void sendSMS (Stringtext, String phone) {
  mySerial.println ("AT + CMGS = \" "+ telefon +" \ "");
  fördröjning (500);
  mySerial.print (text);
  fördröjning (500);
  mySerial.print ((char) 26);
  fördröjning (2500);
}


osignerad lång timerTemp = 0;
uint8_t timmar = 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;

ogiltig installation () {
  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 (); timmar ++;}

  if (timmar> = 144) {// Ändra systemkontrolltid till vår egen, 144 timmar. antal timmar.
    sendSMS (String ("Systemet fungerar normalt.OK"), nummerSMS_1);
    fördröjning (10000);
    sendSMS (String ("Systemet fungerar normalt.OK"), nummerSMS_2);
    fördröjning (10000);
    timmar = 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) {
    Strängkommando;

    kommando = "ATD +" + nummerCall_1 + ";"
    mySerial.println (kommando);
    fördröjning (20000);
    mySerial.println ("ATH");
    fördröjning (1000);

   
    kommando = "ATD +" + nummerCall_2 + ";";
    mySerial.println (kommando);
    fördröjning (20000);
    mySerial.println ("ATH");
    fördröjning (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, numberSMS_1);
    fördröjning (10000);
    sendSMS (textZone_1, nummerSMS_2);
    fördröjning (10000);
    flagSensor_1 = 2;
  }


  if (flagSensor_2 == 1) {
    sendSMS (textZone_2, nummerSMS_1);
    fördröjning (10000);
    sendSMS (textZone_2, nummerSMS_2);
    fördröjning (10000);
    flagSensor_2 = 2;
  }


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3, nummerSMS_1);
    fördröjning (10000);
    sendSMS (textZone_3, nummerSMS_2);
    fördröjning (10000);
    flagSensor_3 = 2;
  }


  if (flagSensor_4 == 1) {
    sendSMS (textZone_4, nummerSMS_1);
    fördröjning (10000);
    sendSMS (textZone_4, nummerSMS_2);
    fördröjning (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;
}


Steg tre. Kontrollera enhetens hälsa.
Vi gör den enklaste signaliseringen på GSM SIM800L och Arduino för att ge, garage

När strömmen är påslagen, medan SIM800L-modulen och Arduino-kortet laddas, har du cirka 20 sekunder att lämna det skyddade rummet. På SIM800L-modulen indikerar LED: n nätverksaktivitet; ofta söker den efter ett nätverk; en gång var femte sekund indikerar den nätverksdrift. När enheten hittar ett nätverk, koppla från motsvarande säkerhetsingångar. Därefter kommer det att ringa upp eller skicka SMS. Så enheten fungerar bra.

Foto SMS. Det kommer att vara möjligt att inkludera alla säkerhetsdetektorer med utgångar i form av kontakter, reläer från ställdon, endast i enlighet med dina behov och fantasi. I allmänhet tillverkade vi en enkel säkerhetsenhet. En sådan hemmagjord vakta kan göras för att organisera skyddet av alla föremål. För att slå på larmenheten måste du mata 4,2 volt genom omkopplaren på SIM800 och Arduino. Vid den första ingången kommer ett samtal att passera till abonnenten nr 1, varefter det växlar till nr 2. Ytterligare nr 2 tillhandahålls för duplicering. Den öppna slingan nummer 2,3,4,5 gör att SMS-skivor med det specifika namnet på den brutna slingan på båda telefonerna görs. Vi kommer att placera alla styrelser i valfritt fall. I allmänhet tycker jag att detta är en bra intressant enhet som kan vidareutvecklas ytterligare - lägg till funktionerna i ett GSM-uttag, DMTF-kontroll och mycket mer.

Mer information kan ses i videon

Jag önskar er all hälsa och framgång i livet och arbetet!
8.8
8.4
8.4

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
3 kommentarer
Gäst Alexander
Det finns en fråga, 10kΩ 10W motstånd behövs eller 0,25W eller vad?
Bra dag. Men kan jag lägga till något så att ingångarna blockeras med en framgångsrik uppringning? för att undvika cyklisk uppringning i närvaro av en låg nivå vid en av ingångarna!
Du kan använda ett annat kort, till exempel TP4056 med skydd
Inte möjligt, men behöver. Dessutom, inte på något sätt, men, som med rätta sagt, med skydd, det vill säga, förutom TP4056 borde det finnas ytterligare två små IC: er, inklusive DW01 eller dess analoga.
Förutom säkerhetsslingor är det mycket önskvärt att kontrollera spänningen vid ingången till TP4056.

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...