כיצד לשלוח ולקבל SMS באמצעות מודם GSM

נסה את הכלי שלנו לביטול בעיות





במאמר זה אנו הולכים ללמוד כיצד לשלוח ולקבל SMS באמצעות מודם GSM הנשלט על ידי ארדואינו. בואו נראה, מהו מודם GSM, כיצד לממשק אותו עם Arduino, כיצד לשלוח SMS עם ההתקנה.

אנו הולכים לבחון מהם כל היישומים שאנו יכולים להשיג באמצעות מודם GSM מלבד שליחת הודעת טקסט על ידי אדם.



מהו מודם GSM?

GSM מייצג מערכת גלובלית לתקשורת סלולרית. זהו תקן שפותח על ידי ETSI (מכון התקנים האירופי לתקשורת) שתאר את הפרוטוקולים לתקשורת 2G.

זהו הפרוטוקול הדיגיטלי הראשון לתקשורת ניידת אשר מותאם לתקשורת קולית דופלקסית מלאה. בקיצור תקשורת דופלקס מלא פירושו ששני הצדדים יכולים לשלוח / לקבל נתונים (או קול) בו זמנית.



פרוטוקול GSM מאפשר גם העברת נתוני מנות, כגון GPRS ו- EDGE.

מודם GSM SIM800:

מודם GSM הוא חומרה המקבלת כרטיס SIM תקף (Subscriber Identity Module), בעצם כל SIM יעבוד, התומך בפרוטוקול GSM ועם מנוי לרשת.

זה כמו טלפון נייד ללא מסך ולוח מקשים. יש לו ארבעה סיכות קלט / פלט בהתאם לדגם שתבחר.

שניים עבור TX ו- RX (שידור וקבלה), שני סיכות נוספות עבור VCC ו- GND, מה שמקובל בכל.

הוא מורכב גם מיציאת RS232 לתקשורת טורית בין המודם למחשב, אולם איננו הולכים להשתמש בפרויקט זה.

יש לו שקע חשמל DC רגיל, שניתן להפעיל אותו ממקורות חשמל חיצוניים כמו מתאמי מתח.

יש לו מתח עבודה שנע בין 5 ל 12 וולט בשקע DC, תלוי בדגם. יש לו 3 מחווני LED, להספק, מצב ורשת.

נורית החשמל מציינת נוכחות של חשמל, נורית המצב מציינת אם מודם ה- GSM פועל או לא, נורית הרשת מצביעה על הקמת רשת סלולרית.

בתחילה נורית הרשת מהבהבת כל שנייה בזמן חיפוש רשת, ברגע שהיא מקימה את הרשת הסלולרית היא מהבהבת כל 3 שניות.

עליך ללחוץ על כפתור ההפעלה למשך 2 עד 3 שניות להפעלת מודם ה- GSM, לאחר שתסיים, הוא תופס לרשת הסלולרית.

כדי לוודא שמודם ה- GSM שלך עובד, פשוט התקשר למספר שבו הכנסת את כרטיס ה- SIM. אתה צריך לקבל צלצול חזרה. אם כן, המודול שלך עובד בסדר.

אנו הולכים להשתמש במודם SIM800 GSM התומך ברבע הלהקה 850/900/1800/1900 MHz. אם ברשותך מודם SIM900, אינך צריך לדאוג, התוכנית והמעגל תואמים בפרויקט זה.

עכשיו היית צובר קצת מושג לגבי מודם GSM, עכשיו בואו ללמוד כיצד לממשק אותו עם ארדואינו.

תרשים מעגל:

כפי שניתן להסיק מהדיאגרמה, חיבור המעגל קל למדי. אתה רק צריך 3 סיכות כותרת לזכר. כבל USB הוא חובה בפרויקט זה, מכיוון שאנחנו הולכים לתקשר באמצעות צג סדרתי.

תמיד הפעל את מודם ה- GSM באמצעות מתאם חיצוני. הכוח מארדואינו אינו מספיק עבור מודם ה- GSM, ואף עלול להעמיס על ווסת המתח של הארדואינו.

זה הכל חלק מהחומרה. עכשיו, בואו נעבור לקידוד.

תכנית:

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

אל תשכח את הנקודה (.) בכל קצה ההודעה , אחרת זה לא ישלח את ההודעה למספר שנקבע בתוכנית. החלף את x במספר הטלפון הדיגיטלי שלך בתוכנית. ודא שיש לך תוכנית SMS עובדת בכרטיס ה- SIM שלך.

אם אינך מהודו, אנא שנה את קוד המדינה בתוכנית.

לדוגמה:

לבריטניה: +44
לארה'ב: +1
לקנדה: +1
לרוסיה: +7

