Modul GSM GPRS SIM800L: descriere, conexiuni. Controler SMS bazat pe descrierea modulului SIM800L Sim800l gprs gsm

Modul GSM GPRS SIM800L: descriere, conexiuni. Controler SMS bazat pe descrierea modulului SIM800L Sim800l gprs gsm

Modul GSM GPRS SIM800L(SIM800L) MicroSIM cu antenă
Modul SIM800L GPRS GSM Card MicroSIM Placă de bază Quad-Band TTL Port serial

Modul miniatural GSM/GPRS bazat pe componenta SIM800L, dezvoltat de SIMCom Wireless Solutions. Versiunea rusă a site-ului SIMCom. Interfața standard a componentei SIM800L oferă acces la serviciile GSM/GPRS 850/900/1800/1900 MHz pentru apeluri, notificări SMS și schimb de date digitale GPRS. Furnizat cu o antenă încorporată, puteți conecta și antene suplimentare pentru a îmbunătăți puterea semnalului.
Puteți utiliza modulul utilizând un computer personal printr-o interfață USB-UART reproiectată sau direct printr-un modul de microcontroler UART al unui microcontroler auto-dezvoltat sau Arduino, Raspberry Pi și similare.
Componenta SIM800L implementează stiva de protocoale TCP/IP. Amestecați cipul MT6260SA de la MediaTek și cipul receptor RFMD RF7176.
Funcția completă de notificare prin SMS este asigurată cel mai adesea de modulul GSM GPRS SIM800 MicroSIM cu o antenă utilizată în sisteme de dispecerizare, alarme fără drone și sisteme de securitate. În acest caz, ca urmare a diferiților pași, apare un mesaj în următoarea formă: „Conexiunea de urgență a liftului 3, cabina nr. 17”, „Garajul este deschis”, „Ușile de la subsol sunt deschise”, „Tensiunea 220 din cauza reproiectare”, „Scurgeri ale sistemului de ardere”, „Cădan arzător de Vimknenii”, „Temperatura în seră este sub normal.”
Un difuzor și un microfon sunt conectate la modulul GSM GPRS SIM800 MicroSIM. Puteți efectua și primi apeluri de la modul.

Caracteristici

viaţă
Tensiune, V
nominal 4
intervalul 3,4-4,4
strum
în modul de curățare 0,7 mA
limita 500 mA
Tensiune maximă înaltă pentru interfața UART 2,8 V
Viteza UART 1200-115200 baud
Mai multe game EGSM900, DCS1800, GSM850, PCS1900
Intensitatea transmisiei în diferite domenii
DCS1800, PCS1900 1 W
GSM850, EGSM900 2 W
Selectează automat sunete din patru intervale de frecvență.
Suporta rețeaua 2G
Difuzorul acceptă 8 ohmi
Microfon electret
Efectuat de comenzi AT prin UART (comenzi AT îmbunătățite 3GPP TS 27.007, 27.005 SIMCOM)
Determinați automat viteza de transmisie a comenzilor AT de bază
Alimentarea și eliminarea datelor GPRS (TCP/IP, HTTP etc.)
Viteza maximă de transmisie a datelor GPRS 85,6 Kbaud
Codificarea CS-1, CS-2, CS-3 și CS-4
Suporta protocolul GSM 07.10
Packet Broadcast Control Channel (PBCCH) suport CSD la viteze de 2,4, 4,8, 9,6 și 14,4 kbaud
Suport pentru date nestructurate de la servicii suplimentare USSD
Suportă PAP (Protocol de autentificare prin parolă)
Sărbătorim aniversarea adevăratei ore RTC
Suportă cartelele SIM de 3 și 1,8 V
Temperatura, ℃
fiecare ora de munca -30...75
economisind -45...90
Dimensiuni 25 x 25 mm

Indicaţie

Când modulul GSM GPRS este pornit, LED-ul de pe placă clipește puternic. Când este conectat la un operator de telefonie mobilă, rata de clipire scade. Imediat ce conexiunea cu operatorul de telefonie mobilă expiră, LED-ul se aprinde din nou.


Se va auzi o clipire a luminii pentru a vorbi despre căutarea în aer la semnalul stației de comunicații mobile.

Conexiune

Numele contactelor și funcțiile semnalelor și liniilor.

Pentru a îmbunătăți claritatea semnalului, se adaugă o antenă. Tensiunea de intrare este transferată la interfața UART înainte de instalarea modulului SIM800. Nu este nevoie să convertiți interfața USB-UART cu o tensiune de ieșire de 2,8 V. Convertoarele principale sunt tensiunea de la ieșirea UART. Prin urmare, între ieșirea și intrarea modulului GSM GPRS SIM800 este instalată o rezistență de tensiune.

Schimbând tensiunea de ieșire U_usbttl la interfața pe care o aveți, veți determina valorile rezistenței conform formulei indicate pe cel mic. La desfacere, îndoirea valorilor suportului este de ordinul câtorva kilograme.

Primele firimituri

Pentru a verifica fezabilitatea dispozitivului, voi obține destul de un computer mamă și o cartelă SIM cu un banut mic. Verificarea fezabilității poate fi efectuată folosind două metode de conectare a modulului la un PC: prin schimbarea interfețelor USB-UART sau folosind un Arduino UNO suplimentar. Să ne uităm la metoda de verificare fără Arduino. Introduceți cartela SIM în modulul GSM GPRS, continuând să extindeți contactele. Conectați computerul prin conversia interfețelor USB-UART de la dispozitivul din spatele circuitului. Conectați sursa de alimentare la tensiunea nominală. Asigurați-vă că vă bazați pe luminozitatea conexiunii LED cu operatorul dvs. de telefonie mobilă. Închideți programul terminal de pe computer. Datele înainte de ele au fost introduse de mari scriitori. Program Vikorist și terminal, trimite comenzi către modulul GSM GPRS SIM800 prin portul de conectare.

LA
Confirmare modul OK

AT+CSQ
Ieșire modul +CSQ: 18.0 OK

Această comandă oferă informații despre puterea semnalului. Primul număr este egal cu semnalul, valoarea este 18 -78 dbm. Un alt număr este numărul de bătăi primite, valoarea „0” înseamnă că proporția de bătăi este mai mică de 0,2%, ceea ce înseamnă o conexiune bună.


