» elettronica » Arduino »Facciamo la segnalazione più semplice su GSM SIM800L e Arduino per dare, garage

Effettuiamo la più semplice segnalazione su GSM SIM800L e Arduino per cottage estivi, garage


Con l'inizio della stagione estiva, c'era la necessità di proteggere la casa di campagna. Volevo realizzare un semplice ma affidabile antifurto con un segnale trasmesso a un telefono cellulare. È stato deciso di assemblare un dispositivo con trasmissione di allarme su un telefono cellulare basato su elettronico circuiti stampati acquistati su Aliexpress. Come si suol dire economico ma allegro. Gli elementi principali di questo design sono il modulo GSM SIM800L e la scheda Arduino (è possibile utilizzare qualsiasi: Nano, Uno, Pro Mini e simili).

Il dispositivo ha cinque ingressi di allarme per i sensori di contatto. Uno o più sensori collegati in serie possono essere collegati a ciascun ingresso: in uno schizzo, assegnare un nome a ciascun circuito di sicurezza (ad esempio, una porta d'ingresso, una finestra 1, una finestra 2 e così via). Il dispositivo di sicurezza funziona in questo modo: quando il circuito elettrico del primo loop viene interrotto, l'unità effettua prima una chiamata al primo telefono dell'abbonato, quindi interrompe la chiamata e anche al n. 2. Il numero 2 è necessario in considerazione del fatto che se improvvisamente il primo abbonato è offline o la batteria e altri problemi sono agganciati). Se viene attivato il loop successivo al primo, viene inviato un messaggio SMS con il nome del loop che ha funzionato, nello stesso caso, ad entrambi i numeri di abbonato.

Enumerazione di strumenti e materiali.
batteria agli ioni di litio da un vecchio telefono 3,7 V \ 1600 mA-1 pz
cavi di collegamento;
saldatore;
Un tester;
- scatola di plastica trasparente -1 pz;
Dress-Up Arduino Nano -1 pezzi;
-resistors 10kOhm-7pcs;
- tagliere in lamina di textolite;
- 1 pz interruttore di alimentazione;
- Modulo SIM800L -1 pezzi;
- tavola ribassata 1-2A -1 pz;
- connettori terminali.

Primo passo. Assemblaggio di un circuito di un dispositivo di sicurezza GSM.
Schema fotografico.


Saldiamo i pad plug-in per il modulo GSM SIM800L e il modulo Arduino alla breadboard, questo semplifica l'installazione e semplifica la sostituzione dei moduli, se necessario. Resistori a saldare e altri collegamenti. Le resistenze dal pin RX del modulo SIM800L sono collegate all'ingresso digitale Arduino D3 per adattarsi alla tensione degli ingressi di entrambi i moduli. Gli ingressi Arduino D4-D8 sono fatti passare attraverso resistori. L'interruttore è montato nella fessura di alimentazione del modulo GSM SIM800 e della scheda Arduino per l'inserimento dell'intero sistema. L'uso di una batteria, che consentirà al dispositivo di funzionare per due tre giorni in assenza di una rete 220 V. Nel mio caso, il convertitore di tensione dalla tensione di 12 V produce una tensione di 4,2 V e allo stesso tempo carica la batteria (è possibile utilizzare un'altra scheda, ad esempio TP4056 con protezione).

Secondo passo. Programmazione del dispositivo.
Nella carta SIM, i codici PIN e tutte le funzioni non necessarie devono essere eliminate.Tuttavia, devi prima configurare il modulo SIM800L stesso. Ci sono molti video su questo argomento sulla rete, non c'è nulla di complicato. Nello schizzo indichiamo i tuoi numeri di telefono, adeguiamo i nomi delle zone di sicurezza, puoi impostare l'ora per il monitoraggio del sistema (se il dispositivo funziona correttamente dopo un tempo specificato, verrà visualizzato un SMS di controllo). Compila lo schizzo in Arduino e controlla il funzionamento del dispositivo.

schizzo:


String numberCall_1 = "79123456789"; // Numero abbonato №1 per una chiamata
String numberSMS_1 = "+79123456789"; // Numero abbonato n. 1 per SMS (differisce solo per il segno +)

String numberCall_2 = "79123456782"; // Numero abbonato 2 per una chiamata
String numberSMS_2 = "+79123456782"; // Numero abbonato n. 2 per SMS (differisce solo dal segno +)

String textZone_1 = "Allarme! Zona1"; // Il suo nome è in latino.
String textZone_2 = "Allarme! Zona2"; // Il suo nome è in latino.
String textZone_3 = "Alarm! Zone3"; // Il suo nome è in latino.
String textZone_4 = "Allarme! Zona4"; // Il suo nome è in latino.

#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

void initGSM (void) {
  ritardo (2000);
  mySerial.begin (9600); // Imposta la velocità di comunicazione con il modulo GSM 9600 Baud / sec.
  mySerial.println ("AT + CLIP = 1");
  ritardo (300);
  mySerial.println ("AT + CMGF = 1");
  ritardo (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  ritardo (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  ritardo (300);
}

/ * Invio di SMS * /
void sendSMS (String text, String phone) {
  mySerial.println ("AT + CMGS = \" "+ phone +" \ "");
  ritardo (500);
  mySerial.print (testo);
  ritardo (500);
  mySerial.print ((char) 26);
  ritardo (2500);
}


timer lungo senza segno Temp = 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 (); ore ++;}

  if (hours> = 144) {// Cambia il tempo di controllo del sistema al nostro, 144 ore. numero di ore.
    sendSMS (String ("Il sistema funziona normalmente.OK"), numberSMS_1);
    ritardo (10000);
    sendSMS (String ("Il sistema funziona normalmente.OK"), numberSMS_2);
    ritardo (10000);
    ore = 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) {
    Comando String;

    command = "ATD +" + numberCall_1 + ";"
    mySerial.println (comando);
    ritardo (20000);
    mySerial.println ("ATH");
    ritardo (1000);

   
    command = "ATD +" + numberCall_2 + ";";
    mySerial.println (comando);
    ritardo (20000);
    mySerial.println ("ATH");
    ritardo (1000);

    flagSensor_0 = 2;
  }


  if (flagSensor_1 == 1) {
    sendSMS (textZone_1, numberSMS_1);
    ritardo (10000);
    sendSMS (textZone_1, numberSMS_2);
    ritardo (10000);
    flagSensor_1 = 2;
  }


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


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


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


Fase tre. Verifica dello stato del dispositivo.
Effettuiamo la più semplice segnalazione su GSM SIM800L e Arduino per cottage estivi, garage

Quando viene applicata l'alimentazione, mentre il modulo SIM800L e la scheda Arduino si stanno caricando, hai circa 20 secondi per lasciare la stanza protetta. Sul modulo SIM800L, il LED indica l'attività di rete; spesso cerca una rete; una volta ogni cinque secondi indica il funzionamento della rete. Quando il dispositivo trova una rete, scollegare gli ingressi di sicurezza corrispondenti, dopodiché ci sarà un dial-up o l'invio di SMS. Quindi il dispositivo funziona bene.

SMS fotografico. Sarà possibile includere eventuali rilevatori di sicurezza con uscite sotto forma di contatti, relè di attuatori, solo in base alle proprie esigenze e immaginazione. In generale, abbiamo prodotto un semplice dispositivo di sicurezza. Un guardiano così fatto in casa può essere fatto per organizzare la protezione di qualsiasi oggetto. Per accendere il dispositivo di allarme, è necessario fornire 4,2 Volt tramite l'interruttore su SIM800 e Arduino. Alla prima entrata, una chiamata passerà all'abbonato n. 1, dopodiché passerà al n. 2. Il numero 2 aggiuntivo è previsto per la duplicazione. Il numero di loop aperto 2,3,4,5 effettua l'emissione di SMS con il nome specifico del loop interrotto, rispettivamente, su entrambi i telefoni. Metteremo tutte le schede in una qualsiasi in una custodia adatta. In generale, penso che questo sia un buon dispositivo interessante che può essere ulteriormente sviluppato - aggiungere le funzioni di una presa GSM, controllo DMTF e molto altro.

Maggiori dettagli possono essere visti nel video

Vi auguro tutta la salute e il successo nella vita e nel lavoro!
8.8
8.4
8.4

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
3 commenti
Ospite Alexander
C'è una domanda, sono necessari resistori da 10kΩ 10W o ​​0,25W o cosa?
Buona giornata Ma posso aggiungere qualcosa in modo che con un dial-up di successo, gli input siano bloccati? per evitare la composizione ciclica in presenza di un livello basso in uno degli ingressi!
puoi usare un'altra scheda, ad esempio TP4056 con protezione
Non possibile, ma necessario. Inoltre, non comunque, ma, come giustamente detto, con protezione, cioè oltre a TP4056 dovrebbero esserci altri due piccoli circuiti integrati, incluso DW01 o il suo analogo.
Oltre ai circuiti di sicurezza, è molto desiderabile controllare la tensione all'ingresso di TP4056.

Ti consigliamo di leggere:

Passalo per lo smartphone ...