ניתן גם להפוך את ההודעה לאוטומטית הנשלחת על ידי מודם GSM על ידי קידוד מתאים של Arduino. אתה יכול לקבל התראות על הודעות אוטומטיות בטלפון שלך כגון: התראה נגד גניבה, התראה על אזעקת אש, התראה על מזג האוויר באזור המקומי שלך וכו '.

אתה יכול אפילו להתחבר לאינטרנט באמצעות GPRS במודם GSM, אך זהו נושא למאמר אחר.

באחד המאמרים הקרובים נלמד כיצד לקבל SMS באמצעות מודם GSM וארדואינו

אם יש לך שאלות נוספות לגבי אופן שליחת SMS באמצעות מודם GSM, אל תהסס לשאול בסעיף ההערות.

כיצד לקבל SMS באמצעות מודם GSM

בדיון לעיל למדנו כיצד לשלוח הודעת טקסט באמצעות מודם GSM וכן דנו ביסודות המודם GSM.

בחלק זה נדון בנוגע לאופן קבלת SMS באמצעות צג סדרתי של ארדואינו IDE. אנחנו לא רק נקבל SMS אלא גם נשלח הודעת טקסט בלחיצה על מקשים שונים. לרגע, לחיצה על 's' תשלח הודעת טקסט שהוזנה מראש, לחיצה על 'r' תקבל SMS בזמן אמת.

הנה אב הטיפוס של המחבר:

איך זה עובד

המעגל לקבלת SMS באמצעות מודל GSM הוא פשוט מאוד, אתה רק צריך 3 סיכות כותרת לזכר. ה- TX של מודם GSM מחובר לסיכה מס '9 של ארדואינו ו- RX של מודם GSM מחובר לסיכה מס' 8 של ארדואינו וחיבור הקרקע לקרקע ניתן גם בין GSM לארדואינו.

השתמש תמיד באספקת חשמל חיצונית למודם GSM, אל תחבר 5Vcc מארדואינו למודם GSM, שכן יש סיכוי טוב להעמיס על ווסת המתח של ארדואינו.

אל תשכח ליישם את מנחת SMS או משהו דומה במנוי ה- SMS שלך להפחתת הוצאות ה- SMS שלך.

אחרת תקבל יתרת חשבון ריקה לאחר שליחת מספר SMS, מכיוון שלא תהיה שום אישור מספק הסלולר שלך לאחר כל SMS שנשלח, מכיוון שכרטיס ה- SIM נמצא במודם ה- GSM.

ההודאה היחידה שאתה מקבל היא אזהרת SMS, בנוגע לחשבונך הריק, אז היזהר מההוצאות שלך. עכשיו בואו נעבור לקידוד חלק מהפרויקט הזה.

תכנית:

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

הזנת מספרי הטלפון

הזן את מספר הטלפון הנמען ב- 'xxxxxxxxxxx' בתוכנית עם קוד המדינה שלך בהתחלה.

הזן את הטקסט שברצונך לשלוח לתוכנית בתוך המרכאות: gsm.println ('שלום אני מודם GSM !!!') // טקסט ה- SMS שברצונך לשלוח

הידר את התוכנית והעלה לארדואינו.

הכנס את כרטיס ה- SIM והפעל את מודם ה- GSM באמצעות ספק כוח חיצוני ולחץ על כפתור ההפעלה למשך 3 שניות (תלוי בדגם), המתן 10 עד 20 שניות כדי ליצור רשת ניידת, נורית הרשת אמורה להבהב אחת ל -3 שניות. אם הכל נאמר לעיל נעשה, אנו מוכנים ללכת לשלב הבא.

כעת פתח את המסך הטורי ולחץ על 'r'. מודם ה- GSM מוכן לקבל SMS. כעת שלח הודעת טקסט מכל טלפון נייד למספר ה- SIM שמוכנס במודם GSM.
הודעת הטקסט צריכה לצוץ על המסך הטורי, משהו דומה למודגם להלן:

'שלום עולם' הוא ההודעה הנשלחת למודם GSM והמספר ממנו נשלחת הודעת הטקסט מוצג גם כן.

כעת, תן לשלוח SMS למספר שהוזן מראש בתוכנית עם הודעה שהוזנה מראש. לחץ על 's' ותראה משהו דומה שמודגם להלן: ה- SMS שנשלח הוא 'שלום אני מודם GSM'.

עכשיו אתה יודע איך לשלוח ואיך לקבל SMS באמצעות מודם GSM.




קודם: מעגל בקר מנוע Bluetooth הבא: כיצד לעצב מעגל דוד אינדוקציה