Încercați să trimiteți o comandă ATI la modul.

Dacă nu aveți un convertor USB-UART, puteți utiliza Arduino UNO. Conectați pinul RX al modulului SIM800L la pinul 11 ​​al semnalului digital al Arduino UNO, un rezistor de tensiune. Valorile suporturilor de rezistență trebuie calculate din nou pe baza tensiunii de alimentare a Arduino UNO. Conectați pinul TX al modulului SIM800L de la pinul 10 al semnalului digital Arduino UNO. Introduceți programul în Arduin, al cărui text este dat mai jos. Aici folosim biblioteca SoftwareSerial, care vă permite să implementați cea mai recentă interfață pe orice Arduino digital cu ajutorul unui software care dublează funcționalitatea UART.

#include
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Deschideți comunicațiile seriale și așteptați ca portul să se deschidă:
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() // rulează din nou și din nou
{
dacă (mySerial.available())
Serial.write(mySerial.read());
dacă (Serial.available())
{
în timp ce(Serial.available())
{
mySerial.write(Serial.read());
}
mySerial.println();
}
}

Textul programului este bogat în informații utile. Acum puteți trimite comenzi AT prin monitorul serial Arduino.

Pe Rosiyskomovni, dezghețurile textului textului programului Arduino al programului Arduino, pentru pre-unitatea Yaki, poate VID SMS, controla Turnurile cu senzori de contact la site-ul Imperiului Zmіni Voi deveni controlat contacte, iar pe site-ul zberigatilor, revista Vihivaya este la Vihighi.

Modulul GSM și GPRS din proiectele Arduino vă permite să vă conectați la dispozitive autonome la distanță prin conexiunea originală prin cablu. Putem supraîncărca comenzile de pe dispozitiv și primim informații de la altul folosind comenzi SMS suplimentare sau printr-o conexiune la Internet, debloca prin GPRS. În acest articol ne vom uita la cele mai populare module Arduino, ne vom uita la conexiuni și ne vom uita la aplicațiile de programare.

Module GSM GPRS

Modulul GSM este folosit pentru a extinde capacitățile cardurilor dial-up Arduino - trimiterea de SMS-uri, efectuarea de apeluri, schimbul de date prin GPRS. Există diferite tipuri de module care sunt cele mai des utilizate – SIM900, SIM800L, A6, A7.

Descrierea modulului SIM900

Modulul SIM900 este utilizat în diverse sisteme de automatizare. Folosind interfața suplimentară UART, datele pot fi schimbate cu alte dispozitive. Modulul oferă posibilitatea de a efectua apeluri și de a schimba notificări text. Modulul funcționează pe componenta SIM900, creată de SIMCom Wireless Solution.

Caracteristici tehnice:

  • Gama de tensiune 4,8-5,2V;
  • În modul normal debitul ajunge la 450 mA, debitul maxim în modul impuls este de 2 A;
  • Suport 2G;
  • Intensitatea transmisiei: 1 W 1800 si 1900 MHz, 2 W 850 si 900 MHz;
  • Є Au fost introduse protocoalele TCP și UDP;
  • GPRS multi-slot clasa 10/8;
  • Temperatura de funcționare variază de la -30C la 75C.

Cu un dispozitiv suplimentar, puteți determina traseul de transport folosind GLONASS sau un dispozitiv GPS. Capacitatea de a depăși notificările prin SMS este disponibilă în alarme fără drone și diferite sisteme de securitate.

Descrierea modulului SIM800L

Modulul de comunicare se bazează pe componenta SIM800L și este folosit pentru trimiterea de SMS-uri, implementarea apelurilor și schimbul de date GPRS. Modulul are instalată o cartelă micro SIM. Dispozitivul are o antenă încorporată și un conector până când puteți conecta o antenă externă. Durata de viață a modulului vine de la sursa externă prin conversie DC-DC. Keruvanna operează pe un computer suplimentar prin UART, Arduino, Raspberry Pi sau dispozitive similare.

Caracteristici tehnice:

  • Gama de tensiune 3.7V – 4.2V;
  • Suport de frecvență 4 benzi 900/1800/1900 MHz;
  • GPRS clasa 12 (85,6 kB/s);
  • Debit maxim 500 mA;
  • Suport 2G;
  • Căutare automată în patru intervale de frecvență;
  • Temperatura de funcționare variază de la -30C la 75C.

Descrierea modulului A6

Modulul A6 a fost dezvoltat de AI-THINKER în 2016. Dispozitivul este utilizat pentru schimbul de mesaje SMS și pentru schimbul de date GPRS. Placa este potrivită pentru un consum redus de energie și dimensiuni reduse. Dispozitivele sunt complet indisponibile de la operatorii de telefonie mobilă ruși.

Caracteristici tehnice:

  • Domeniu de tensiune 4,5 – 5,5V;
  • Zhyvlennya 5V;
  • Interval de temperatură de funcționare: -30 până la 80C;
  • Debit maxim 900mA;
  • GPRS clasa 10;
  • Suport pentru protocoale PPP, TCP, UDP, MUX.

Modulul acceptă carduri în format microsim.

Descrierea modulului A7

A7 este cel mai nou modul de la AI-THINKER. Similar cu predecesorul său, A6 este echipat cu GPS, care vă permite să simțiți designul dispozitivului.

Caracteristici tehnice:

  • Gama de tensiune de operare 3.3V-4.6V;
  • Tensiune curentă 5V;
  • Frecvențe 850/900/1800/1900 MHz;
  • GPRS Clasa 10: Max. 85,6 kbit;
  • Sufocarea lunii și zgomot.

Dispozitivul acceptă carduri cu micro-simbol. Modulul acceptă schimbul de apeluri, schimbul de mesaje SMS, transmiterea de date prin GPRS și recepția de semnale prin GPS.

Cum să adăugați module GSM pentru Arduino

În mod tradițional, în primul rând, vom fi bucuroși să vă trimitem un mesaj vânzătorilor Aliexpress.

Modul foarte clar KEYES SIM900 GSM GPRS Modul SIM800C pentru Arduino ca instalator verificat
Shield pentru dezvoltare, realizat din Arduino, bazat pe modulul SIM900 GPRS/GSM Mini modul ieftin A6 GPRS GSM

Scut de conexiune GSM GPRS la Arduino

