SMS-ide saatmine ja vastuvõtmine GSM-modemi abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles artiklis õpime, kuidas SMS-e saata ja vastu võtta Arduino juhitava GSM-modemi abil. Vaatame, mis on GSM-modem, kuidas seda Arduinoga liidestada, kuidas seadistusega SMS-e saata.

Samuti uurime, mis on kõik rakendused, mida saame GSM-modemiga saavutada, välja arvatud inimese poolt tekstsõnumite saatmine.



Mis on GSM-modem?

GSM tähistab globaalset mobiilside süsteemi. See on standard, mille töötas välja ETSI (Euroopa Telekommunikatsiooni Standardiinstituut), kes kirjeldas 2G-side protokolle.

See on esimene mobiilside digitaalne protokoll, mis on optimeeritud täisdupleksse kõneside jaoks. Lühidalt öeldes tähendab täisdupleksne side mõlemat osapoolt samaaegselt andmete (või hääle) saatmiseks / vastuvõtmiseks.



GSM-protokoll võimaldab edastada ka pakettandmeid, näiteks GPRS ja EDGE.

SIM800 GSM-modem:

GSM-modem on riistvara, mis aktsepteerib kehtivat SIM-kaarti (Subscriber Identity Module), põhimõtteliselt töötab iga SIM-kaart, mis toetab GSM-protokolli ja võrgu tellimusega.

See on nagu mobiiltelefon ilma ekraani ja klaviatuurita. Sellel on neli I / O-tihvti sõltuvalt teie valitud mudelist.

Kaks TX ja RX (edastamine ja vastuvõtmine) jaoks, teine ​​kaks kontakti VCC ja GND jaoks, mis on kõigil tavaline.

See koosneb ka modemi ja arvuti vahelise jadaühenduse RS232-porti, kuid me ei kavatse selles projektis kasutada.

Sellel on tavaline alalisvoolu pistikupesa, mida saab toita välistest toiteallikatest, näiteks pingeadapteritest.

Selle tööpinge on DC-pistikus vahemikus 5 kuni 12 V, olenevalt mudelist. Sellel on 3 LED-indikaatorit toite, oleku ja võrgu jaoks.

Toite LED näitab toite olemasolu, oleku LED näitab, kas GSM-modem töötab või mitte, võrgu LED näitab mobiilsidevõrgu loomist.

Esialgu vilgub võrgu valgusdiood võrgu otsimisel iga sekundi järel, kui mobiilsidevõrk on loodud, vilgub see iga 3 sekundi järel.

GSM-modemi aktiveerimiseks peate vajutama toitenuppu 2–3 sekundit, kui see on tehtud, kinnitub see mobiilsidevõrku.

GSM-modemi töö kontrollimiseks helistage lihtsalt numbrile, mille olete SIM-kaardi sisestanud. Sa peaksid helina tagasi saama. Kui see nii on, töötab teie moodul hästi.

Kasutame SIM800 GSM-modemit, mis toetab neljaribalist 850/900/1800/1900 MHz. kui teil on SIM900 modem, ei pea muretsema, programm ja vooluring sobivad selles projektis kokku.

Nüüd oleksite saanud GSM-modemi kohta idee, õppime nüüd, kuidas seda arduinoga liidestada.

Vooluahela skeem:

Nagu saate skeemi põhjal järeldada, on vooluühendus surmtõsine. Teil on vaja lihtsalt kolme isase kuni emase päise tihvti. USB-kaabel on selles projektis kohustuslik, kuna me suhtleme jadamonitori kaudu.

Toite GSM-modemit alati välise adapteriga. Arduino toide on GSM-modemi jaoks ebapiisav, see võib isegi arduino pingeregulaatorit üle koormata.

See kõik käib riistvaralise osa kohta. Nüüd liigume kodeerimise juurde.

Programm:

//-------------Program developed by R.Girish---------------//
#include
#define rxPin 9 // gsm TX------> arduino 9
#define txPin 8 //gsm RX--------> arduino 8
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin)
char text[150]
String message=''
int x
void setup()
{
Serial.begin(9600)
while (!Serial){}
mySerial.begin(9600)
delay(1000)
Serial.println('Write your message (with dot at end):')
}
void loop()
{
x=0
while( Serial.available()>0 )
{
text[x] = Serial.read()
message += text[x]
x++
if (text[x-1]==46)
{
Serial.println('Your message is sending......')
SendTextMessage()
ShowSerialData()
delay(1000)
Serial.println('r')
Serial.println('Success')
message=''
x=0
}}}
void SendTextMessage()
{
mySerial.print('AT+CMGF=1r')
delay(1000)
mySerial.print('AT+CMGS='+91xxxxxxxxxx'r') // Replace x with your 10 digit phone number
delay(1000)
mySerial.println(message)
mySerial.print('r')
delay(1000)
mySerial.println((char)26)
mySerial.println()
}
void ShowSerialData()
{
while(mySerial.available()!=0)
Serial.write(mySerial.read())
}
//-------------Program developed by R.Girish---------------//

Ärge unustage punkti (.) Sõnumi igas otsas , muidu ei saada see sõnumit programmis ettenähtud numbrile. Asendage programmis x oma 10 digitaalse telefoninumbriga. Veenduge, et teie SIM-kaardil oleks toimiv SMS-kava.

Kui te pole Indiast pärit, muutke programmis riigikoodi.

Näiteks:

Suurbritannia puhul: +44
USA jaoks: +1
Kanada jaoks: +1
Venemaa jaoks: +7

Samuti saate automatiseerida GSM-modemi saadetud sõnumi, kodeerides Arduino sobivalt. Telefoni kaudu saate vastu võtta automatiseeritud sõnumihoiatusi, näiteks: vargusevastane hoiatus, tulekahjuhäire, ilmateade teie piirkonnas jne.

GSM-modemis saate GPRS-iga isegi Interneti-ühenduse luua, kuid see on juba teise artikli teema.

Ühes neljandast tulevast artiklist õpime Kuidas saada SMS-i GSM-modemi ja Arduino abil

Kui teil on täiendavaid küsimusi SMS-i saatmise kohta GSM-modemi abil, küsige julgelt kommentaaride jaotisest.

Kuidas saada SMS-i GSM-modemi abil

Eespool arutlesime, kuidas saata tekstsõnumit GSM-modemi abil, ning arutlesime ka GSM-modemi põhitõdede üle.

Selles jaotises arutleme selle üle, kuidas SMS-i vastu võtta arduino IDE seeriamonitori kaudu. Me ei saa mitte ainult SMS-e vastu võtta, vaid saadame ka tekstisõnumeid, vajutades erinevaid klahve. Kui vajutate nuppu „s“, saadetakse hetkeks sisestatud tekstisõnum, vajutades „r“, saadetakse reaalajas SMS.

Siin on autori prototüüp:

Kuidas see töötab

Skeem SMS-ide vastuvõtmiseks GSM-modeni abil on väga lihtne, vajate lihtsalt kolme mees- ja naissoost päise nööpi. GSM-modemi TX on ühendatud arduino kontakti nr 9 ja GSM-modemi RX-ga on ühendatud arduino tihvtiga nr 8 ning maa ja maa-ühendus on samuti antud GSM ja arduino vahel.

Kasutage GSM-modemi jaoks alati välist toiteallikat, ärge ühendage 5Vcc arduinost GSM-modemiga, kuna on palju võimalusi arduino pingeregulaatorit üle koormata.

SMS-kulude vähendamiseks ärge unustage SMS-i tellimuses rakendama SMS-i määra vähendajat või muud sarnast.

Vastasel juhul jääb pärast mitme SMS-i saatmist konto saldo tühjaks, kuna pärast iga saadetud SMS-i ei edastata teie mobiilsideteenuse pakkujalt kinnitust, kuna SIM-kaart on GSM-modemis.

Ainus kinnitus, mille saate, on hoiatavad SMS-id teie tühja konto kohta, seega olge kulutuste suhtes ettevaatlik. Nüüd liigume selle projekti kodeerimisse.

Programm:

//-----------------Program developed by R.Girish-------------//
#include
SoftwareSerial gsm(9,8)
void setup()
{
gsm.begin(9600) // Setting the baud rate of GSM Module
Serial.begin(9600) // Setting the baud rate of Serial Monitor (Arduino)
delay(100)
}
void loop()
{
if (Serial.available()>0)
switch(Serial.read())
{
case 's':
Send()
break
case 'r':
Recieve()
break
case 'S':
Send()
break
case 'R':
Recieve()
break
}
if (gsm.available()>0)
Serial.write(gsm.read())
}
void Send()
{
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx'r') // Replace x with mobile number
delay(1000)
gsm.println('Hello I am GSM modem!!!')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void Recieve()
{
gsm.println('AT+CNMI=2,2,0,0,0') // AT Command to receive a live SMS
delay(1000)
}
//-----------------Program developed by R.Girish-------------//

Telefoninumbrite sisestamine

Sisestage saaja telefoninumber programmi „xxxxxxxxxxx” lahtrisse koos oma riigikoodiga alguses.

Sisestage programm, mida soovite saata, jutumärki: gsm.println ('Tere, ma olen GSM-modem !!!') // SMS-tekst, mille soovite saata

Koostage programm ja laadige see üles arduinosse.

Sisestage SIM-kaart ja andke välise toiteallikaga GSM-modemile toide ja vajutage toitenuppu 3 sekundit (olenevalt mudelist), oodake mobiilsidevõrgu loomiseks 10 kuni 20 sekundit, võrgu LED peaks vilkuma üks kord iga 3 sekundi järel. Kui kõik eespool öeldu on tehtud, oleme valmis järgmiseks sammuks.

Nüüd avage jademonitor ja vajutage “r”. GSM-modem on SMS-ide vastuvõtmiseks valmis. Nüüd saatke igast mobiiltelefonist tekstisõnum GSM-modemile sisestatud SIM-i numbrile.
Tekstsõnum peaks ilmuma jademonitorile, mis sarnaneb allpool illustreerituga:

“Tere maailm” on GSM-modemile saadetud sõnum ja kuvatakse ka number, kust tekstisõnum saadetakse.

Nüüd lubage saata SMS eelnevalt sisestatud sõnumiga programmis eelnevalt sisestatud numbrile. Vajutage 's' ja näete midagi sarnast, mis on illustreeritud allpool: Saadetud SMS on 'Tere, ma olen GSM-modem'.

Nüüd teate, kuidas GSM-modemi abil SMS-i saata ja vastu võtta.




Eelmine: Bluetooth-mootori kontrolleri vooluring Järgmine: Kuidas kujundada induktsioonsoojendi vooluahelat