Έλεγχος μέσω SMS SIM800L

Pin
Send
Share
Send


SIM800L V2.0 Το GSM / GPRS είναι μια μονάδα τετραπλής ζώνης GSM / GPRS συμβατή με το Arduino. Η ενότητα χρησιμοποιείται για την υλοποίηση των λειτουργιών του GSM (κλήσεις και SMS) και GPRS. Το πλεονέκτημα αυτής της μονάδας είναι η διασύνδεση TTL με τάση 5V, η οποία σας επιτρέπει να συνδέσετε απευθείας το Arduino ή οποιοδήποτε άλλο σύστημα με τροφοδοσία 5V. Οι περισσότερες μονάδες GSM / GPRS στην αγορά απαιτούν συνδέσεις ρυθμιστή ή μετατροπή επιπέδου, ενώ στο SIM800L V.2 GSM / GPRS δεν απαιτούνται πρόσθετα κυκλώματα μετατροπής επιπέδου διασύνδεσης.
Ακολουθεί ένα παράδειγμα έργου που χρησιμοποιεί SIM800L V.2 GSM / GPRS. Η έννοια του έργου είναι να ελέγχει τους διακόπτες χρησιμοποιώντας τον ελεγκτή SMS. Μπορείτε εύκολα να ενεργοποιήσετε και να απενεργοποιήσετε τις περισσότερες οικιακές συσκευές στο σπίτι, όπως ένα λάμα, ένας ανεμιστήρας και ούτω καθεξής.

Χαρακτηριστικά της μονάδας SIM800L V.2 GSM / GPRS


Παρακάτω παρατίθενται όλες οι τεχνικές προδιαγραφές της μονάδας SIM800L V.2 GSM / GPRS:
  • TTL σειριακή διεπαφή συμβατή με μικροελεγκτές 3,3V και 5V συμβατό με Arduino.
  • Η μονάδα SIM800L διαθέτει σειριακή διασύνδεση TTL.
  • Βύσμα κεραίας
  • Υποστήριξη δικτύου: τέσσερις ζώνες 850/900/1800/1900 MHz, ικανές να πραγματοποιούν κλήσεις, SMS και μεταφορά δεδομένων με σημαντικά μειωμένη κατανάλωση μπαταρίας.
  • VDD TTL UART, ώστε να μπορείτε να συνδέσετε απευθείας μια MCU όπως 51MCU, ARM ή MSP430. Το βύσμα VDD χρησιμοποιείται για να ταιριάζει με την τάση TTL.
  • Μοντέλο: SIMCOM SIM800L
  • Τάση λειτουργίας: από 3,7V έως 5V.
  • διαστάσεις: 40mm x 28mm x 3mm
  • GPRS κατηγορία πολλαπλών γραμμών 12/10
  • Υπηρεσία υπηρεσίας παρτίδας GPRS B
  • Αντιστοιχεί στη φάση GSM 2/2 +
  • Κλάση 4 (2 Watts @ 850/900 MHz)
  • Κλάση 1 (1 Wat @ 1800/1900 MHz)

Απαιτούμενα υλικά


Θα χρειαστείτε:


1. Μονάδα SIM800L V.2 GSM / GPRS.
2. Arduino Uno.
3. Μονάδα ρελέ 4 καναλιών 5 βολτ.
4. Καλώδια - jumper.
5. Τροφοδοσία ισχύος 5 V.
(Ενεργοί σύνδεσμοι προς το κατάστημα για αγορά)

Συναρμολόγηση και διαμόρφωση


Αφού συνδέσετε όλα τα στοιχεία, δημιουργήστε ένα πρόγραμμα και, στη συνέχεια, το κατεβάστε στο Arduino. Αλλά πρώτα, πρέπει να εγκαταστήσετε τη βιβλιοθήκη GPRS, την οποία μπορείτε να κάνετε λήψη:
gprs.zip 28.02 Kb (λήψεις: 509)

Κωδικός προγράμματος για το Arduino