În această secțiune ne vom uita la sursa de alimentare pentru conectarea modulelor GSM înainte de a plăti pentru adjuvant. Toate aplicațiile se bazează pe Arduino Uno, dar aplicațiile și mai mari pot fi folosite pentru plăci Mega, Nano etc.

Conexiune modul SIM800

Pentru a vă conecta, aveți nevoie de o placă Arduino, un modul SIM800L, un reductor de tensiune și o baterie de 12 V pentru conectare. Modulul SIM800L generează o tensiune non-standard de 3,7 V pentru Arduino, care necesită o conversie de tensiune mai mică.

Pinout-ul modulului SIM800 este destinat copilului.

Placa Arduino trebuie conectată la computer printr-un cablu USB. Conectați bateria de 12V printr-un convertor: -12V la masă Arduino, masă la minus, +12V la pozitiv. Când părăsiți modulul TX și RX, trebuie să vă conectați la pinii 2 și 3 de pe Arduino. Mai multe module pot fi conectate la orice pin digital.

Conexiuni modul A6

Modulul A6 este mai ieftin, mai mic decât SIM900 și poate fi ușor conectat la Arduino. Modulul funcționează cu o tensiune de 5V, deci pentru conectare nu necesită elemente care să reducă și mai mult tensiunea.

Pentru a vă conecta, aveți nevoie de o placă Arduino (Arduino UNO este discutat în această secțiune), modul GSM A6, piese de conectare. Schema de conectare a fost intocmita pentru cel mic.

Conexiunea RX de la modulul GSM trebuie conectată la TX de pe placa Arduino, conexiunea TX trebuie conectată la pinul RX de pe Arduino. Masa de la modul este conectata la masa de pe microcontroler. Conexiunea Vcc de pe modulul GSM trebuie să fie conectată la PWR_KEY.

Conexiune prin scut GSM-GPRS suplimentar

Înainte de a face conexiuni, este important să verificați scutul de tensiune. Fluxul în momentul sonerii sau trimiterii datelor poate ajunge la o valoare de 15-2 A, deci nu este posibilă alimentarea scutului direct de la Arduino.

Înainte de a vă conecta la Arduino, trebuie să instalați o cartelă SIM pe scutul GSM-GPRS. De asemenea, trebuie să instalați jumperii TX și RX, așa cum se arată pe cel mic.

Conexiunile încep în următoarea ordine: primul contact (un fir mic) de la scut trebuie conectat la TX pe Arduino. Celălalt contact (firul verde) este conectat la RX Arduino. Pământul din spatele scutului este unit cu pământul din spatele scutului. Conexiunea la microcontroler se face printr-un cablu USB.

Aspect pentru conectarea scutului și plata imaginilor Arduino copilului.

Pentru a funcționa, trebuie să instalați biblioteca GPRS_Shield_Arduino.

Pentru a verifica corectitudinea circuitului selectat, trebuie să efectuați următorii pași: conectați RESET și GND pe Arduino (acest lucru va duce la transferul datelor direct de pe scut la computer), introduceți cartela SIM în scut și pornește viața scutului... Trebuie să conectați placa Arduino la computer și să apăsați butonul de pornire. Dacă totul este conectat corect, LED-ul roșu se va aprinde, iar verdele se va estompa.

O scurtă descriere a interacțiunii prin comenzile AT

Comenzile AT sunt un set de comenzi speciale pentru modem, folosind șiruri scurte de text. Odată ce modemul recunoaște comanda care i-a fost dată, liniile de responsabilitate încep cu litera la. Rândul va fi șters dacă modemul este în modul de comandă. Comenzile AT pot fi emise folosind un software de comunicare suplimentar sau manual de la tastatură. Aproape toate comenzile pot fi împărțite în 3 moduri – test, în care modulul confirmă ce susține comanda; citire – afișarea exactă a parametrilor comenzii; înregistrare – vor fi înregistrate valori noi.

Lista celor mai populare comenzi AT:

  • AT – pentru a verifica dacă modulul este conectat corect. Dacă totul este în ordine, devine OK.
  • A/ – repetarea comenzii anterioare.
  • AT+IPR? - Preluarea informațiilor despre lichiditatea portului. Răspunsul va fi +IPR: 0 OK (0 pentru această opțiune este automat).
  • AT+ICF? - Reglarea transmisiei. Răspunsul este ICF: bit, parity.
  • AT+IFC? - Controlul transmisiei. Ieșirea va fi +IFC: terminal ca modul, modul ca terminal (0 – control zilnic, 1 – control software, 2 – hardware).
  • AT+GCAP – arată capabilitățile modulului. Linia de subiect – +GCAP:+FCLASS,+CGSM.
  • AT+GSN – preluați modulul IMEI. Aplicați la 01322600XXXXXXX.
  • AT+COPS? – arată operatorii disponibili.
  • AT+CPAS – tabără modul. Confirmare +CPAS: 0. 0 – gata de lucru, 3 – apel de intrare, 4 – conexiune vocală, 2 – necunoscut.
  • AT+CCLK? – informații despre ora și data exactă.
  • AT+CLIP=1 – ID apelant sus/jos. 1 – suprimat, 0 – suprimat.
  • AT+CSCB=0 – primirea notificărilor speciale prin SMS. 0 – permis, 1 – blocat.
  • AT+CSCS= „GSM” – cod pentru notificarea prin SMS. Puteți selecta unul dintre următoarele coduri: IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1.
  • AT+CMEE=0 – elimină informații despre modificare.
  • AT+CPIN=XXXX – introducerea codului PIN al cartelei SIM.
  • AT&F – reducere la setările din fabrică.
  • AT+CPOWD=1 – conexiune terminală(0) sau normală(1) a modulului.
  • ATD+790XXXXXXX – apelați la numărul +790XXXXXXXXX.
  • ATA – răspunde la apel.
  • AT+CMGS="+790XXXXXXXXX">Test sms – trimiterea unei notificări prin SMS la numărul +790XXXXXXXXX.

Acest episod acoperă principalele comenzi ale modulului SIM900. Pentru module diferite, comenzile pot varia ușor. Datele pentru modul sunt transmise printr-un program special „terminal”, care trebuie instalat pe computer. De asemenea, puteți trimite comenzi către modul prin portul de monitor al IDE-ului Arduino.

Schițe pentru roboți cu modul GSM

