Ako odosielať a prijímať SMS pomocou GSM modemu

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto článku sa naučíme, ako posielať a prijímať SMS pomocou GSM modemu, ktorý je riadený Arduinom. Pozrime sa, čo je to GSM modem, ako ho prepojiť s Arduinom, ako posielať SMS s nastavením.

Budeme tiež skúmať, aké sú všetky aplikácie, ktoré môžeme dosiahnuť pomocou GSM modemu okrem odosielania textových správ človekom.



Čo je to GSM modem?

GSM je skratka pre Global System for Mobile communications, čo je štandard, ktorý vyvinul ETSI (European Telecommunications Standard Institute), ktorý opísal protokoly pre 2G komunikáciu.

Je to prvý digitálny protokol pre mobilnú komunikáciu, ktorý je optimalizovaný pre plne duplexnú hlasovú komunikáciu. Stručne povedané, duplexná komunikácia znamená, že obidve strany môžu súčasne odosielať / prijímať dáta (alebo hlas).



Protokol GSM umožňuje aj prenos paketových dát, ako sú GPRS a EDGE.

GSM modem SIM800:

GSM modem je hardvér, ktorý akceptuje platnú SIM kartu (Subscriber Identity Module), v podstate bude fungovať akákoľvek SIM karta, ktorá podporuje protokol GSM a so sieťovým predplatným.

Je to ako mobilný telefón bez obrazovky a klávesnice. Má štyri I / O piny v závislosti od modelu, ktorý si vyberiete.

Dva pre TX a RX (vysielanie a príjem), ďalšie dva piny pre VCC a GND, ktoré sú spoločné pre všetkých.

Skladá sa tiež z portu RS232 pre sériovú komunikáciu medzi modemom a počítačom, v tomto projekte ho však nebudeme používať.

Má štandardný jednosmerný napájací konektor, ktorý je možné napájať z externých zdrojov napájania, ako sú napäťové adaptéry.

Na modeli má pracovné napätie od 5 do 12V na DC konektore. Má 3 LED indikátory, pre napájanie, stav a sieť.

Indikátor napájania indikuje prítomnosť napájania, stavový indikátor LED signalizuje, či je modem GSM v prevádzke alebo nie, indikátor LED siete indikuje vytvorenie mobilnej siete.

LED dióda na začiatku bliká každú sekundu pri hľadaní siete, akonáhle sa vytvorí mobilná sieť, bliká každé 3 sekundy.

Ak chcete aktivovať modem GSM, musíte stlačiť tlačidlo napájania na 2 až 3 sekundy. Po dokončení sa západka pripojí k mobilnej sieti.

Aby ste si overili, že váš GSM modem funguje, stačí zavolať na číslo, na ktoré ste vložili SIM kartu. Mali by ste dostať zvonenie. Ak áno, potom váš modul funguje dobre.

Budeme používať GSM modem SIM800, ktorý podporuje štvorpásmové 850/900/1800/1900 MHz. ak vlastníte modem SIM900, nemusíte sa obávať, program a obvod sú v tomto projekte kompatibilné.

Teraz by ste získali predstavu o GSM modeme. Poďme sa teraz naučiť, ako ho prepojiť s arduino.

Schéma zapojenia:

Ako môžete odvodiť z diagramu, zapojenie obvodu je mŕtve ľahké. Potrebujete iba 3 kolíky zástrčky od samca po samicu. USB kábel je v tomto projekte povinný, pretože budeme komunikovať cez sériový monitor.

GSM modem vždy napájajte z externého adaptéra. Napájanie arduina je pre GSM modem nedostatočné, mohlo by dokonca preťažiť regulátor napätia arduino.

To je všetko o hardvérovej časti. Teraz prejdime k programovaniu.

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

Nezabudnite na bodku (.) Na každom konci správy , inak sa správa neodošle na predpísané číslo v programe. Nahraďte x svojím 10 digitálnym telefónnym číslom v programe. Uistite sa, že máte na svojej SIM karte funkčný plán SMS.

Ak nie ste z Indie, zmeňte v programe kód krajiny.

Napríklad:

Pre Veľkú Britániu: +44
Pre USA: +1
Pre Kanadu: +1
Pre Rusko: +7

