كيفية إرسال واستقبال الرسائل القصيرة باستخدام مودم GSM

كيفية إرسال واستقبال الرسائل القصيرة باستخدام مودم GSM

في هذه المقالة سوف نتعلم كيفية إرسال واستقبال الرسائل القصيرة باستخدام مودم GSM الذي يتحكم فيه Arduino. دعونا نرى ، ما هو مودم GSM ، وكيفية ربطه بـ Arduino ، وكيفية إرسال الرسائل القصيرة مع الإعداد.



سنقوم أيضًا باستكشاف جميع التطبيقات التي يمكننا تحقيقها باستخدام مودم GSM بخلاف إرسال رسالة نصية بواسطة إنسان.

ما هو مودم GSM؟

يرمز GSM إلى النظام العالمي للاتصالات المتنقلة ، وهو معيار تم تطويره بواسطة ETSI (المعهد الأوروبي لمعايير الاتصالات) الذي وصف بروتوكولات اتصالات 2G.





إنه أول بروتوكول رقمي للاتصالات المتنقلة تم تحسينه للاتصال الصوتي ثنائي الاتجاه بالكامل. باختصار ، يعني الاتصال المزدوج الكامل أنه يمكن للطرفين إرسال / استقبال البيانات (أو الصوت) في وقت واحد.

يسمح بروتوكول GSM أيضًا بنقل حزم البيانات ، مثل GPRS و EDGE.



مودم SIM800 GSM:

مودم GSM هو جهاز يقبل بطاقة SIM صالحة (وحدة تعريف المشترك) ، وستعمل أي بطاقة SIM بشكل أساسي ، والتي تدعم بروتوكول GSM وباشتراك الشبكة.

إنه مثل الهاتف المحمول بدون شاشة ولوحة مفاتيح. يحتوي على أربعة دبابيس I / O حسب الطراز الذي تختاره.

اثنان لـ TX و RX (إرسال واستقبال) ، دبابيس أخرى لـ VCC و GND ، وهو أمر شائع في جميع.

يتكون أيضًا من منفذ RS232 للاتصال التسلسلي بين المودم والكمبيوتر ، ومع ذلك لن نستخدمه في هذا المشروع.

يحتوي على مقبس طاقة تيار مستمر قياسي ، يمكن تشغيله من مصادر طاقة خارجية مثل محولات الجهد.

لديها جهد تشغيل يتراوح من 5 إلى 12 فولت على مقبس تيار مستمر ، حسب الطراز. يحتوي على 3 مؤشرات LED للطاقة والحالة والشبكة.

يشير مؤشر LED للطاقة إلى وجود الطاقة ، ويشير مؤشر LED للحالة إلى ما إذا كان مودم GSM يعمل أم لا ، ويشير مؤشر LED الخاص بالشبكة إلى إنشاء شبكة المحمول.

في البداية ، يومض مؤشر LED للشبكة كل ثانية واحدة أثناء البحث عن الشبكة ، وبمجرد إنشاء شبكة الهاتف المحمول ، يومض كل 3 ثوانٍ.

تحتاج إلى الضغط على زر الطاقة لمدة 2 إلى 3 ثوانٍ لتنشيط مودم GSM ، وبمجرد الانتهاء من ذلك ، يتم توصيله بشبكة الهاتف المحمول.

للتحقق من عمل مودم GSM الخاص بك ، ما عليك سوى الاتصال بالرقم الذي أدخلت بطاقة SIM منه. يجب أن تحصل على نغمة رنين. إذا كان الأمر كذلك ، فإن الوحدة الخاصة بك تعمل بشكل جيد.

سنستخدم مودم SIM800 GSM الذي يدعم النطاق الرباعي 850/900/1800/1900 ميجاهرتز. إذا كنت تمتلك مودم SIM900 ، فلا داعي للقلق ، فالبرنامج والدائرة متوافقان في هذا المشروع.

الآن ، ربما تكون قد اكتسبت بعض الأفكار حول مودم GSM ، فلنتعلم الآن كيفية توصيله بـ arduino.

مخطط الرسم البياني:

كما يمكنك الاستدلال من الرسم التخطيطي ، فإن اتصال الدائرة سهل للغاية. تحتاج فقط إلى 3 دبابيس رأس من الذكور إلى الإناث. يعد كبل USB إلزاميًا في هذا المشروع ، حيث سنقوم بالتواصل عبر الشاشة التسلسلية.

قم دائمًا بتشغيل مودم GSM بمحول خارجي. الطاقة من arduino غير كافية لمودم GSM ، بل إنها قد تزيد من تحميل منظم الجهد في Arduino.

هذا كل شيء عن جزء الأجهزة. الآن ، دعنا ننتقل إلى الترميز.

برنامج:

//-------------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 برقم هاتفك الرقمي 10 في البرنامج. تأكد من أن لديك خطة SMS صالحة على بطاقة SIM الخاصة بك.

إذا لم تكن من الهند ، يرجى تغيير رمز البلد في البرنامج.

على سبيل المثال:

للمملكة المتحدة: +44
للولايات المتحدة: +1
بالنسبة لكندا: +1
بالنسبة لروسيا: +7

