Hvordan sende og motta SMS ved hjelp av GSM-modem

Prøv Instrumentet Vårt For Å Eliminere Problemer





I denne artikkelen skal vi lære hvordan du sender og mottar SMS ved hjelp av GSM-modem som styres av Arduino. La oss se hva GSM-modem er, hvordan du grensesnittet med Arduino, hvordan du sender SMS med oppsettet.

Vi skal også utforske hva som er alle applikasjoner vi kan oppnå med GSM-modem annet enn å sende tekstmeldinger av et menneske.



Hva er GSM-modem?

GSM står for Global System for Mobile communication. Det er en standard som ble utviklet av ETSI (European Telecommunications Standard Institute) som beskrev protokollene for 2G-kommunikasjon.

Det er den første digitale protokollen for mobilkommunikasjon som er optimalisert for full dupleks talekommunikasjon. I et nøtteskall betyr full dupleks kommunikasjon at begge parter kan sende / motta data (eller tale) samtidig.



GSM-protokollen tillater også overføring av pakkedata, for eksempel GPRS og EDGE.

SIM800 GSM-modem:

GSM-modem er en maskinvare som godtar et gyldig SIM-kort (Subscriber Identity Module), i utgangspunktet vil ethvert SIM-kort fungere, som støtter GSM-protokoll og med et nettverksabonnement.

Det er som en mobiltelefon uten skjerm og tastatur. Den har fire I / O-pinner, avhengig av hvilken modell du velger.

To for TX og RX (sende og motta), ytterligere to pinner for VCC og GND, noe som er vanlig i alle.

Den består også av RS232-port for seriell kommunikasjon mellom modemet og datamaskinen, men vi kommer ikke til å bruke i dette prosjektet.

Den har standard DC-strømkontakt, som kan drives fra eksterne strømkilder som spenningsadaptere.

Den har arbeidsspenning fra 5 til 12V på DC-kontakten, avhengig av modell. Den har 3 LED-indikatorer for strøm, status og nettverk.

Strøm-LED indikerer tilstedeværelse av strøm, status-LED indikerer om GSM-modemet fungerer eller ikke, nettverks-LED indikerer etablering av mobilnett.

Opprinnelig blinker nettverks-LED hvert sekund mens du søker etter nettverk, når det oppretter mobilnettverket, blinker det hvert 3. sekund.

Du må trykke på av / på-knappen i 2 til 3 sekunder for å aktivere GSM-modemet. Når du er ferdig, låses det til mobilnettverket.

For å bekrefte at GSM-modemet fungerer, er det bare å ringe nummeret du har satt inn SIM-kortet på. Du bør få ringetone. Hvis det gjør det, fungerer modulen din bra.

Vi skal bruke SIM800 GSM-modem som støtter firebånd 850/900/1800/1900 MHz. Hvis du eier et SIM900-modem, trenger du ikke bekymre deg, programmet og kretsen er kompatibel i dette prosjektet.

Nå ville du ha fått noen ideer om GSM-modem. La oss nå lære å koble det til arduino.

Kretsdiagram:

Som du kan utlede fra diagrammet, er kretsforbindelsen død enkel. Du trenger bare 3 hodestifter til hann. En USB-kabel er obligatorisk i dette prosjektet, ettersom vi skal kommunisere via seriell skjerm.

Strøm alltid GSM-modemet med en ekstern adapter. Kraften fra arduino er ikke tilstrekkelig for GSM-modemet, det kan til og med overbelaste spenningsregulatoren til arduino.

Alt handler om maskinvare. La oss nå gå til koding.

Program:

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

Ikke glem prikken (.) I hver ende av meldingen , ellers sendes ikke meldingen til det foreskrevne nummeret i programmet. Erstatt x med ditt 10 digitale telefonnummer i programmet. Sørg for at du har et fungerende SMS-abonnement på SIM-kortet.

Hvis du ikke er fra India, kan du endre landskoden i programmet.

For eksempel:

For Storbritannia: +44
For USA: +1
For Canada: +1
For Russland: +7

