Kuinka lähettää ja vastaanottaa tekstiviestejä GSM-modeemin avulla

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä artikkelissa aiomme oppia, kuinka lähettää ja vastaanottaa tekstiviestejä GSM-modeemilla, jota Arduino ohjaa. Katsotaanpa, mikä GSM-modeemi on, miten se liitetään Arduinoon, kuinka lähettää tekstiviestejä asennuksen kanssa.

Aiomme myös tutkia, mitä kaikkia sovelluksia voimme saavuttaa GSM-modeemilla lukuun ottamatta ihmisen lähettämiä tekstiviestejä.



Mikä on GSM-modeemi?

GSM tarkoittaa globaalia matkaviestintäjärjestelmää. Se on standardi, jonka on kehittänyt ETSI (European Telecommunications Standard Institute), joka kuvasi 2G-viestinnän protokollia.

Se on ensimmäinen matkaviestinnän digitaalinen protokolla, joka on optimoitu kaksisuuntaiseen ääniviestintään. Lyhyesti sanottuna täysi kaksipuolinen tiedonsiirto tarkoittaa, että molemmat osapuolet voivat lähettää / vastaanottaa dataa (tai ääntä) samanaikaisesti.



GSM-protokolla mahdollistaa myös pakettidatan, kuten GPRS: n ja EDGE: n, siirtämisen.

SIM800 GSM-modeemi:

GSM-modeemi on laitteisto, joka hyväksyy kelvollisen SIM-kortin (Subscriber Identity Module), periaatteessa mikä tahansa SIM toimii, joka tukee GSM-protokollaa ja verkkotilauksella.

Se on kuin matkapuhelin ilman näyttöä ja näppäimistöä. Siinä on neljä I / O-nastaa valitsemastasi mallista riippuen.

Kaksi TX: lle ja RX: lle (lähetys ja vastaanotto), toinen kaksi nastaa VCC: lle ja GND: lle, mikä on yhteistä kaikissa.

Se koostuu myös RS232-portista modeemin ja tietokoneen väliseen sarjaliikenteeseen, mutta emme aio käyttää tätä projektia.

Siinä on vakio DC-virtaliitin, jota voidaan käyttää ulkoisista virtalähteistä, kuten jännitesovittimista.

Sen käyttöjännite vaihtelee 5-12 V DC-liittimestä mallista riippuen. Siinä on 3 LED-merkkivaloa virtaa, tilaa ja verkkoa varten.

Virran merkkivalo ilmaisee virran läsnäolon, tilan merkkivalo ilmaisee onko GSM-modeemi toiminnassa vai ei, verkko-LED osoittaa matkapuhelinverkon perustamisen.

Aluksi verkon LED vilkkuu sekunnin välein etsiessään verkkoa, kun se on löytänyt matkapuhelinverkon, se vilkkuu 3 sekunnin välein.

Sinun on painettava virtapainiketta 2-3 sekunnin ajan GSM-modeemin aktivoimiseksi, kun olet tehnyt sen, se lukittuu matkapuhelinverkkoon.

Varmista vain, että GSM-modeemisi toimii, soittamalla numeroon, jonka olet asettanut SIM-kortille. Sinun pitäisi saada soittoääni. Jos se tapahtuu, moduulisi toimii hyvin.

Aiomme käyttää SIM800 GSM-modeemia, joka tukee nelikaistaista 850/900/1800/1900 MHz. Jos omistat SIM900-modeemin, sinun ei tarvitse huolehtia, ohjelma ja piiri ovat yhteensopivia tässä projektissa.

Nyt olisit saanut jonkinlaisen käsityksen GSM-modeemista, nyt opitaan, miten se liitetään arduinoon.

Piirikaavio:

Kuten voit päätellä kaaviosta, piiriliitäntä on erittäin helppoa. Tarvitset vain 3 urosta naiseen otsikkotappia. USB-kaapeli on pakollinen tässä projektissa, koska aiomme kommunikoida sarjavalvojan kautta.

Käynnistä GSM-modeemi aina ulkoisella sovittimella. Arduinon teho on riittämätön GSM-modeemille, se voi jopa ylikuormittaa arduinon jännitesäätimen.

Siinä kaikki laitteisto-osasta. Siirrytään nyt koodaukseen.

Ohjelmoida:

//-------------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---------------//

Älä unohda pistettä (.) Viestin jokaisessa päässä , muuten se ei lähetä viestiä määrättyyn numeroon ohjelmassa. Korvaa x 10: llä digitaalisella puhelinnumerollasi ohjelmassa. Varmista, että SIM-kortillasi on toimiva tekstiviestisuunnitelma.

Jos et ole Intiasta, vaihda maakoodi ohjelmassa.

Esimerkiksi:

UK: +44
Yhdysvallat: +1
Kanadassa: +1
Venäjä: +7