Pornirea SMS-urilor pe aplicația SIM900

Înainte de a trimite notificări, trebuie să configurați modulul. În primul rând, este necesar să convertiți notificarea care este transmisă în format text. Acesta este motivul pentru care se folosește comanda AT+CMGF=1. Este necesar să comutați codarea la GSM folosind comanda AT + CSCS = GSM. Această codificare este mult mai simplă deoarece caracterele sunt reprezentate în cod ASCII, ceea ce este ușor de înțeles de către compilator.

Apoi trebuie să formați o notificare prin SMS. Pentru aceasta, se folosește comanda cu numărul de abonat AT+CMGS=+79XXXXXXXXX r și vi se solicită să formați textul SMS. Este necesar să se anuleze consolidarea informațiilor. După terminare, trebuie să trimiteți codul combinat Ctrl+Z, modulul va permite ca textul să fie suprascris destinatarului. După ce ați fost informat, întoarceți OK.

Interacțiunea cu modulul se bazează pe indici, care sunt dați fiecărei informații noi. Puteți introduce acest index pentru a vedea sau a citi notificarea.

Preluați SMS-urile. Pentru a citi o notificare prin SMS, utilizați comanda AT + CNMI = 2,2,0,0,0. Dacă modulul primește un mesaj text, trimiteți-l la portul serial +CMTI: „SM”, 2 (pentru timpul 2 – numărul de serie al mesajului). Pentru a-l citi, trebuie să trimiteți comanda AT+CMGR=2.

Primirea unui apel vocal. Înainte de a-l putea folosi, trebuie să conectați un difuzor și un microfon la modul. Când apelul este eliminat, va fi afișat numărul pentru care a fost emis. Pentru a funcționa, trebuie să activați biblioteca GSM:

#include

Dacă cartela SIM este blocată, trebuie să introduceți codul PIN al acesteia. Dacă codul PIN nu este necesar, acest câmp trebuie lăsat gol.

#define PINNUMBER „”

setup() poate să fi inițializat transferul pe computer. În viitorul apropiat, va fi creată o modificare locală pentru a actualiza starea conexiunii la limită. Schița nu va rula, cartela SIM nu este conectată la dock.

boolean notConnected = adevărat;

Funcția suplimentară gsmAccess.begin() necesită conexiuni până la limită. Când este conectat, va fi afișată valoarea GSM_READY.

vcs.hangCall(); – o funcție care arată că modemul este pregătit pentru a primi apeluri.

getvoiceCallStatus() – returnează starea schiței. Dacă doriți să apelați, transformați valoarea RECEININGCALL. Pentru a înregistra un număr, trebuie să utilizați rapid funcția retrieveCallingNumber(). Când se răspunde la apel, treceți la TALKING. Apoi verificați schița de pe simbolul noului rând, pentru a întrerupe rozmova.

Configurați conexiunea GPRS și trimiteți date către un server de la distanță

Mai întâi va trebui să instalați biblioteca SoftwareSerial, care vă permite să asigurați un transfer consistent de informații și comunicare între modulul GSM și microcontrolerul Arduino.

Pentru a trimite date către server, trebuie să trimiteți următoarele comenzi:

AT + SAPBR = 1,1 - indicativ pentru Transportator.

Există trei comenzi legate de setări pentru a ajusta conexiunea la limită.

AT+SAPBR=3,1,”APN”,”internet.mts.ru” – selectați operatorul mts, numele punctului de acces.

AT+SAPBR=3,1, USER, mts – selectați contul dvs. mts.

AT+SAPBR=3,1, PWD, mts

AT+SAPBR=1,1 – conexiune instalată.

AT+HTTPINIT – inițializarea http.

AT+HTTPPARA=”URL”, – URL-uri.

AT+HTTPREAD – verificați pentru confirmare.

AT+HTTTERM – cod http.

Dacă totul este configurat corect, în portul monitorului vor apărea rânduri de comenzi AT. Dacă nu există nicio conexiune cu modemul, acesta va fi afișat pe rând. Odată ce conexiunea GPRS este instalată cu succes, LED-ul de pe modul se va aprinde.

ESP8266 a devenit un nou produs minunat al trecutului pentru toți cei care creează dispozitive pe Arduino. Un microcontroler ieftin, cu capacități care depășesc analogul său scump și grozav cu AT+.

Arduino nu a fost lăsat în urmă, iar acum modulul oficial se adaugă pe listele suportate de plată și, se pare, tot mai mulți clienți vor ajunge la conexiunea wi-fi chinezească. De asemenea, se întâmplă că sistemul trebuie să instaleze și să înlocuiască modulul, pentru care placa esp8266 nu va fi suficientă. Aici voi fi pe mâini bune esp8266 sim800l.

Pentru alarmele inteligente și alarmele silențioase, este necesar să primiți notificări despre locația plății, fie că este vorba despre uși la distanță sau un tracker de urgență. Iată o listă scurtă de viruși care pot fi creați prin combinarea esp8266 sim800:

  1. Apel inteligent de trezire. De fapt, orice tehnologie pentru muguri inteligenți poate fi reglată pe modele de cântec în ora de apropiere de un obiect. De asemenea, este posibil să instalați senzori roc, deoarece puteți atașa pur și simplu un sim800 la o cartelă Wi-Fi, puteți coase un micro-mc într-un articol cu ​​baterie (din fericire, nu este nevoie de multă energie) și să porniți automat aprinde sau deschide ușa când te apropii nu koristuvacha.
  2. Accesorii diverse. Nu vorbiți despre bug-uri ilegale și alte dispozitive care vă încalcă dreptul la integritate. Cu toate acestea, MK-ul poate fi folosit direct lângă Arduino, iar dacă atașați sim800-ul înainte, dimensiunile exterioare ale dispozitivului nu vor supraîncărca cutia de maiuză. Doar înfășurați totul într-o carcasă metalică și atașați-l la chei ca pe un breloc. Acum va fi mult mai ușor să îți găsești smartphone-ul, cheile și să-ți parchezi mașina.
  3. Robotică și direcții avansate. Aici putem vorbi mult timp despre dezvoltarea inteligenței virtuale zilnice și a neurosupravegherii, dar cel mai adesea, pentru a crea o hartă a localității și a naviga în ea, pentru că nu există destui senzori. Dacă sunteți angajat în ceva similar, atunci modulul GPS vă va fi util. Acest lucru este valabil mai ales pentru perechile cu drone.

