Share
Pin
Tweet
Send
Share
Send
SIM800L V2.0 GSM / GPRS je štiripasovni GSM / GPRS modul, združljiv z Arduino. Modul se uporablja za izvajanje funkcij GSM (klici in SMS) in GPRS. Prednost tega modula je vmesnik TTL z napetostjo 5 V, ki vam omogoča, da ga neposredno povežete z Arduino ali katerim koli drugim sistemom s 5V napajalnikom. Večina GSM / GPRS modulov na trgu zahteva povezave regulatorja ali pretvorbo ravni, medtem ko v SIM800L V.2 GSM / GPRS ne zahteva dodatnih pretvorbenih ravni vezij vmesnikov.
Tu je primer projekta, ki uporablja SIM800L V.2 GSM / GPRS. Pomen projekta je krmiljenje stikal s pomočjo krmilnika SMS. Večino gospodinjskih aparatov v hiši lahko enostavno vklopite in izklopite, kot so lama, ventilator in podobno.
Značilnosti modula GSM / GPRS SIM800L V.2
Spodaj so vse tehnične specifikacije modula GSM / GPRS SIM800L V.2:
- TTL serijski vmesnik, združljiv s 3,3 V in 5 V mikrokontrolerji, združljiv z Arduino.
- Modul SIM800L ima serijski vmesnik TTL.
- Antenski vtič
- Podpora za omrežje: štirje pasovi 850/900/1800/1900 MHz, ki omogočajo klice, SMS in prenos podatkov z znatno zmanjšano porabo baterije.
- VDD TTL UART vmesnik, tako da lahko neposredno povežete MCU, kot so 51MCU, ARM ali MSP430. VDD vtič, ki se uporablja za ujemanje z napetostjo TTL.
- Model: SIMCOM SIM800L
- Delovna napetost: od 3,7 V do 5 V;
- dimenzije: 40mm x 28mm x 3mm
- GPRS multislot razred 12/10
- GPRS paketni paket B
- Ustreza GSM fazi 2/2 +
- Razred 4 (2 vata pri 850/900 MHz)
- Razred 1 (1 Wat pri 1800/1900 MHz)
Potrebni materiali
Potrebovali boste:
1. SIM800L V.2 GSM / GPRS modul.
2. Arduino Uno.
3. 4-kanalni 5-voltni relejni modul.
4. Žice - skakalci.
5. Napajanje 5 V
(Aktivne povezave do trgovine za nakup)
Montaža in konfiguracija
Ko povežete vse komponente, ustvarite program in ga naložite v svoj Arduino. Najprej morate namestiti knjižnico GPRS, ki jo lahko prenesete:
gprs.zip 28,02 Kb (prenosi: 509)
Programska koda za Arduino
Ko ste v računalnik povezali SIM800L, 4-kanalni relejni modul in Arduino, vnesite spodnjo kodo in ste končani.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relay = {A0, A1, A2, A3}; bajt StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = napačno; String replyNumber = "089510863958"; GPRS gprs; void setup () {for (int i = 0; i >> Samodejno preberi SMS "); gprs.preInit (); zamuda (1000); medtem ko (0! = gprs.init ()) {zamik (1000); Serial .print ("init errorrn");} // Upravljanje sporočila v načinu ASCII, če (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("NAPAKA: CNMI") ; return;} // Preberi dohodni SMS, če (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0rn", "OK", TIMEOUT)) {NAPAKA ("NAPAKA: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Pošlji odgovor na številko =>"); Serial.println (buffNumber); Serial.println ("Končana inicializacija"); Serial.println ("======================================== ========================))} neveljavna zanka () {// Spremeni status Relay ON / OFF za (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ===================================== ================== >> Funkcija relejskega krmilnika // Relay 1 Controller if (lastLine.indexOf ("Relay 1 ON ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 1 je aktiven"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 1 izklopljen"); gprs.sendSMS (buffNumber, "Relay 1 Status Off"); } // Krmilnik Relay 2 if (lastLine.indexOf ("Relay 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 2 je aktiven"); gprs.sendSMS (buffNumber, "Relay 2 Status Active"); } else if (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 2 izklopljen"); gprs.sendSMS (buffNumber, "Relay 2 Status Off"); } // Krmilnik releja 3, če (lastLine.indexOf ("Relay 3 ON")> = 0) {StatRelay2 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 3 je aktiven"); gprs.sendSMS (buffNumber, "Relay 3 Status Active"); } else if (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Izklopljen status releja 3"); gprs.sendSMS (buffNumber, "Relay 3 Status Off"); } // Krmilnik Relay 4, če (lastLine.indexOf ("Relay 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Status releja 4 je aktiven"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Odgovor ==== >>>>"); Serial.println ("Izklopljen status releja 4"); gprs.sendSMS (buffNumber, "Relay 4 Status Off"); } nextLineIsMessage = napačno; } // ================================================== ==================== >>} // Počisti matrično zaporedje za naslednjo vrstico branja za (int i = 0; i <sizeof (currentLine); ++ i) {trenutniLinei = (char) 0; } trenutniLineIndex = 0; } else {trenutniLinecurcurrentLineIndex ++ = lastCharRead; }}}
Preverjanje naprave
Orodje deluje tako, da pošlje SMS na SIM800L z določenim zaporedjem znakov. Na primer, če želite omogočiti rele 1, uporabite ukaz "Relay 1 ON" in ga izklopite z ukazom "Relay 1 OFF". Preostali releji imajo skoraj enake ukaze, razen serijske številke vsakega releja, na katerega želite delovati. Ko samodejno pošlje sporočilo, bo SIM800 poslal odgovor v obliki statusnega sporočila za vsako kartico SIM.
Sestavljanje, konfiguracija in preverjanje videoposnetkov
Izvirni članek v angleščini
Share
Pin
Tweet
Send
Share
Send