» Ηλεκτρονικά » Arduino »Κάνουμε την απλούστερη σηματοδότηση στο GSM SIM800L και το Arduino για την παροχή, γκαράζ

Κάνουμε την απλούστερη σηματοδότηση στο GSM SIM800L και το Arduino για την παροχή, γκαράζ


Με την έναρξη της καλοκαιρινής περιόδου, υπήρξε ανάγκη να προστατευθεί η εξοχική κατοικία. Ήθελα να κάνω έναν απλό αλλά αξιόπιστο συναγερμό διαρρήξεων με ένα σήμα που μεταδίδεται σε ένα κινητό τηλέφωνο. Αποφασίστηκε η συναρμολόγηση μιας συσκευής με μετάδοση συναγερμού σε ένα κινητό τηλέφωνο με βάση ηλεκτρονικό πλακέτες που αγοράστηκαν από την Aliexpress. Όπως λένε φτηνές αλλά χαρούμενες. Τα βασικά στοιχεία αυτού του σχεδίου είναι η μονάδα GSM SIM800L και ο πίνακας Arduino (μπορείτε να χρησιμοποιήσετε οποιοδήποτε - Nano, Uno, Pro Mini και τα παρόμοια).

Η συσκευή διαθέτει πέντε εισόδους συναγερμού για αισθητήρες επαφής. Ένας ή περισσότεροι συνδεδεμένοι αισθητήρες μπορούν να συνδεθούν σε κάθε είσοδο. Σε ένα σκίτσο, ορίστε ένα όνομα σε κάθε βρόχο ασφαλείας (για παράδειγμα, μια πόρτα εισόδου, παράθυρο 1, παράθυρο 2 κ.ο.κ.). Η συσκευή ασφαλείας λειτουργεί έτσι: όταν σπάσει το ηλεκτρικό κύκλωμα του πρώτου βρόχου, η συσκευή κάνει μια πρώτη κλήση στο πρώτο τηλέφωνο του συνδρομητή, στη συνέχεια σταματά την κλήση και επίσης στο Νο. 2. Το νούμερο 2 είναι απαραίτητο εν όψει του γεγονότος ότι, αν ξαφνικά ο πρώτος συνδρομητής είναι εκτός σύνδεσης ή η μπαταρία και άλλα προβλήματα γαντζώνονται). Εάν ενεργοποιηθεί ο βρόχος που ακολουθεί το πρώτο, τότε στέλνεται ένα μήνυμα SMS με το όνομα του βρόχου που δούλεψε στην ίδια περίπτωση και στους δύο αριθμούς συνδρομητών.

Καταμέτρηση εργαλείων και υλικών.
μπαταρία ιόντων λιθίου από ένα παλιό τηλέφωνο 3.7V \ 1600mA-1pc
- συνδέοντας καλώδια.
συγκολλητικό σίδερο.
tester?
-μεταβλητό πλαστικό κουτί -1pcs.
πληρωμή Arduino Nano -1 τεμ.
-ενισχυτές 10kOhm-7pcs.
- αλουμινόχαρτο από τελολιθικό φύλλο ·
- Διακόπτης τροφοδοσίας 1pcs.
- Μονάδα SIM800L -1pcs.
- κατώτερη σανίδα 1-2Α -1pcs.
- συνδετήρες τερματικού.

Πρώτο βήμα. Συναρμολόγηση κυκλώματος συσκευής ασφαλείας GSM.
Φωτογραφικό σχέδιο.