Môžete tiež automatizovať správu, ktorá sa posiela cez GSM modem, príslušným kódovaním Arduina. Na váš telefón môžete dostávať automatizované výstrahy, ako napríklad: výstrahy proti krádeži, výstrahy požiarneho poplachu, výstrahy počasia v miestnej oblasti atď.

Môžete sa dokonca pripojiť k internetu pomocou GPRS v GSM modeme, ale to je predmetom iného článku.

V jednom z nasledujúcich článkov sa dozvieme Ako prijímať SMS pomocou GSM modemu a Arduina

Ak máte ďalšie otázky týkajúce sa odosielania SMS pomocou GSM modemu, neváhajte a opýtajte sa v sekcii komentárov.

Ako prijímať SMS pomocou GSM modemu

Vo vyššie uvedenej diskusii sme sa naučili, ako poslať textovú správu pomocou GSM modemu, a tiež sme diskutovali o základoch GSM modemu.

V tejto časti sa budeme zaoberať tým, ako prijímať SMS cez sériový monitor arduino IDE. Nebudeme dostávať iba SMS, ale aj odosielať textové správy stlačením rôznych klávesov. Stlačením „s“ na okamih odošlete textovú správu s predvoľbou, stlačením „r“ prijmete SMS v reálnom čase.

Tu je autorský prototyp:

Ako to funguje

Obvod na príjem SMS pomocou modemu GSM je veľmi jednoduchý, potrebujete iba 3 kolíky zástrčky medzi mužmi a ženami. TX GSM modemu je pripojený na pin # 9 arduina a RX GSM modemu je pripojený na pin # 8 arduina a je tiež dané zem-zem spojenie medzi GSM a arduino.

Pre GSM modem vždy používajte externé napájanie, nepripojujte 5Vcc z arduino k GSM modemu, pretože existuje veľká šanca na preťaženie regulátora napätia arduino.

Nezabudnite na predplatné SMS implementovať nástroj na znižovanie sadzieb SMS alebo niečo podobné, aby ste znížili svoje výdavky na SMS.

V opačnom prípade skončíte po odoslaní niekoľkých SMS prázdny zostatok na účte, pretože od poskytovateľa mobilných služieb nebude po každej odoslanej SMS potvrdené, pretože SIM karta je v GSM modeme.

Jediným potvrdením, ktoré dostanete, sú varovné SMS týkajúce sa vášho prázdneho účtu, preto buďte opatrní pri svojich výdavkoch. Teraz prejdime ku kódovaniu časti tohto projektu.

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

Zadanie telefónnych čísel

Na začiatku zadajte telefónne číslo príjemcu „xxxxxxxxxxx“ v programe s kódom vašej krajiny.

Zadajte text, ktorý chcete do programu odoslať, do úvodzoviek: gsm.println („Dobrý deň, som GSM modem !!!“) // Text SMS, ktorý chcete odoslať

Zostavte program a nahrajte na arduino.

Vložte SIM kartu a napájajte GSM modem externým zdrojom napájania a stlačte tlačidlo napájania na 3 sekundy (v závislosti od modelu), počkajte 10 až 20 sekúnd na vytvorenie mobilnej siete, kontrolka siete by mala blikať každé 3 sekundy. Ak sa urobí všetko, čo je uvedené vyššie, sme pripravení ísť na ďalší krok.

Teraz otvorte sériový monitor a stlačte „r“, aby bol GSM modem pripravený na príjem SMS. Teraz pošlite textovú správu z ľubovoľného mobilného telefónu na číslo SIM karty, ktorá je vložená v GSM modeme.
Textová správa by sa mala zobraziť na sériovom monitore, podobne ako je to znázornené nižšie:

„Hello world“ je správa odoslaná do GSM modemu a tiež sa zobrazí číslo, z ktorého sa odosiela textová správa.

Teraz nechajte poslať SMS na vopred zadané číslo v programe s vopred zadanou správou. Stlačte “s” a uvidíte niečo podobné, čo je znázornené nižšie: Odoslaná SMS je „Hello I am GSM modem“.

Teraz viete, ako odosielať a prijímať SMS pomocou GSM modemu.




Dvojica: Obvod radiča motora Bluetooth Ďalej: Ako navrhnúť obvod indukčného ohrievača