» Électronique » Arduino »Nous faisons la signalisation la plus simple sur GSM SIM800L et Arduino pour donner, garage

Nous faisons la signalisation la plus simple sur GSM SIM800L et Arduino pour donner, garage


Avec le début de la saison estivale, il fallait protéger la maison de campagne. Je voulais créer une alarme antivol simple mais fiable avec un signal transmis à un téléphone portable. Il a été décidé d'assembler un appareil avec transmission d'alarme à un téléphone portable électronique circuits imprimés achetés sur Aliexpress. Comme on dit bon marché mais joyeux. Les principaux éléments de cette conception sont le module GSM SIM800L et la carte Arduino (vous pouvez utiliser n'importe quel Nano, Uno, Pro Mini et similaires).

L'appareil dispose de cinq entrées d'alarme pour les capteurs de contact. Un ou plusieurs capteurs connectés en série peuvent être connectés à chaque entrée. Dans un schéma, attribuez un nom à chaque boucle de sécurité (par exemple, une porte d'entrée, une fenêtre 1, une fenêtre 2, etc.). Le dispositif de sécurité fonctionne comme ceci: lorsque le circuit électrique de la première boucle est rompu, l'unité effectue d'abord un appel vers le premier téléphone de l'abonné, puis interrompt l'appel et également vers le n ° 2. Le n ° 2 est nécessaire compte tenu du fait que si soudainement le premier abonné est hors ligne ou que la batterie et d'autres problèmes sont accrochés) Si la boucle suivant la première est déclenchée, un SMS est envoyé avec le nom de la boucle qui a fonctionné, dans le même cas, aux deux numéros d'abonné.

Dénombrement des outils et des matériaux.
batterie lithium-ion d'un ancien téléphone 3.7V \ 1600mA-1pc
-les fils de connexion;
fer à souder;
testeur;
- boîte en plastique transparente -1pcs;
paiement Arduino Nano -1 pcs;
-résistances 10kOhm-7pcs;
- planche à pain en feuille de textolite;
- 1 interrupteur d'alimentation;
- Module SIM800L -1pcs;
- planche abaissée 1-2A -1pcs;
- connecteurs terminaux.

Première étape. Assemblage d'un circuit de dispositif GSM de sécurité.
Schéma photo.


Nous soudons des plots enfichables pour le module GSM SIM800L et le module Arduino sur la platine, cela simplifie l'installation et facilite le remplacement des modules si nécessaire. Résistances à souder et autres connexions. Les résistances de la broche RX du module SIM800L sont connectées à l'entrée numérique Arduino D3 pour correspondre à la tension des entrées des deux modules. Les entrées Arduino D4-D8 sont tirées à travers des résistances. Le commutateur est monté dans l'espace d'alimentation du module GSM SIM800 et de la carte Arduino pour armer l'ensemble du système. L'utilisation d'une batterie, qui permettra à l'appareil de fonctionner pendant deux trois jours en l'absence d'un réseau 220 V. Dans mon cas, le convertisseur de tension à partir de la tension de 12 V produit une tension de 4,2 V et charge en même temps la batterie (vous pouvez utiliser une autre carte, par exemple TP4056 avec protection).

Deuxième étape. Programmation de l'appareil.
Dans la carte SIM, les codes PIN et toutes les fonctions inutiles doivent être supprimés.Pourtant, vous devez d'abord configurer le module SIM800L lui-même. Il y a beaucoup de vidéos sur ce sujet sur le réseau, il n'y a rien de compliqué. Dans le croquis, nous indiquons vos numéros de téléphone, ajustons les noms des zones de sécurité, vous pouvez définir l'heure de surveillance du système (si l'appareil fonctionne correctement après une heure spécifiée, un SMS de contrôle viendra). Remplissez le croquis en Arduino et vérifiez le fonctionnement de l'appareil.

Esquisse:


Numéro de chaîneCall_1 = "79123456789"; // Numéro d'abonné №1 pour un appel
Numéro de chaîneSMS_1 = "+79123456789"; // Numéro d'abonné n ° 1 pour SMS (ne diffère que par le signe +)

String numberCall_2 = "79123456782"; // Numéro d'abonné 2 pour un appel
Numéro de chaîneSMS_2 = "+79123456782"; // Numéro d'abonné n ° 2 pour SMS (ne diffère que par le signe +)

String textZone_1 = "Alarme! Zone1"; // Son nom est en latin.
String textZone_2 = "Alarme! Zone2"; // Son nom est en latin.
String textZone_3 = "Alarme! Zone3"; // Son nom est en latin.
String textZone_4 = "Alarme! Zone4"; // Son nom est en latin.