Συνδέουμε τα βύσματα σύνδεσης για τη μονάδα GSM SIM800L και τη μονάδα Arduino στο breadboard, απλοποιώντας την εγκατάσταση και διευκολύνοντας την αντικατάσταση των μονάδων εάν είναι απαραίτητο. Συγκολλήστε αντιστάσεις και άλλες συνδέσεις. Οι αντιστάσεις από τον ακροδέκτη RX της μονάδας SIM800L συνδέονται στην ψηφιακή είσοδο Arduino D3 για να ταιριάζουν με την τάση των εισόδων των δύο μονάδων. Οι είσοδοι Arduino D4-D8 τραβιούνται μέσω των αντιστάσεων. Ο διακόπτης είναι τοποθετημένος στο κενό τροφοδοσίας της μονάδας GSM SIM800 και του πίνακα Arduino για την όπλιση ολόκληρου του συστήματος. Η χρήση μιας μπαταρίας, η οποία θα επιτρέψει τη λειτουργία της συσκευής για δύο τρεις ημέρες απουσία ενός δικτύου 220 V. Στην περίπτωσή μου, ο μετατροπέας τάσης από την τάση των 12 V παράγει μια τάση 4,2 V και ταυτόχρονα φορτίζει την μπαταρία (μπορείτε να χρησιμοποιήσετε άλλη κάρτα, για παράδειγμα TP4056 με προστασία).

Δεύτερο βήμα. Προγραμματισμός συσκευών.
Στην κάρτα SIM, οι κωδικοί PIN και όλες οι περιττές λειτουργίες θα πρέπει να διαγραφούν.Ακόμα, θα πρέπει πρώτα να διαμορφώσετε την ίδια τη μονάδα SIM800L. Υπάρχουν πολλά βίντεο σχετικά με αυτό το θέμα στο δίκτυο, δεν υπάρχει τίποτα περίπλοκο γι 'αυτό. Στο σκίτσο αναφέρουμε τους αριθμούς τηλεφώνου σας, ρυθμίζουμε τα ονόματα των ζωνών ασφαλείας, μπορείτε να ορίσετε την ώρα για την παρακολούθηση του συστήματος (εάν η συσκευή λειτουργεί σωστά μετά από καθορισμένο χρόνο, θα εμφανιστεί ένα SMS ελέγχου). Συμπληρώστε το σκίτσο στο Arduino και ελέγξτε τη λειτουργία της συσκευής.

Σκίτσο:


String numberCall_1 = "79123456789"; // Αριθμός συνδρομητή №1 για μια κλήση
Αριθμός συμβολοσειράςSMS_1 = "+79123456789"; // Αριθμός συνδρομητή Νο. 1 για SMS (διαφέρει μόνο στο σύμβολο +)

String numberCall_2 = "79123456782"; // Αριθμός συνδρομητή 2 για μια κλήση
Αριθμός συμβολοσειράςSMS_2 = "+79123456782"; // Αριθμός συνδρομητή # 2 για SMS (διαφέρει μόνο στο σύμβολο +)

String textZone_1 = "Ζώνη συναγερμού!"; // Το όνομά του είναι στα Λατινικά.
Κορδόνι textZone_2 = "Ζώνη συναγερμού2"; // Το όνομά του είναι στα Λατινικά.
String textZone_3 = "Ζώνη συναγερμού!"; // Το όνομά του είναι στα Λατινικά.
String textZone_4 = "Ζώνη συναγερμού!"; // Το όνομά του είναι στα Λατινικά.

#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 (κενό) {
  καθυστέρηση (2000).
  mySerial.begin (9600); // Ρυθμίστε την ταχύτητα επικοινωνίας με τη μονάδα GSM 9600 Baud / sec.
  mySerial.println ("AT + CLIP = 1");
  καθυστέρηση (300);
  mySerial.println ("AT + CMGF = 1").
  καθυστέρηση (300);
  mySerial.println ("AT + CSCS = \" GSM \ ");
  καθυστέρηση (300);
  mySerial.println ("AT + CNMI = 2,2,0,0,0").
  καθυστέρηση (300);
}}

/ * Αποστολή SMS * /
void sendSMS (κείμενο κειμένου, τηλέφωνο String) {
  mySerial.println ("AT + CMGS = \" "+ τηλέφωνο +" \ "");
  καθυστέρηση (500);
  mySerial.print (κείμενο);
  καθυστέρηση (500);
  mySerial.print ((char) 26);
  καθυστέρηση (2500);
}}


μη υπογεγραμμένο μεγάλο χρονοδιακόπτη = 0;
uint8_t ώρες = 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;