Odată ce te hotărăști asupra scopului final al proiectului, atunci ia în considerare nuanțele nutriției. Conexiunile dispozitivelor la microcontrolerul menționat mai sus sunt aceleași ca pentru plăcile standard Arduino, diferența este doar în numărul de pini disponibili. Tracker-ul GPS generează 3,7 până la 4,2 volți, în plus față de standardul 5 furnizat de microcontroler. Ar trebui să profitați de schemele de plată săptămânală și să obțineți în siguranță opțiuni suplimentare de susținere a vieții. Sau instalați transformatoare și rezistențe, este important să continuați să vă conectați la sistemul final.

Înregistrând la limită, modulul are nevoie de aproximativ 2A, dar la acest vârf, curentul trebuie să scadă la 1-1,2 A.

Odată ce conectați tracker-ul la sistem, va trebui să-l lansați și să trimiteți primele comenzi, cel mai probabil AT și AT+. Numai după ce modulul actual decide să trimită date și să răspundă solicitărilor dvs., nu este posibil ca acesta să fie turbo de îndată ce l-ați primit, ieșirea este scăzută și nu există reacții regulate la scripturi. Trebuie doar să activați Sim800i înainte de prima oră a competiției, astfel încât să vă puteți înregistra la eveniment.

De asemenea, este greu să vezi Sim800i ca o alternativă la ESP8266, ceea ce spun atât de mulți oameni de pe forumuri. Dacă ați întâlnit astfel de afirmații, puteți confirma în siguranță că autorul nu a folosit Arduino în viața reală. În primul rând, verificați placa suplimentară și microcontrolerul - nicio problemă. Ca să nu mai vorbim că unul dintre dispozitive este un dispozitiv de coordonare, direcționare și primire a solicitărilor prin Internetul fără drone, iar celălalt este un modul GSM GPRS. Aparent, mirosul este un plus unic, dar nu o alternativă.

Schema de conectare pentru sim800l la esp8266

Fixarea este mai mult sau mai puțin standard. Conectați pinul la o sursă de alimentare care oferă o tensiune între 3,7-4,2 volți sau la un transformator. TX merge la RX kick și înapoi. De îndată ce conectați lipirea și doriți să protestați robotului modulului prin conectarea sursei de alimentare, LED-urile vor indica corectitudinea conexiunii. Apoi nu va mai trebui să activați modulul folosind metoda descrisă și veți putea folosi comenzile AT pentru procesarea nucleului. Dacă doriți să vă extindeți biblioteca sau alte medii, vă puteți familiariza cu conexiunile cardului de memorie la sistemul Arduino.

Mai întâi, să verificăm viteza portului robotului și informațiile despre modulul pentru care viteza „AT+IPR?” iar „AT+CPAS” este corect. Dacă toate informațiile sunt afișate fără erori, puteți continua să verificați și să protestați împotriva semnalului și să trimiteți operatorii care pot adăuga modulul.

Cel mai important, Sim800i vă permite să apelați numere specificate și să primiți apeluri, pe lângă utilizarea bibliotecilor de bază.

Acest lucru deschide, de asemenea, spațiu pentru instalarea sistemelor din partea dvs. Dacă doriți să scrieți un script de melodie care rulează pe semnalul de intrare, atunci asigurați-vă că modulul răspunde la acesta cu expresia „RING” în linia de comandă.

Această funcționalitate vă permite să creați sute de sisteme de rulote autonome, chiar până în punctul în care, înlocuind vârfurile degetelor sau cardurile-cheie, puteți deschide ușa din spatele soneriei la următorul număr. Ei bine, desigur, pentru o bună măsură, varto ar trebui să înregistreze o listă albă de numere.

Un exemplu de implementare a conectării modulului gsm sim800l la microcontrolerul esp8266

După conectarea și lipirea conform pinii descriși, modulul poate începe să se scurgă. De îndată ce autentificarea este posibilă, ar trebui să clipiți în prealabil.

Dacă nu există nicio modificare a frecvenței semnalelor luminoase, atunci trebuie să utilizați comenzi AT suplimentare și să acceptați sim800I ca dispozitiv al operatorului dvs. de telefonie mobilă și nu există nicio problemă. De asemenea, asigurați-vă că cartela SIM cu antena este introdusă corect, poate exista o problemă în ele.

Ei bine, desigur, aducerea sistemului mai aproape de fereastră, dacă vă aflați într-un mediu de nivel înalt, este complet posibilă, deoarece pur și simplu nu puteți capta semnalul.


SIM800L V2.0 GSM/GPRS este un modul GSM/GPRS multi-bandă care funcționează cu Arduino. Modulul este conceput pentru a implementa funcțiile GSM (apeluri și SMS) și GPRS. Avantajul acestui modul este interfața TTL, care produce o tensiune mai mare de 5V, ceea ce vă permite să îl conectați direct la Arduino sau orice alt sistem cu o tensiune de 5V. Majoritatea modulelor GSM/GPRS de pe piață vor necesita conectarea unui regulator sau schimbarea interfeței, în timp ce SIM800L V.2 GSM/GPRS nu necesită ajustări suplimentare ale nivelului interfețelor.

Să ne uităm la proiect, care este vikorist SIM800L V.2 GSM/GPRS. Sens la proiect în remixere controlate cu ajutorul unui controler SMS. Puteți rula și rostogoli cu ușurință majoritatea articolelor de uz casnic în colibă, cum ar fi o lamă, un ventilator și așa mai departe.

Caracteristicile modulului SIM800L V.2 GSM/GPRS

Mai jos sunt toate caracteristicile tehnice ale modulului SIM800L V.2 GSM/GPRS:
  • Interfața serială TTL este potrivită pentru microcontrolere de 3,3 V și 5 V, inclusiv Arduino.
  • Modulul SIM800 are o interfață serială TTL.
  • Mufă de conectare a antenei.
  • Suport de rețea: chiar și în intervalul 850/900/1800/1900 MHz, primirea apelurilor, SMS-urilor și transferului de date cu o taxă redusă semnificativ.
  • Interfață VDD TTL UART, astfel încât să puteți conecta direct MCU, cum ar fi 51MCU, ARM sau MSP430. Mufa VDD este conectată pentru a se potrivi cu tensiunea TTL.
  • Model: SIMCOM SIM800L
  • Tensiune de operare: 3,7 la 5V;
  • Dimensiuni: 40mm x 28mm x 3mm
  • GPRS multislot clasa 12/10
  • Serviciu de pachete GPRS clasa B
  • Suporta GSM faza 2/2+
  • Clasa 4 (2 wați la 850/900 MHz)
  • Clasa 1 (1W @ 1800/1900MHz)