Du kan også automatisere meldingen som sendes av GSM-modem ved å kode Arduino på riktig måte. Du kan motta automatiske meldingsvarsler på telefonen din, for eksempel: tyverivarsel, brannalarmvarsel, værvarsel i ditt lokale område etc.

Du kan til og med koble til internett med GPRS i GSM-modem, men det er gjenstand for en annen artikkel.

I en av de kommende artiklene vil vi lære Hvordan motta SMS ved hjelp av GSM-modem og Arduino

Hvis du har ytterligere spørsmål angående hvordan du sender SMS ved hjelp av GSM-modem, kan du gjerne spørre i kommentarseksjonen.

Hvordan motta SMS ved hjelp av GSM-modem

I diskusjonen ovenfor lærte vi hvordan du sender en tekstmelding ved hjelp av GSM-modem, og diskuterte også det grunnleggende om GSM-modemet.

I denne delen vil vi diskutere hvordan du mottar SMS via seriell skjerm av arduino IDE. Vi skal ikke bare motta SMS, men også sende tekstmelding ved å trykke på forskjellige taster. Et øyeblikk vil trykke på “s” sende en forhåndsinntastet tekstmelding, og trykke “r” vil motta sanntids-SMS.

Her er forfatterens prototype:

Hvordan det fungerer

Kretsen for å motta SMS ved hjelp av et GSM-moden er veldig enkel, du trenger bare 3 hann-til-kvinnelige topptekster. TX av GSM-modem er koblet til pin nr. 9 i arduino, og RX av GSM-modem er koblet til pin nr. 8 av arduino, og jord-til-jord-forbindelse er også gitt mellom GSM og arduino.

Bruk alltid ekstern strømforsyning for GSM-modem, ikke koble 5Vcc fra arduino til GSM-modem, da det er gode muligheter for å overbelaste spenningsregulatoren til arduino.

Ikke glem å implementere SMS rate cutter eller noe lignende på SMS-abonnementet ditt for å redusere SMS-utgiftene dine.

Ellers vil du ende opp med tom kontosaldo etter å ha sendt flere SMS, siden det ikke vil være noen bekreftelse fra mobiloperatøren din etter hver sendt SMS, ettersom SIM-kortet er i GSM-modemet.

Den eneste bekreftelsen du får er å varsle SMS om din tomme konto, så vær forsiktig med utgiftene dine. La oss nå gå til koding av dette prosjektet.

Program:

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

Tast inn telefonnummer

Skriv inn mottakerens telefonnummer på “xxxxxxxxxxx” i programmet med landskoden i begynnelsen.

Skriv inn teksten du vil sende i programmet innenfor anførselstegnet: gsm.println ('Hei jeg er GSM-modem !!!') // SMS-teksten du vil sende

Kompiler programmet og last opp til arduino.

Sett inn SIM-kortet og slå på GSM-modemet med ekstern strømforsyning, og trykk på strømknappen i 3 sekunder (avhengig av modell), vent i 10 til 20 sekunder for å opprette mobilnett, nettverks-LED-en skal blinke en gang hvert 3. sekund. Hvis alt er oppgitt ovenfor er gjort, er vi klare til neste trinn.

Åpne seriell skjerm og trykk “r” GSM-modemet er klart til å motta SMS. Send nå en tekstmelding fra hvilken som helst mobiltelefon til nummeret på SIM-kortet som er satt inn på GSM-modemet.
Tekstmeldingen skal dukke opp på den serielle skjermen, noe som ligner på illustrert nedenfor:

“Hello world” er meldingen som sendes til GSM-modem, og nummeret som tekstmeldingen sendes fra vises også.

La oss nå sende SMS til det forhåndsinntastede nummeret i programmet med forhåndsinntastet melding. Trykk på “s” og du vil se noe lignende illustrert nedenfor: Den sendte SMSen er “Hei jeg er GSM-modem”.

Nå vet du hvordan du sender og hvordan du mottar SMS ved hjelp av GSM-modem.




Forrige: Bluetooth Motor Controller Circuit Neste: Slik designer du en krets for induksjonsvarmer