يمكنك أيضًا أتمتة الرسالة التي يرسلها مودم GSM عن طريق ترميز Arduino بشكل مناسب. يمكنك تلقي تنبيهات الرسائل الآلية على هاتفك مثل: تنبيه ضد السرقة ، إنذار الحريق ، تنبيه الطقس في منطقتك المحلية وما إلى ذلك.

يمكنك حتى الاتصال بالإنترنت باستخدام GPRS في مودم GSM ، لكنه موضوع مقال آخر.

سنتعلم في واحدة من المقالات القادمة كيفية استقبال الرسائل القصيرة باستخدام مودم GSM و Arduino

إذا كان لديك المزيد من الأسئلة بخصوص كيفية إرسال الرسائل القصيرة باستخدام مودم GSM ، فلا تتردد في طرحها في قسم التعليقات.

كيفية استقبال الرسائل القصيرة باستخدام مودم GSM

في المناقشة أعلاه تعلمنا كيفية إرسال رسالة نصية باستخدام مودم GSM وناقشنا أيضًا أساسيات مودم GSM.

سنناقش في هذا القسم كيفية تلقي الرسائل القصيرة عبر الشاشة التسلسلية لـ arduino IDE. لن نتلقى رسائل نصية قصيرة فحسب ، بل سنرسل أيضًا رسالة نصية بالضغط على مفاتيح مختلفة. للحظة ، يؤدي الضغط على 's' إلى إرسال رسالة نصية مسبقة الإدخال ، وسيتلقى الضغط على 'r' رسائل SMS في الوقت الفعلي.

هذا هو النموذج الأولي للمؤلف:

كيف تعمل

إن دائرة استقبال الرسائل القصيرة باستخدام مودن GSM بسيطة للغاية ، فأنت تحتاج فقط إلى 3 دبابيس رأس من الذكور إلى الإناث. يتم توصيل مودم TX الخاص بـ GSM بالدبوس رقم 9 من اردوينو ومودم RX الخاص بـ GSM متصل بالدبوس رقم 8 في اردوينو ويتم أيضًا توصيل اتصال الأرض بالأرض بين GSM و arduino.

استخدم دائمًا مصدر طاقة خارجيًا لمودم GSM ، ولا تقم بتوصيل 5Vcc من مودم اردوينو إلى GSM ، حيث توجد فرصة جيدة لزيادة التحميل على منظم الجهد في اردوينو.

لا تنسَ تطبيق أداة قطع أسعار الرسائل النصية القصيرة أو شيء مشابه على اشتراكك في الرسائل القصيرة لتقليل نفقات الرسائل القصيرة.

وإلا فسوف ينتهي بك الأمر إلى رصيد حساب فارغ بعد إرسال العديد من الرسائل القصيرة ، حيث لن يكون هناك أي إقرار من مزود الخدمة الخلوية بعد كل رسالة SMS مرسلة ، لأن بطاقة SIM موجودة في مودم GSM.

الإقرار الوحيد الذي تحصل عليه هو الرسائل النصية القصيرة التحذيرية ، بخصوص حسابك الفارغ ، لذا كن حذرًا بشأن نفقاتك. الآن دعنا ننتقل إلى جزء الترميز من هذا المشروع.

برنامج:

//-----------------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 ('Hello I am GSM modem !!!') // نص SMS الذي تريد إرساله

قم بتجميع البرنامج وتحميله إلى اردوينو.

أدخل بطاقة SIM وقم بتشغيل مودم GSM باستخدام مصدر طاقة خارجي واضغط على زر الطاقة لمدة 3 ثوانٍ (حسب الطراز) ، وانتظر لمدة 10 إلى 20 ثانية لإنشاء شبكة المحمول ، يجب أن يومض مؤشر LED للشبكة مرة واحدة كل 3 ثوانٍ. إذا تم تنفيذ كل شيء أعلاه ، فنحن على استعداد للذهاب للخطوة التالية.

الآن افتح الشاشة التسلسلية واضغط على 'r' يكون مودم GSM جاهزًا لتلقي الرسائل القصيرة. أرسل الآن رسالة نصية من أي هاتف محمول إلى رقم بطاقة SIM التي تم إدخالها في مودم GSM.
يجب أن تظهر الرسالة النصية على الشاشة التسلسلية ، وهو شيء مشابه لما هو موضح أدناه:

'Hello world' هي الرسالة المرسلة إلى مودم GSM ويتم أيضًا عرض الرقم الذي يتم إرسال الرسالة النصية منه.

الآن ، دعنا نرسل الرسائل القصيرة إلى الرقم الذي تم إدخاله مسبقًا في البرنامج مع الرسالة المدخلة مسبقًا. اضغط على 's' وسترى شيئًا مشابهًا موضحًا أدناه: الرسالة النصية المرسلة هي 'Hello I am GSM modem'.

الآن ، أنت تعرف كيفية الإرسال وكيفية استقبال الرسائل القصيرة باستخدام مودم GSM.




زوج من: دائرة تحكم محرك Bluetooth التالي: كيفية تصميم دائرة سخان التعريفي