» Elektronica » Arduino »We maken de eenvoudigste signalering op GSM SIM800L en Arduino voor geven, garage

We maken de eenvoudigste signalering op GSM SIM800L en Arduino voor het geven, garage


Met het begin van het zomerseizoen was er behoefte aan bescherming van het landhuis. Ik wilde een eenvoudig maar betrouwbaar inbraakalarm maken met een signaal dat naar een mobiele telefoon werd gestuurd. Er werd besloten om een ​​toestel met alarmtransmissie te monteren op een mobiele telefoon op basis van elektronisch printplaten gekocht op AliExpress. Zoals ze zeggen goedkoop maar vrolijk. De belangrijkste elementen van dit ontwerp zijn de GSM SIM800L-module en het Arduino-bord (je kunt elk gebruiken - Nano, Uno, Pro Mini en dergelijke).

Het apparaat heeft vijf alarmingangen voor contactsensoren. Op elke ingang kunnen één of meerdere in serie geschakelde sensoren worden aangesloten, geef in een schets een naam aan elke beveiligingslus (bijvoorbeeld een toegangsdeur, raam 1, raam 2, enzovoort). Het beveiligingsapparaat werkt als volgt: wanneer het elektrische circuit van de eerste lus wordt verbroken, belt het apparaat eerst naar de eerste telefoon van de abonnee, stopt vervolgens het gesprek en ook naar nummer 2. Nr. 2 is nodig gezien het feit dat als plotseling de eerste abonnee offline is of de batterij en andere problemen zijn verslaafd). Als de lus die volgt op de eerste wordt geactiveerd, wordt er een sms-bericht verzonden met de naam van de lus die in hetzelfde geval werkte naar beide abonneenummers.

Opsomming van gereedschappen en materialen.
lithium-ionbatterij van een oude telefoon 3.7V \ 1600mA-1pc
-verbindende draden;
soldeerbout;
tester;
-transparante plastic doos -1 stuks;
betaling Arduino Nano -1 stuks;
-weerstanden 10kOhm-7st;
- breadboard gemaakt van folie textoliet;
- 1 stuks aan / uit-schakelaar;
- SIM800L module -1 stuks;
- verlagingsbord 1-2A -1 stks;
- aansluitklemmen.

Eerste stap. Het samenstellen van een circuit van een GSM-beveiligingsapparaat.
Fotoschema.


We solderen plug-in pads voor de GSM SIM800L-module en de Arduino-module op het breadboard, dit vereenvoudigt de installatie en maakt het gemakkelijk om modules te vervangen indien nodig. Soldeerweerstanden en andere verbindingen. De weerstanden van de RX-pin van de SIM800L-module zijn aangesloten op de Arduino D3 digitale ingang om de spanning van de ingangen van beide modules te evenaren. Arduino D4-D8-ingangen worden door weerstanden getrokken. De schakelaar is gemonteerd in de voedingsopening van de SIM800 GSM-module en het Arduino-bord om het hele systeem in te schakelen. Het gebruik van een batterij, waardoor het apparaat twee drie dagen kan werken zonder een netwerk van 220 V. In mijn geval produceert de spanningsomvormer van de spanning van 12 V een spanning van 4,2 V en laadt tegelijkertijd de batterij op (je kunt een ander bord gebruiken, bijvoorbeeld TP4056 met bescherming).

Tweede stap. Apparaatprogrammering.
Op de simkaart moeten pincodes en alle onnodige functies worden verwijderd.Toch moet je eerst de SIM800L module zelf configureren Er staan ​​veel video's over dit onderwerp op het netwerk, er is niets ingewikkelds aan. In de schets geven we uw telefoonnummers aan, passen de namen van de beveiligingszones aan, u kunt de tijd instellen voor het bewaken van het systeem (als het apparaat na een bepaalde tijd goed werkt, komt er een controle-sms). Vul de schets in Arduino in en controleer de werking van het apparaat.

Schets:


String numberCall_1 = "79123456789"; // Abonneenummer №1 voor een gesprek
String numberSMS_1 = "+79123456789"; // Abonneenummer nr. 1 voor sms (verschilt alleen in het + -teken)

String numberCall_2 = "79123456782"; // Abonneenummer 2 voor een gesprek
String numberSMS_2 = "+79123456782"; // Abonneenummer 2 voor sms (verschilt alleen in het + -teken)

String textZone_1 = "Alarm! Zone1"; // De naam is in het Latijn.
String textZone_2 = "Alarm! Zone2"; // De naam is in het Latijn.
String textZone_3 = "Alarm! Zone3"; // De naam is in het Latijn.
String textZone_4 = "Alarm! Zone4"; // De naam is in het Latijn.

#include 
SoftwareSerial mySerial (2, 3);

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

