الخميس، 14 مايو، 2015

GSM SIM900 EFCOM Pro

EFCOM Pro V1.0 GSM SIM900




في بعض التطبيقات العملية نحتاج احياناً للتواصل مع الهواتف الخلوية , بغرض ارسال رسائل او استقبالها و حتى اجراء مكالمات او استقبالها .

تعتبر القطعه SIM900 نظام متكامل و فعّال للاتصالات الخلوية رباعية التردد (850 - 900 - 1800 - 1900 ميجا هيرتز ) قادرة على التعامل مع شرائح الهاتف النقّال  ارسال و استقبال المكالمات و الرسائل النصية بالأضافة لاحتوائها مزايا اخرى مثل امكانية الوصول للانترنت عبرها , دعمها لخدمة التموضع العالمي GPRS . 

نستطيع بواسطة هذه القطعه ارسال و استقبال المكالمات و الرسائل النصية و التحكم بهذه العمليات بواسطة الأردوينو .



سنحتاج في هذه التجربة إلى :
1) بطاقة أردوينو .
2)EFCOM Pro GSM SIM900
3) اسلاك توصيل 
4)لوحة توصيل صغيرة breadboard
5) زمور او ضوء صغير LED Or Buzzer
6) مقاومة 50 - 100 أوم . 
7) شريحة هاتف SIM Card
8)مصدر تغذية لا يقل عن 5 فولت - 1 أمبير 



مكونات دارة ال GSM  كالأتي :

من المهم استخدام شريحة هاتف فعّالة و غير مغلقة Locked و ان تحتوي على رصيد كافي " في حال اردت الأتصال او ارسال رسائل نصية " و ان تكون في مكان توجد به تغطية لشبكة الهاتف.


تحتوي هذه اللوحة على زرين على الجانب الأيمن , وضيفتهما هو وضع ال SIM900 في وضع اعادة التشغيل و بدء الأتصال بالشبكة .


على الجهة اليسرى من الصورة هناك 3 أضوية LED :
1) PWR LED : يدل على تغذية اللوحة بالفولتية و بدء تشغيلها .
2)NET LED : هذا الضوء في حال كان يعطي ترميشاً Blink سريعاً فهذا يعني انه لم يربط القطعه مع شبكة الهاتف , اذا تم الربط مع الشبكة بشكل صحيح فسوف يعطي ترميشاً بطيئاً .
3) STA LED:هذا يعطي مؤشراً على بدء الأتصال مع الشبكة في محاولة للاتصال بها .



يجب تغذية هذه اللوحة بمصدر جهد كافي لا يزيد جهده عن 5 فولت و لا يقل تياره عن 1 أمبير لان SIM900 تسحب تياراً عالياً في وضعيه التشغيل . 



التوصيل




او مع توصيل الزمور لأول تجربة :





سأقوم بتنفيذ تجربة ارسال و استقبال للمكالمات و معرفة اذا ما كان هنالك اتصال ورد او ان ال SIM900 يقوم باجراء مكالمة .
قم بتغيير رقم الهاتف في المثال بالرقم الذي يناسبك .

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

البرنامج
/*
SIM900A breakout
send and receive calling 
code written by : Mohannad Rawashdeh
http://www.genotronex.com

*/
#include <SoftwareSerial.h>
#include "SIM900.h"
#include "sms.h"
#include "call.h"
CallGSM call;
SMSGSM sms;
const int buzzer = 12 ;
boolean BuzzerStatus = false ; 
byte CheckCallStatus;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(38400);
  pinMode(buzzer,OUTPUT);
  Serial.println("Mohannad Rawashdeh,GSM Shield Starting ...");
    //Start configuration of shield with baudrate.
  //For http uses is raccomanded to use 4800 or slower.
  if (gsm.begin(19200)){ Serial.println("Ready to use ");}
  else{ Serial.println("Failed to initilaize ! " ); }
}