άκυρη ρύθμιση () {
  mySerial.begin (9600);
  initGSM ();
  
  pinMode (pinSensor_0, είσοδος);
  pinMode (pinSensor_1, είσοδος);
  pinMode (pinSensor_2, είσοδος);
  pinMode (pinSensor_3, είσοδος);
  pinMode (pinSensor_4, είσοδος);

  timerTemp = millis ();
}}

void loop () {
    αν (millis () - timerTemp> = 3600000) {timerTemp = millis (); ώρες ++ ·}

  αν (ώρες> = 144) {// Αλλαγή του χρόνου ελέγχου του συστήματος στη δική μας, 144 ώρες.
    sendSMS (String ("Το σύστημα λειτουργεί κανονικά.OK"), αριθμόςSMS_1);
    καθυστέρηση (10000);
    sendSMS (String ("Το σύστημα λειτουργεί κανονικά.OK"), αριθμόςSMS_2);
    καθυστέρηση (10000);
    ώρες = 0;
    timerTemp = millis ();
  }}
 
  αν (flagSensor_0 == 0 && digitalRead (pinSensor_0) == 0) flagSensor_0 = 1;
  αν (flagSensor_1 == 0 && digitalRead (pinSensor_1) == 0) flagSensor_1 = 1;
  αν (flagSensor_2 == 0 && digitalRead (pinSensor_2) == 0) flagSensor_2 = 1;
  αν (flagSensor_3 == 0 && digitalRead (pinSensor_3) == 0) flagSensor_3 = 1;
  αν (flagSensor_4 == 0 && digitalRead (pinSensor_4) == 0) flagSensor_4 = 1;

  αν (flagSensor_0 == 1) {
    Εντολή στοιχειοσειράς

    εντολή = "ATD +" αριθμόςCall_1 + ";"
    mySerial.println (εντολή);
    καθυστέρηση (20000).
    mySerial.println ("ATH");
    καθυστέρηση (1000).

   
    εντολή = "ATD +" αριθμόςCall_2 + ";";
    mySerial.println (εντολή);
    καθυστέρηση (20000).
    mySerial.println ("ATH");
    καθυστέρηση (1000).

    flagSensor_0 = 2;
  }}


  αν (flagSensor_1 == 1) {
    sendSMS (textZone_1, αριθμόςSMS_1);
    καθυστέρηση (10000);
    sendSMS (textZone_1, αριθμόςSMS_2);
    καθυστέρηση (10000);
    flagSensor_1 = 2;
  }}


  αν (flagSensor_2 == 1) {
    sendSMS (textZone_2, αριθμόςSMS_1);
    καθυστέρηση (10000);
    sendSMS (textZone_2, αριθμόςSMS_2);
    καθυστέρηση (10000);
    flagSensor_2 = 2;
  }}


  αν (flagSensor_3 == 1) {
    sendSMS (textZone_3, αριθμόςSMS_1);
    καθυστέρηση (10000);
    sendSMS (textZone_3, αριθμόςSMS_2);
    καθυστέρηση (10000);
    flagSensor_3 = 2;
  }}


  αν (flagSensor_4 == 1) {
    sendSMS (textZone_4, αριθμόςSMS_1);
    καθυστέρηση (10000);
    sendSMS (textZone_4, αριθμόςSMS_2);
    καθυστέρηση (10000);
    flagSensor_4 = 2;
  }}

  αν (flagSensor_0 == 2 && digitalRead (pinSensor_0)! = 0) flagSensor_0 = 0;
  αν (flagSensor_1 == 2 && digitalRead (pinSensor_1)! = 0) flagSensor_1 = 0;
  αν (flagSensor_2 == 2 && digitalRead (pinSensor_2)! = 0) flagSensor_2 = 0;
  αν (flagSensor_3 == 2 && digitalRead (pinSensor_3)! = 0) flagSensor_3 = 0;
  αν (flagSensor_4 == 2 && digitalRead (pinSensor_4)! = 0) flagSensor_4 = 0;
}}


