Hur man skickar och tar emot SMS med GSM-modem

Prova Vårt Instrument För Att Eliminera Problem





I den här artikeln ska vi lära oss hur man skickar och tar emot SMS med GSM-modem som styrs av Arduino. Låt oss se vad GSM-modem är, hur man gränssnitt det med Arduino, hur man skickar SMS med installationen.

Vi kommer också att utforska vad som är alla applikationer vi kan uppnå med GSM-modem förutom att skicka sms av en människa.



Vad är GSM-modem?

GSM står för Global System for Mobile communication det är en standard som utvecklades av ETSI (European Telecommunications Standard Institute) som beskrev protokollen för 2G-kommunikation.

Det är det första digitala protokollet för mobil kommunikation som är optimerat för full duplex röstkommunikation. I ett nötskal betyder full duplexkommunikation att båda parterna kan skicka / ta emot data (eller röst) samtidigt.



GSM-protokollet tillåter också överföring av paketdata, såsom GPRS och EDGE.

SIM800 GSM-modem:

GSM-modem är en hårdvara som accepterar ett giltigt SIM-kort (Subscriber Identity Module), i princip fungerar alla SIM-kort som stöder GSM-protokoll och med ett nätverksabonnemang.

Det är som en mobiltelefon utan skärm och knappsats. Den har fyra I / O-stift beroende på vilken modell du väljer.

Två för TX och RX (sända och ta emot), ytterligare två stift för VCC och GND, vilket är vanligt i alla.

Den består också av RS232-port för seriell kommunikation mellan modemet och datorn, men vi ska inte använda det här projektet.

Den har standard DC-uttag, som kan drivas från externa strömkällor som spänningsadaptrar.

Den har arbetsspänning från 5 till 12 V på DC-uttaget, beroende på modell. Den har 3 LED-indikatorer för ström, status och nätverk.

Strömindikatorn indikerar närvaron av ström, statusindikatorn anger om GSM-modemet fungerar eller inte, nätverksdioden indikerar upprättandet av mobilnät.

Initialt blinkar nätverks-LED varannan sekund när du söker efter nätverk, när det väl har upprättat mobilnätet blinkar det var tredje sekund.

Du måste trycka på strömbrytaren i 2 till 3 sekunder för att aktivera GSM-modemet. När du är klar låses det till mobilnätet.

För att verifiera att ditt GSM-modem fungerar, ring bara det nummer som du har satt i SIM-kortet. Du borde få rington. Om det gör det fungerar din modul bra.

Vi ska använda SIM800 GSM-modem som stöder fyrband 850/900/1800/1900 MHz. Om du äger ett SIM900-modem behöver du inte oroa dig, programmet och kretsen är kompatibla i detta projekt.

Nu skulle du ha fått en uppfattning om GSM-modem, nu ska vi lära oss hur man gränssnitt det med arduino.

Kretsschema:

Som du kan dra slutsatsen från diagrammet är kretsanslutningen död enkel. Du behöver bara tre manliga till kvinnliga huvudstift. En USB-kabel är obligatorisk i detta projekt, eftersom vi ska kommunicera via seriell bildskärm.

Slå alltid på GSM-modemet med en extern adapter. Kraften från arduino är otillräcklig för GSM-modemet, det kan till och med överbelasta spänningsregulatorn på arduino.

Det handlar om hårdvarudel. Låt oss nu gå till kodning.

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

Glöm inte punkten (.) I varje ände av meddelandet annars skickas inte meddelandet till det föreskrivna numret i programmet. Ersätt x med ditt 10 digitala telefonnummer i programmet. Se till att du har ett fungerande SMS-abonnemang på ditt SIM-kort.

Om du inte kommer från Indien, vänligen ändra landskoden i programmet.

Till exempel:

För Storbritannien: +44
För USA: +1
För Kanada: +1
För Ryssland: +7

Du kan också automatisera meddelandet som skickas av GSM-modem genom att koda Arduino på lämpligt sätt. Du kan ta emot automatiserade meddelandevarningar på din telefon som: stöldskydd, brandlarm, vädervarning i ditt lokala område etc.

Du kan även ansluta till internet med GPRS i GSM-modem, men det är föremål för en annan artikel.

I en av de kommande artiklarna kommer vi att lära oss Hur man tar emot SMS med GSM-modem och Arduino

Om du har ytterligare frågor angående hur du skickar SMS med GSM-modem kan du gärna ställa det i kommentarsektionen.

Hur man tar emot SMS med GSM-modem

I diskussionen ovan lärde vi oss hur man skickar ett textmeddelande med GSM-modem och diskuterade även grunderna i GSM-modemet.

I det här avsnittet kommer vi att diskutera hur man tar emot SMS via seriell bildskärm för arduino IDE. Vi kommer inte bara att ta emot SMS utan också skicka SMS genom att trycka på olika tangenter. Ett ögonblick kommer att trycka på 's' för att skicka ett textmeddelande innan du trycker på. Om du trycker på 'r' får du SMS i realtid.

Här är författarens prototyp:

Hur det fungerar

Kretsen för att ta emot SMS med ett GSM-moden är väldigt enkel, du behöver bara 3 manliga till kvinnliga huvudstift. TX för GSM-modem är anslutet till stift nr 9 i arduino och RX för GSM-modem är anslutet till stift nr 8 av arduino och mark-till-jord-anslutningen ges också mellan GSM och arduino.

Använd alltid extern strömförsörjning för GSM-modem, anslut inte 5Vcc från arduino till GSM-modem, eftersom det finns goda chanser att överbelasta spänningsregulatorn i arduino.

Glöm inte att implementera SMS-sänkning eller något liknande i din SMS-prenumeration för att minska dina SMS-utgifter.

Annars hamnar du tomt kontosaldo efter att du har skickat flera SMS, eftersom det inte kommer att finnas någon bekräftelse från din mobilleverantör efter varje skickat SMS, eftersom SIM-kortet finns i GSM-modemet.

Det enda bekräftelsen du får är att varna SMS om ditt tomma konto, så var försiktig med dina utgifter. Låt oss nu gå till kodning av detta projekt.

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

Ange telefonnummer

Ange mottagarens telefonnummer på “xxxxxxxxxxx” i programmet med din landskod i början.

Ange texten som du vill skicka i programmet inom citattecken: gsm.println ('Hej jag är GSM-modem !!!') // SMS-texten du vill skicka

Kompilera programmet och ladda upp det till arduino.

Sätt i SIM-kortet och slå på GSM-modemet med extern strömförsörjning och tryck på strömbrytaren i 3 sekunder (beroende på modell), vänta i 10 till 20 sekunder för att upprätta mobilnätet, nätverkslampan ska blinka var tredje sekund. Om allt anges ovan är vi redo att gå till nästa steg.

Öppna nu seriell bildskärm och tryck “r” GSM-modemet är redo att ta emot SMS. Skicka nu ett textmeddelande från vilken mobiltelefon som helst till numret på SIM-kortet som sitter i GSM-modemet.
Textmeddelandet ska dyka upp på den seriella bildskärmen, något liknande det som illustreras nedan:

”Hello world” är meddelandet som skickas till GSM-modem och numret från vilket textmeddelandet skickas visas också.

Låt nu skicka SMS till det förinställda numret i programmet med förinställt meddelande. Tryck på “s” så visas något liknande illustrerat nedan: Det skickade SMSet är “Hej jag är GSM-modem”.

Nu vet du hur du skickar och hur du tar emot SMS med GSM-modem.




Tidigare: Bluetooth Motor Controller Circuit Nästa: Hur man designar en induktionsvärmare