nietig initGSM (nietig) {
  vertraging (2000);
  mySerial.begin (9600); // Stel de communicatiesnelheid in met de GSM-module 9600 Baud / sec.
  mySerial.println ("AT + CLIP = 1");
  vertraging (300);
  mySerial.println ("AT + CMGF = 1");
  vertraging (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  vertraging (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  vertraging (300);
}

/ * SMS verzenden * /
ongeldig sendSMS (String-tekst, String-telefoon) {
  mySerial.println ("AT + CMGS = \" "+ telefoon +" \ "");
  vertraging (500);
  mySerial.print (tekst);
  vertraging (500);
  mySerial.print ((char) 26);
  vertraging (2500);
}


ongetekende lange timerTemp = 0;
uint8_t uur = 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;

ongeldige 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 ();
}

leegte lus () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis (); uur ++;}

  if (hours> = 144) {// Verander de controletijd van het systeem naar die van ons, 144 uur.
    sendSMS (String ("Het systeem werkt normaal.OK"), nummerSMS_1);
    vertraging (10000);
    sendSMS (String ("Het systeem werkt normaal.OK"), nummerSMS_2);
    vertraging (10000);
    uur = 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) {
    Tekenreeksopdracht;

    command = "ATD +" + numberCall_1 + ";"
    mySerial.println (opdracht);
    vertraging (20000);
    mySerial.println ("ATH");
    vertraging (1000);

   
    command = "ATD +" + numberCall_2 + ";";
    mySerial.println (opdracht);
    vertraging (20000);
    mySerial.println ("ATH");
    vertraging (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, nummerSMS_1);
    vertraging (10000);
    sendSMS (textZone_1, nummerSMS_2);
    vertraging (10000);
    flagSensor_1 = 2;
  }


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


  if (flagSensor_3 == 1) {
    sendSMS (textZone_3, numberSMS_1);
    vertraging (10000);
    sendSMS (textZone_3, numberSMS_2);
    vertraging (10000);
    flagSensor_3 = 2;
  }


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


Stap drie. De status van het apparaat controleren.
We maken de eenvoudigste signalering op GSM SIM800L en Arduino voor het geven, garage

Wanneer de stroom wordt ingeschakeld, terwijl de SIM800L-module en het Arduino-bord worden geladen, heb je ongeveer 20 seconden om de bewaakte kamer te verlaten. Op de SIM800L-module geeft de LED netwerkactiviteit aan; vaak zoekt het naar een netwerk; eens in de vijf seconden geeft het netwerkwerking aan. Wanneer het apparaat een netwerk vindt, ontkoppel dan de corresponderende beveiligingsingangen, daarna volgt er een inbelverbinding of sms-verzending. Het apparaat werkt dus prima.

Foto-sms. Het is mogelijk om beveiligingsdetectoren met uitgangen op te nemen in de vorm van contacten, relais van actuatoren, alleen in overeenstemming met uw behoeften en verbeeldingskracht. Over het algemeen hebben we een eenvoudig beveiligingsapparaat gemaakt. Zo'n zelfgemaakte wachter kan worden gemaakt om de bescherming van objecten te organiseren. Om het alarmapparaat in te schakelen, moet je 4,2 Volt leveren via de schakelaar op de SIM800 en Arduino. Bij de eerste ingang wordt een oproep doorgegeven aan abonnee nr. 1, waarna deze wordt overgeschakeld naar nr. 2. Extra nummer 2 is bedoeld voor duplicatie. Het open lusnummer 2,3,4,5 maakt de uitgifte van SMS met respectievelijk de specifieke naam van de gebroken lus op beide telefoons. We plaatsen alle borden in een geschikte koffer. Over het algemeen denk ik dat dit een goed interessant apparaat is dat verder kan worden ontwikkeld - voeg de functies toe van een GSM-aansluiting, DMTF-besturing en nog veel meer.

Meer details zijn te zien in de video

Ik wens jullie alle gezondheid en succes in leven en werk!
8.8
8.4
8.4

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
3 commentaar
Gast Alexander
Er is een vraag, 10kΩ 10W weerstanden zijn nodig of 0.25W of wat?
Goedendag. Maar kan ik iets toevoegen zodat bij een succesvolle inbelverbinding de ingangen worden geblokkeerd? om cyclisch kiezen te voorkomen in aanwezigheid van een laag niveau bij een van de ingangen!
u kunt een ander bord gebruiken, bijvoorbeeld TP4056 met bescherming
Niet mogelijk, maar moet. Bovendien, hoe dan ook, maar, zoals terecht gezegd, met bescherming, dat wil zeggen dat er naast TP4056 nog twee kleine IC's zouden moeten zijn, waaronder DW01 of zijn analoog.
Naast beveiligingslussen is het zeer wenselijk om de spanning aan de ingang van TP4056 te regelen.

We raden je aan om te lezen:

Geef het voor de smartphone ...