Βήμα τρίτο. Έλεγχος της υγείας της συσκευής.
Κάνουμε την απλούστερη σηματοδότηση στο GSM SIM800L και το Arduino για την παροχή, γκαράζ

Κατά την τοποθέτηση της τροφοδοσίας, ενώ η μονάδα SIM800L και η πλακέτα Arduino φορτώνουν, έχετε περίπου 20 δευτερόλεπτα για να φύγετε από το φυλασσόμενο δωμάτιο. Στη μονάδα SIM800L, η ενδεικτική λυχνία LED υποδεικνύει δραστηριότητα δικτύου, συχνά ψάχνει για ένα δίκτυο, μία φορά κάθε πέντε δευτερόλεπτα υποδεικνύει λειτουργία δικτύου. Όταν η συσκευή εντοπίσει ένα δίκτυο, αποσυνδέστε τις αντίστοιχες εισόδους ασφαλείας, μετά από αυτό θα υπάρξει τηλεφωνική σύνδεση ή αποστολή SMS. Έτσι, η συσκευή λειτουργεί καλά.

Φωτογραφικό SMS. Θα είναι δυνατό να συμπεριληφθούν ανιχνευτές ασφαλείας με εξόδους με τη μορφή επαφών, ρελέ από ενεργοποιητές, μόνο σύμφωνα με τις ανάγκες και τη φαντασία σας. Γενικά, κατασκευάσαμε μια απλή συσκευή ασφαλείας. Ένας τέτοιος σπιτικό φύλακας μπορεί να γίνει για να οργανώσει την προστασία των αντικειμένων. Για να ενεργοποιήσετε τη συσκευή συναγερμού, πρέπει να τροφοδοτήσετε 4,2 V μέσω του διακόπτη SIM800 και Arduino. Στην πρώτη είσοδο, μια κλήση θα περάσει στο συνδρομητή Νο. 1, μετά την οποία θα μεταβεί στο Νο. 2. Επιπλέον αριθ. 2 παρέχεται για την επικάλυψη. Ο αριθμός ανοιχτού βρόχου 2,3,4,5 κάνει την έκδοση SMS με το συγκεκριμένο όνομα του σπασμένου βρόχου, αντίστοιχα, και στα δύο τηλέφωνα. Θα τοποθετήσουμε όλες τις σανίδες σε μια κατάλληλη περίπτωση. Σε γενικές γραμμές, νομίζω ότι αυτή είναι μια καλή ενδιαφέρουσα συσκευή που μπορεί να αναπτυχθεί περαιτέρω - προσθέστε τις λειτουργίες μιας υποδοχής GSM, ελέγχου DMTF και πολλά άλλα.

Περισσότερες λεπτομέρειες μπορείτε να δείτε στο βίντεο

Σας εύχομαι καλή υγεία και επιτυχία στη ζωή και την εργασία!
8.8
8.4
8.4

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά
3 σχόλιο
Επισκέπτης Αλέξανδρος
Υπάρχει μια ερώτηση, χρειάζονται 10kΩ αντιστάσεις 10W ή 0.25W ή τι;
Καλημέρα. Αλλά μπορώ να προσθέσω κάτι έτσι ώστε με μια επιτυχημένη dial-up, οι είσοδοι να μπλοκαριστούν; για να αποφύγετε την κυκλική κλήση παρουσία χαμηλού επιπέδου σε μία από τις εισόδους!
μπορείτε να χρησιμοποιήσετε άλλη κάρτα, για παράδειγμα TP4056 με προστασία
Δεν είναι δυνατόν, αλλά πρέπει να. Επιπλέον, όχι όπως, σωστά, με την προστασία, δηλαδή, εκτός από το TP4056, θα πρέπει να υπάρχουν δύο ακόμα μικρά ολοκληρωμένα κυκλώματα, συμπεριλαμβανομένου του DW01 ή του αναλόγου του.
Εκτός από τους βρόχους ασφαλείας, είναι πολύ επιθυμητό να ελέγχεται η τάση εισόδου του TP4056.

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...