Αφού συνδέσετε τον SIM800L, την ηλεκτρονική μονάδα αναμετάδοσης 4 καναλιών και το Arduino στον υπολογιστή σας, πληκτρολογήστε τον παρακάτω κώδικα και τελειώσατε.
#include #include #define ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ 5000 #define ACTIVE LOW # ορίστε OFF HIGH Relay byte = {A0, A1, A2, A3}; byte StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; String replyNumber = "089510863958"; GPRS gprs; (1000), ενώ (0! = gprs.init ()) {καθυστέρηση (1000), Serial () (0) = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR: "ERROR: CNMI" · επιστρέψετε · // // Ανάγνωση εισερχόμενου SMS αν (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERROR: ; return int;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg) · Serial.print ("Αποστολή απάντησης στον αριθμό =>") Serial.println ("Η εκκίνηση ολοκληρώθηκε"), Serial.println ("====================================== = //========================================================================================================================================================================================================================================================== {if (nextLineIsMessage) {Serial.println (lastLine); // ==================================== ============================== >> Λειτουργία του ελεγκτή ρελέ // Ρελέ 1 Ελεγκτής αν (lastLine.indexOf ("Ρελέ 1 ON ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ενεργού ρελέ 1"); gprs.sendSMS (buffNumber, "Κατάσταση ενεργού ρελέ 1"). } else αν (lastLine.indexOf ("Ρελέ 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ρελέ 1 εκτός λειτουργίας"). gprs.sendSMS (buffNumber, "Κατάσταση ρελέ 1 εκτός λειτουργίας"). } // Ρελέ 2 Ελεγκτής αν (lastLine.indexOf ("Ρελέ 2 ΟΝ")> = 0) {StatRelay1 = AKTIF; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ενεργού ρελέ 2"); gprs.sendSMS (buffNumber, "Κατάσταση ενεργού ρελέ 2"). } else αν (lastLine.indexOf ("Ρελέ 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ρελέ 2 εκτός"); gprs.sendSMS (buffNumber, "Κατάσταση ρελέ 2 εκτός λειτουργίας"). } // Ρελέ 3 Ελεγκτής εάν (lastLine.indexOf ("Ρελέ 3 ΟΝ")> = 0) {StatRelay2 = AKTIF; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Ενεργή Κατάσταση Ρελέ 3"); gprs.sendSMS (buffNumber, "Ρελέ 3 Ενεργή κατάσταση"). } else αν (lastLine.indexOf ("Ρελέ 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ρελέ 3 εκτός"); gprs.sendSMS (buffNumber, "Κατάσταση ρελέ 3 εκτός"); } // Ρελέ 4 Ελεγκτής εάν (lastLine.indexOf ("Ρελέ 4 ΟΝ")> = 0) {StatRelay3 = AKTIF; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ενεργού ρελέ 4"); gprs.sendSMS (buffNumber, "Κατάσταση ενεργού ρελέ 1"). } else αν (lastLine.indexOf ("Ρελέ 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Απάντηση ==== >>>>"); Serial.println ("Κατάσταση ρελέ 4 εκτός"); gprs.sendSMS (buffNumber, "Κατάσταση ρελέ 4 εκτός λειτουργίας"). } nextLineIsMessage = false; } // ================================================ =================== >>} // Διαγράψτε τον πίνακα char για την επόμενη γραμμή ανάγνωσης για (int i = 0; i <sizeof (currentline)) ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Έλεγχος συσκευής


Το εργαλείο λειτουργεί αποστέλλοντας SMS στη SIM800L με μια συγκεκριμένη σειρά χαρακτήρων. Για παράδειγμα, για να ενεργοποιήσετε το ρελέ 1, χρησιμοποιήστε την εντολή "Ρελέ 1 ΟΝ" και για να την απενεργοποιήσετε, χρησιμοποιήστε την εντολή "Ρελέ 1 OFF". Τα υπόλοιπα ρελέ έχουν σχεδόν τις ίδιες εντολές, με εξαίρεση τον αύξοντα αριθμό κάθε ρελέ που θέλετε να λειτουργήσετε. Μετά την αυτόματη αποστολή ενός μηνύματος, το SIM800 θα στείλει μια απάντηση με τη μορφή μηνύματος κατάστασης για κάθε κάρτα SIM.

Συναρμολόγηση βίντεο, διαμόρφωση και επαλήθευση συσκευής



Αρχικό άρθρο στα αγγλικά

Pin
Send
Share
Send

Δείτε το βίντεο: Arduino + GSM module SMS message, HTTP requests (Ενδέχεται 2024).