Materiale necesare

Bună ziua tuturor! Despre GSM nu am mai vorbit de mult. Deci, să vedem. Chinezii au lansat un nou modul bugetar numit SIM800L. Da, da, acest modul este produs de aceeași companie SIMCOM. Mi-a fost teamă inițial să-l testez, spunând că în vastitatea Rusiei nu există nicio garanție și nicio garanție că acest modul va adulmeca în jurul granițelor noastre. Nu am vrut să am de-a face cu un alt modul intermitent, dar am fost în mod miraculos destul de norocos să conduc două targane cu un papuc. Am uitat complet de minunatul magazin ChipResistor, pe care l-am făcut bucăți cu bucurie.
Axa iacului arată uimitor.

Nu foarte mult, placa conține modulul în sine, un trimach pentru micro-sim-uri, tantal, câteva ceramice, un rezistor și o diodă emițătoare de lumină. Nu este surprinzător că chinezii poziționează acest modul ca un scut pentru Arduino. Arduina trebuie să trăiască la 5 volți și cel mai adesea de la USB, iar dacă nu doriți să furnizați memorie, atunci modulele SIMCOM sunt de la 3.6 la 4.2 și în același timp doriți 2A. Ei bine, o să-l conectez la plata lunară și... chineză! Totul poate fi ieftin din când în când. Acest modul nu furnizează 5 volți. Nu m-a dezamăgit memoria. Pe scurt, îl puteți ignora pentru o lungă perioadă de timp, dar vă voi arăta un dispozitiv minunat care poate rezolva cu ușurință această problemă. Îl puteți cumpăra în același loc ca SIM800L sau în ChipResistor. Modulul are un impulsor descendente de până la 3A.

Apoi, luăm acest modul și lipim piesele de intrare și de ieșire. Poziția este conectată la prăjitor de pâine și reglată la 4 volți.

Diagrama osiilor, vedere animal.

Haosul meu arată așa.

Să verificăm pe scurt, să introducem cartela SIM, să conectăm USB-RS232 și să live. Atâta timp cât nimic nu a fost aprins și LED-ul de pe modul a fost estompat, asta înseamnă că totul este în regulă. Apoi, lansăm orice terminal folosind PuTTYn și lansăm comanda LA. Ceea ce a fost luat din mărturie Bine Ei bine, totul merge bine.

Bingo! Să aruncăm mai departe AT+COPS? Dacă ți-ai pierdut operatorul, atunci pentru a-ți securiza telefonul, apelează-te prin tastarea comenzii ATD89161234567;. Speck cu cine este obov'yazkovo! Odată ce modulul a ajuns la tine, funcționează cu măsurile noastre. Am testat pe bjoline. Dacă spun imediat că asta este tot, atunci vor arunca ouă și roșii în mine, dar nu vreau nimic))) Așa că hai să-l luăm de la el. De exemplu, un sistem de alarmă. Înșurubați modulul la MK și coaseți-l cu câteva picioare. De îndată ce se anunță o modificare, vă vom trimite imediat un SMS prin care vă anunțăm despre această modificare. Rolul MK este legat de ATmegs32a. Butoanele sunt înșurubate pe picioarele PB2 și PB3. Butoanele sunt conectate la masă GND, iar rezistențele sunt integrate pentru tragere. Pentru a lucra cu modulul, vom scrie câteva funcții, inclusiv inițializare și transmitere SMS. Ei bine, hai să mergem.