Voit myös automatisoida GSM-modeemin lähettämän viestin koodaamalla Arduino asianmukaisesti. Voit vastaanottaa puhelimeesi automaattisia ilmoituksia, kuten: varkaudenesto, palohälytys, säähälytys lähialueellasi jne.

Voit jopa muodostaa yhteyden Internetiin GPRS: llä GSM-modeemissa, mutta siitä on toinen artikkeli.

Yhdessä tulevista artikkeleista opimme Kuinka vastaanottaa tekstiviestejä GSM-modeemin ja Arduinon avulla

Jos sinulla on kysyttävää tekstiviestien lähettämisestä GSM-modeemin avulla, voit kysyä kommenttiosasta.

Kuinka vastaanottaa tekstiviestejä GSM-modeemin avulla

Yllä olevassa keskustelussa opimme lähettämään tekstiviestin GSM-modeemilla ja keskustelimme myös GSM-modeemin perusteista.

Tässä osiossa keskustellaan siitä, kuinka tekstiviestejä voidaan vastaanottaa arduino IDE: n sarjavalvojan kautta. Emme vain vastaanota tekstiviestejä, vaan lähetämme myös tekstiviestejä painamalla erilaisia ​​näppäimiä. Hetkellä, painamalla 's', lähetetään valmiiksi kirjoitettu tekstiviesti, ja painamalla 'r' saat reaaliaikaisen tekstiviestin.

Tässä on kirjoittajan prototyyppi:

Kuinka se toimii

Piiri tekstiviestien vastaanottamiseksi GSM-modeemin avulla on hyvin yksinkertainen, tarvitset vain 3 uros-naaras-otsikkotappia. GSM-modeemin TX on kytketty arduinon tapaan # 9 ja GSM-modeemin RX on kytketty arduinon tapaan # 8 ja maa-maa-yhteys annetaan myös GSM: n ja arduinon välille.

Käytä aina ulkoista virtalähdettä GSM-modeemille, älä kytke 5 Vcc: tä arduinosta GSM-modeemiin, koska on hyvät mahdollisuudet ylikuormittaa arduinon jännitesäätöä.

Älä unohda ottaa käyttöön tekstiviestien hinnanalenninta tai vastaavaa tekstiviestitilaukseesi tekstiviestikustannusten alentamiseksi.

Muuten tilisi saldo loppuu, kun olet lähettänyt useita tekstiviestejä, koska matkapuhelinoperaattoriltasi ei tule kuittausta jokaisen lähetetyn tekstiviestin jälkeen, koska SIM-kortti on GSM-modeemissa.

Ainoa kuittaus, jonka saat, on tyhjää tiliäsi koskeva varoitusviesti, joten ole varovainen kulujen suhteen. Siirrytään nyt tämän projektin koodaamiseen.

Ohjelmoida:

//-----------------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-------------//

Puhelinnumeroiden syöttäminen

Syötä vastaanottajan puhelinnumero kohtaan ”xxxxxxxxxxx” ja aluksi maatunnuksesi.

Kirjoita lähetettävä teksti ohjelmassa lainausmerkkiin: gsm.println ('Hei, olen GSM-modeemi !!!') // Lähetettävä tekstiviesti

Käännä ohjelma ja lataa se arduinoon.

Aseta SIM-kortti paikalleen ja käynnistä GSM-modeemi ulkoisella virtalähteellä ja paina virtapainiketta 3 sekunnin ajan (mallista riippuen), odota 10-20 sekuntia muodostaaksesi matkapuhelinverkon, verkon LED-merkkivalon tulisi vilkkua kerran 3 sekunnissa. Jos kaikki edellä mainittu on tehty, olemme valmiita siirtymään seuraavaan vaiheeseen.

Avaa nyt sarjamonitori ja paina “r”. GSM-modeemi on valmis vastaanottamaan tekstiviestejä. Lähetä nyt tekstiviesti mistä tahansa matkapuhelimesta SIM-kortin numeroon, joka on asetettu GSM-modeemiin.
Tekstiviestin pitäisi ponnahtaa sarjamonitoriin, mikä on samanlainen kuin alla oleva kuva:

“Hei maailma” on GSM-modeemille lähetetty viesti ja näytetään myös numero, josta tekstiviesti lähetetään.

Anna nyt lähettää tekstiviestejä ohjelman ennalta syötettyyn numeroon ennalta syötetyllä viestillä. Paina “s” ja näet jotain vastaavaa alla olevassa kuvassa: Lähetetty tekstiviesti on “Hei, olen GSM-modeemi”.

Nyt tiedät kuinka lähettää ja miten vastaanottaa tekstiviestejä GSM-modeemilla.




Pari: Bluetooth-moottorin ohjainpiiri Seuraava: Kuinka suunnitella induktiolämmitinpiiri