void check(){
  Serial.print("CheckCallStatus is : ");
  switch(CheckCallStatus){
  case 0: Serial.println("no call untill Now");BuzzerStatus = false ; break;
  case 1: Serial.println("Voice call Incoming");BuzzerStatus=!BuzzerStatus;break;
  case 2: Serial.println("Active Voice call ");break;
  }
}
void loop() {
CheckCallStatus=call.CallStatus();check();
digitalWrite(buzzer,BuzzerStatus);
if (Serial.read() =='a'){
 delay(1000);
call.Call("xxxxxxxxx"); //Put Your number here
 CheckCallStatus=call.CallStatus();check();
delay(20000);// wait to make a Call !
call.HangUp();// Interrupt the calling , finish it .
  // put your main code here, to run repeatedly: 
}
delay(1000);

  // put your main code here, to run repeatedly:  
}




و هذا الفيديو يوضح تشغيل البرنامج عملياً 




أرسال رسالة نصية : 

بنفس التوصيل في هذا البرنامج يمكننا ارسال رسالة نصية لرقم معين 

البرنامج :


/*
SIM900A breakout
//Simple sketch to send and receive SMS.
code written by : Mohannad Rawashdeh
http://www.genotronex.com

*/
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
SMSGSM sms;
int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];

void setup() 
{
  //Serial connection.
  Serial.begin(38400);
  Serial.println("GSM Shield testing.");
  //Start configuration of shield with baudrate.
  //For http uses is raccomanded to use 4800 or slower.
  if (gsm.begin(19200)){
    Serial.println("\nstatus=READY");
    started=true;  
  }
  else Serial.println("\nstatus=IDLE");
  
  if(started){
 // put your number here and the text you want
     if (sms.SendSMS("xxxxxxxx", "Arduino SMS Sent Hello World ! :)")){
      Serial.println("\nSMS sent OK");
     }
  }
}

void loop() 
{
  
}





و هذا الفيديو يوضح تشغيل البرنامج عملياً 



لاستقبال الرسائل و تحليلها سأقوم بعرضها في تطبيقات عمليه قريباً
تحياتي

:

11 التعليقات :

  1. السلام عليكم ورحمة الله وبركاته
    ياأخي انا معي كرت sim900Aهل استخدم نفس البرنامج ومخطط التوصيل أو يختلف والله يدومك لأبناء العرب والمسلمين وعلى معلوماتك الوفيرة في هذا المجال

    ردحذف
  2. ياأخي انا معي كرت sim900A MINI V3.8.2 2014.10
    أريد مساعدتي في مشروع تخرجي وهو
    عبارة عن جهاز إندارلتحكم عن بعد عند دخول شخص من الباب تأتيني رسالة عبر الهاتف وإيقاف الاندارعبر رسالة نصية أخرى
    وجزاك الله خيرا
    بستخدام
    Arduino uno + sim900A MINI V3.8.2 2014.10

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

      حذف
  3. السلام عليكم ,اخي بتطلع لي الرسالة على المونتر بتاع الاردوينو
    GSM Shield testing.
    ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp

    status=IDLE

    ردحذف
    الردود
    1. يعني لم يتصل الGSM مع الشبكة بشكل صحيح .
      تأكد من ال SIM و لقوة الأشارة الخاصة بشبكة الجوال

      حذف
  4. Can you please send me the code and connections in English please to mdibi.lusanda@gmail.com. Thanks

    ردحذف
  5. شكرا جزيلا ل علمهم.
    لدي مشاكل جي إس إم A900
    و بشكل لا يصدق هذه المادة تساعد كثيرا لي . أنا أستخدم SIM900 GSM / جي بي آر إس درع V1.2 EFCOM
    و كان لي مشاكل في العبور .
    هل يمكنك مساعدتي ؟

    ردحذف
  6. هل ممكن الطريقه الصحيحه لكتابة رقم الهاتف المرسل اليه الرساله
    و ليه لما بجرب اتصل بالشريحه بيديني غير متاح رغم انه متصل عالشبكه و مستني مكالمه

    ردحذف
  7. السلام عليكم لو سمحت اذا اردت ارسال متغير من خلال رسالة نصية مثلا قراءة gps فما هو الكود الذي اكتبه بدلا من هذا if (sms.SendSMS("xxxxxxxx", "Arduino SMS Sent Hello World ! :)
    ارجو الرد

    ردحذف
  8. السلام عليكم اخي هل ينطبق على الكارت GSMGPRS Shield ICOMSAT 1.1

    ردحذف

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.