#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) {
  retard (2000);
  mySerial.begin (9600); // Réglez la vitesse de communication avec le module GSM 9600 Baud / sec.
  mySerial.println ("AT + CLIP = 1");
  retard (300);
  mySerial.println ("AT + CMGF = 1");
  retard (300);
  mySerial.println ("AT + CSCS = \" GSM \ "");
  retard (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0");
  retard (300);
}

/ * Envoi de SMS * /
void sendSMS (texte de chaîne, téléphone de chaîne) {
  mySerial.println ("AT + CMGS = \" "+ phone +" \ "");
  retard (500);
  mySerial.print (texte);
  retard (500);
  mySerial.print ((char) 26);
  retard (2500);
}


unsigned long timerTemp = 0;
uint8_t heures = 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 ();
}

boucle vide () {
    if (millis () - timerTemp> = 3600000) {timerTemp = millis (); heures ++;}

  if (heures> = 144) {// Changer l'heure de contrôle du système pour la nôtre, 144 heures. nombre d'heures.
    sendSMS (String ("Le système fonctionne normalement.OK"), numberSMS_1);
    retard (10000);
    sendSMS (String ("Le système fonctionne normalement.OK"), numberSMS_2);
    retard (10000);
    heures = 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) {
    Commande chaîne;

    command = "ATD +" + numberCall_1 + ";"
    mySerial.println (commande);
    retard (20000);
    mySerial.println ("ATH");
    retard (1000);

   
    command = "ATD +" + numberCall_2 + ";";
    mySerial.println (commande);
    retard (20000);
    mySerial.println ("ATH");
    retard (1000);

    flagSensor_0 = 2;
  }


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


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


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


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


Étape trois. Vérification de l'intégrité de l'appareil.
Nous faisons la signalisation la plus simple sur GSM SIM800L et Arduino pour donner, garage

Lorsque l'alimentation est appliquée, pendant le chargement du module SIM800L et de la carte Arduino, vous avez environ 20 secondes pour quitter la pièce gardée. Sur le module SIM800L, la LED indique l'activité du réseau; souvent, elle recherche un réseau; une fois toutes les cinq secondes, elle indique le fonctionnement du réseau. Lorsque l'appareil trouve un réseau, déconnectez les entrées de sécurité correspondantes, après quoi il y aura une connexion à distance ou un SMS. Donc, l'appareil fonctionne bien.

SMS photo. Il sera possible d'inclure tous les détecteurs de sécurité avec des sorties sous forme de contacts, relais d'actionneurs, uniquement en fonction de vos besoins et de votre imagination. En général, nous avons fabriqué un dispositif de sécurité simple. Un tel gardien de maison peut être fait pour organiser la protection de tous les objets. Pour allumer le dispositif d'alarme, vous devez fournir 4,2 Volts via le commutateur du SIM800 et de l'Arduino. À la première entrée, un appel passera à l'abonné n ° 1, après quoi il passera au n ° 2. Le n ° 2 supplémentaire est fourni pour la duplication. Le numéro de boucle ouverte 2,3,4,5 fait l'émission de SMS avec le nom spécifique de la boucle rompue, respectivement, sur les deux téléphones. Nous placerons toutes les planches dans n'importe quel cas approprié. En général, je pense que c'est un bon appareil intéressant qui peut être développé davantage - ajoutez les fonctions d'une prise GSM, d'un contrôle DMTF et bien plus encore.

Plus de détails peuvent être vus dans la vidéo

Je vous souhaite à tous santé et réussite dans la vie et au travail!
8.8
8.4
8.4

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
3 commentaire
Alexander invité
Il y a une question, des résistances 10kΩ 10W sont nécessaires ou 0,25W ou quoi?
Bonjour. Mais puis-je ajouter quelque chose afin qu'avec une connexion réussie, les entrées soient bloquées? pour éviter la numérotation cyclique en présence d'un niveau bas sur l'une des entrées!
vous pouvez utiliser une autre carte, par exemple TP4056 avec protection
Pas possible, mais besoin de. De plus, pas du tout, mais, comme cela a été dit à juste titre, avec protection, c'est-à-dire qu'en plus du TP4056, il devrait y avoir deux autres petits circuits intégrés, y compris le DW01 ou son analogue.
En plus des boucles de sécurité, il est très souhaitable de contrôler la tension à l'entrée du TP4056.

Nous vous conseillons de lire:

Donnez-le au smartphone ...