Pentru a începe, să setăm proiectul folosind generatorul de cod axlib. Pentru cine avem nevoie de MK ATmega32, quartz extern la 7372800 (Un astfel de cuarț este necesar pentru a modifica transferurile de date atunci când se transmite prin UART). Configuram UART la viteza 9600. Apoi generăm proiectul și îl deschidem în AtmelStudio 6. Mai întâi vom crea fișierul sim800l.h la rădăcina proiectului și conectați-l. #include #include „main_init.h” #include „axlib/usart.h” #include „sim800l.h” Acum să mergem la fișierul nostru creat și să introducem acolo definițiile de care avem nevoie. // Prima comandă, OK#define SIM800L_AT_AT „AT” // Comandă pentru a introduce un număr de abonat pentru a trimite o notificare prin SMS#define SIM800L_AT_SMS "AT+CMGS=\"" // Personalizați formatul de buzunar#define SIM800L_AT_SMS_SET „AT+CMGF=1” Bine, am notat definițiile pentru simplitate, acum vom scrie funcția de inițializare complexă. void sim800l_init(void) ( usat_str_rn(SIM800L_AT_AT); ) Toată complexitatea acestei funcții aparține celui care transmite comanda către modulul AT. Cu aceste comenzi puteți începe să executați modulul. Funcția de pliere este acum activată. BYTE sim800l_send_sms(BYTE *num, BYTE *text, BYTE lungime) ( // Matrice pentru selectarea tipurilor de module BYTE str = (0); _delay_ms(1000); // Reglați modul de transmisie usat_str_rn(SIM800L_AT_SMS_SET); // Furnizați numărul de telefon al abonatului usat_str_out(SIM800L_AT_SMS, 9); usart_str_out(num, 12); usart_str_rn("\""); // Adăugați ceva text la cob _delay_ms(3000); // Editează textul usat_str_out(text, lungime); str = 0x1A; str = 0; usat_str_rn(str); // Verificați dacă este OK usat_str_in(str, 18); if(!((str == 0x4F) & (str == 0x4B))) returnează 0x34; returnează 0x30; ) Aici mi-am dat seama de esența ieftinității acestui modul. Prostia asta a fost destinată exclusiv să rotească stabil liniile. Cum pur și simplu nu m-am deformat și nu am stabilit intervale de timp după sosirea unor date gigantice și le-am oprit pe cele lipicioase. Pe scurt, scuip pe acele specii care înotau în orele și orele de întuneric. Pentru un robot, acest lucru nu este foarte important. Plătim pentru ieftinitate. Să mergem cu funcția. În prezent bifăm pentru a configura transmisia pachetului. Acest lucru necesită ca modulul să trimită date, să introducă numărul de telefon și apoi să accepte textul. Apoi transmitem numărul de telefon abonatului căruia i se trimite SMS-ul. Luăm această funcție ca argument. Asta e tot! Numărul de telefon este de vină formatul mamei: +79161234567. +7 obv'yazkovo, acest modul este editat în anii 900 și nu înțelege 8. După transmiterea numărului de abonat, faceți o pauză de 3 secunde. Pentru toată ora, modulul nu se grăbește să citească numărul și știe ce algoritm, tocmai la acești pași m-am blocat, ne arată o solicitare de introducere a textului cu o pictogramă > Este nevoie de 3 secunde pentru a mesteca și a scuipa cererea. După 3 secunde, textul de notificare este trimis. Să luăm argumentul acestei funcții și apoi să adăugăm ceva text pentru funcția UART. Nici măcar nu știm câte scrisori vei trimite. Dacă este important să fii surprins, poți marca octetul 0x1A Ca și textul notificării. Echipa Tse Ctrl+Z necesare pentru a completa textul. Dacă modulul acceptă această comandă, toate mesajele vor fi trimise și SMS-ul va fi trimis. Acum că am terminat cu acest fișier, să trecem la fișierul principal al programului. #define BUTTON_1 „Nazhata knopka 1” #define BUTTON_2 „Nazhata knopka 2” // Inițializarea modulului GSM sim800l_init(); // Configurați porturile pentru citirea de intrare și de ieșire DDRB = 0x00; // Activează pull-up cu rezistor intern PORTB |= (1 // Când ați apăsat butonul 1 dacă(!(PINB & (1 // Verificați până când eliberați butonul în timp ce(!)) (PINB & (1 // Când ați apăsat butonul 2 dacă(!)) ( PINB & ( 1 // Verificați până când butonul este eliberat în timp ce (! (PIB & (1)) Ce facem aici? Două definiții din spatele textului pregătit. Apoi inițializam modulul. Apoi ajustăm pinii 2 și 3 la portul de intrare și tragem în sus rezistorul intern la viață pozitivă. Apoi ciclul neterminat este verificat pentru apăsări de butoane. De îndată ce butoanele sunt apăsate, acesta cade imediat într-o buclă nesfârșită și este verificat până când butonul este eliberat. După ce butonul este eliberat, dați clic pe funcția de trimitere SMS din spate cu text defăimat. Axa este totul.))) Proiectul nu este prezentat, deoarece poate fi generat de generatorul axlib și copiat textul fișierului. Ei bine, asta am capturat pe telefonul meu.))


Theba 09.10.16 23:29

Potrivit mt-system, seria 800 nu este aceeași cu seria 900, care este puțin probabil să se consume până la sfârșitul anului 2016. Este uimitor să citești despre astfel de acoperiri ale stâlpilor precum tulpini.
Poate că există ceva nou în chestiile daneze? Tu, doar pentru analogia cu 900, ai dat comenzi, mai ales cele pentru nu fumatoare?

Oleksiy 09.10.16 23:39

Pauzele m-au alertat și mai mult când am dat clic prin terminal cu ea. Cred că portul este galmu, dar pe laptop este aceeași melodie.

Yuriy 03/05/17 20:36

Arătați cum să activați modulul, să trimiteți balanța folosind USSD, citiți-l și instalați-l pe picioarele Avrka. Aș dori să creez o „Casa rezonabilă” Dyakuyu

Oleksiy 03/06/17 12:36
Oleg 28.03.17 02:43


transmis \n , pentru lucrul cu un simmodul, este necesar să vorbim despre vreo problemă?
De ce să vă deranjați cu simbolul /" aici?

#define SIM800L_AT_SMS "AT+CMGS=\""

usat_str_out(SIM800L_AT_SMS, 9);
usat_str_out(num, 12);
usart_str_rn("\"");
și aici /" /r /n
De ce nu putem folosi usart_str_rn (AT+CMGS="+7xxxxxxxxxx") deodată, ca la terminal?
І

usat_str_out(text, lungime);
str = 0x1A; realizat
str = 0; ce zici de zero?
usat_str_rn(str); і shche /r/n?

Oleksiy 28.03.17 12:33

--> De ce să vă deranjați cu simbolul /" aici
Simbolul este plasat înaintea simbolurilor de serviciu pentru a converti aceste simboluri în simboluri simple. În dreapta este că piciorul este un simbol de serviciu. Yogo vikorist pentru a transfera rândul în masiv. Și pentru ca compilatorul să citească simbolul în sine, apoi înainte de simbolurile de serviciu puneți o împletitură în orez.
fund:


BYTE data = „Ce text este „Text la picioare””;

Acum, picioarele interioare vor fi notate în matrice ca simboluri.

--> de ce nu se poate face usart_str_rn (AT+CMGS="+7xxxxxxxxxx") în același timp, ca la terminal?

Deoarece funcția ia ca argument indicatorul pentru primul element al matricei cu numărul de abonat. Dacă scrieți imediat, SMS-ul va fi trimis pentru totdeauna numai acelui abonat. Și îl puteți schimba pur și simplu rescriind codul.

--> Explicați, vă rog. Pentru ce este funcția usat_str_rn?
transmis\n

Prin urmare, documentația pentru modulul SIMCOM indică la sfârșitul comenzii introducerea codului pentru sfârșitul rândului și schimbarea căruciorului.

Oleg 28.03.17 14:05

După ce l-a informat pe Oleksiy, există o problemă cu transmiterea 1A, tabelul simbolurilor de serviciu nu are o combinație cu .

Oleksiy 28.03.17 15:04

Cum arată simbolul Ctrl+z? Sau, de exemplu, spațiu, tabulare. Acest lucru este transmis chiar de cod. De exemplu, \r\n poate fi scris ca doi octeți 0x0D, 0x0A. Tot la fel.

Oleg 28.03.17 16:59

Mi-am dat seama că comanda a distrus axa așa


str = 0x4D;
str = 0x4B;
str = 0x4D; // trei litere de text pentru test.
str = 0x1A;
str = 0;
usat_str_rn(str);
, pot cânta textul la rând, dar 1A poate ieși numai prin matrice, ca și cum nu ar fi posibil într-un mod mai simplu?

Oleksiy 28.03.17 17:14

void usat_char_out (date BYTE)

Doar descarcă un octet din port.

Evgen 05/07/17 17:47

BYTE sim800l_send_sms(BYTE *num, BYTE *text, BYTE lungime)
{
// Matrice pentru selectarea tipurilor de module
BYTE str = (0);
este o sărbătoare
// Verificați dacă este OK
usat_str_in(str, 18);
if(!((str == 0x4F) & (str == 0x4B))) returnează 0x34;
Stelele au fost luate din indexul 14 și 15 al matricei, deci există în mod clar str ?

Oleksiy 05/07/17 20:05

Și axa este atât de simțită. Masivul nu este pentru 10 inimi, ci pentru 20)))

Evgeniy 05/08/17 20:13

Buvaye)) Deci înțeleg că este o milă. După ce ați început să vă scrieți codul, luându-l ca bază și îmbunătățindu-vă imediat

Oleksiy 05/08/17 21:34

Raju este mai bine să folosească SIM800C în loc de L. Aceiași bani, dar C are bluetooth în modul.

Evgen 12.05.17 06:43

Deci, am module 800C. Oleksiy, după citirea Vikonannya, str este goală, de ce ar putea fi o problemă? Comenzile către modul merg și modulul este confirmat (verificat de analizorul de jurnal), dar în str este gol
// Verificați dacă este OK
usat_str_in(str, 18);
dacă(!((str ==

Evgen 12.05.17 18:57

Oleksiy. După ce și-a dat seama care era problema, funcția usart_str_in a primit 18 octeți, iar modulul a primit doar 9 octeți, așa că funcția a primit acest răspuns ca un timp. (BYTE usat_str_in(BYTE *str, BYTE count)
{
BYTE out = 0;
BYTE de date = 0;
BYTE timeout = 0;

În timp ce (număr > date) // încă aici 18>9 - timeout
{
date = GetData();

// Nu au sosit date după 250 ms
// ieși din funcție și întoarce 0
if(timeout >= 250)
{
ClearBuffer();
întoarce-te afară;
}

Timeout++;
_delay_ms(1);
}

Out = OutBufferStr(str, număr);
întoarce-te afară;
}
Ce se întâmplă dacă nu este clar că va veni confirmarea?

Oleksiy 12.05.17 20:03

Apăsați bufferul pentru a primi mai mult de un octet, apoi, după verificare, scoateți întregul pachet din buffer.

Evgeniy 12.05.17 20:21

Oleksia, nu prea înțeleg ideea, te rog explica

Oleksiy 12.05.17 20:58


principal()
{

// Numărul de octeți primiți din buffer
BYTE len_pocket = 0;

// Matrice pentru date
Date BYTE = (0);

în timp ce (1)
{
// Mă întreb ce este în buffer
len_pocket = usat_data();

// Verificăm dacă ceea ce a ajuns în buffer
dacă (buzunar_len > 0)
{
// Dacă a sosit, verificați-l
// Timp de pauză (1000 / (bitrate / 10)) * Octet maxim.
// Rată de biți final 19200, octet maxim 40. (1000/1920) * 40 = 20,8 ms

// Întrerupeți pentru a vă asigura că toți octeții sunt eliminați
_delay_ms(22);

// Eliminarea numărului de octeți primiți
len_pocket = usat_data();

// Scrie datele în matrice
usat_str_in(date, len_pocket);

// Acum matricea de date conține toți octeții primiți.
}
}
}

Evgeniy 12.05.17 21:25

Oleksiy, am înțeles ideea, am încercat-o. Mai doriți să furnizați aproximativ doi slave și un master, cu unitatea irosind conexiunea atunci când linia este închisă, fără a încerca să configurați?

Oleksiy 05/12/17 22:18

Deocamdată nu există nimic. Mulți mai mulți roboți. Am trecut prin el și am mers pe site.

Oleg 07/08/17 23:28

Oleksia, spune-mi cum să-i mulțumesc lui Rivni, cum putem trăi pe 5V și un modul de 3.3V? Pe baza modulului de salvare KIS-3R33S, are o ieșire, deci cum puteți începe să reinstalați modulul SIM pentru salvatori sau să îl resetați și să opriți modulul?

Oleksiy 07/09/17 12:28

În primul rând, pentru a utiliza modulul nu aveți nevoie de 3,3 V, ci de 3 V. În acest scop, este suficient să instalați un element rezistiv, unde RXD MK va fi la intrarea rezistorului brațului superior, iar rezistorul brațului inferior va fi conectat la semnalul principal.
Într-un mod diferit. Puteți începe să reporniți resetarea dacă modulul este blocat. Dacă modulul funcționează, nu este absolut posibil, deoarece poate duce la instalarea firmware-ului în modul. Repornirea necesită re-schimbarea comenzii PWR sau AT.

Oleg 07/09/17 12:44

Ei bine, la început totul a devenit clar.
În caz contrar, o astfel de resetare hard este planificată pentru că modulul nu se potrivește și amestecul dintre rst și pwr nu produce rezultate, până la modul de pcb fără pwr sau fără rst, alimentare și firmware la schimbarea duratei de viață a oricărui dispozitiv, care sunt recomandarile?

Oleksiy 07/09/17 14:48

Acesta este un bug chinezesc. Lipiți până când se realizează contactele. Chinezii în special nu se îngrijorează de mirosul alimentelor și nu este întotdeauna posibil să îl implementeze corect. Abi Bulo este ieftin.

Oleg 07/09/17 15:05

Și dacă modulul se blochează, ce ar trebui să faci cu pwr sau rst și pentru că pwr și rezet nu ajută la schimbarea corectă a alimentelor?

Oleksiy 07/09/17 19:29

Yakshcho a atârnat strâns, doar scoateți mâncarea timp de aproximativ trei secunde. Și apoi trimiteți și urmați regulile.

Igor 12.09.19 19:21

Arată-mi cum să transfer numărul pe modemul MC52i
// Furnizați numărul de telefon al abonatului
usat_str_out(SIM800L_AT_SMS, 9);
usart_str_out(num, 12);
usart_str_rn(""");

 

 

Tse tsikavo: