2016-04-08 27 views
1

Ben arduino ve gsm modülü sim900 var, ben mesaj aldığımda olsun istiyorum. Bunu nasıl yapabilirim C++ dilinde komut veya işlev var. teşekkürlerarduino ve gsm modülü sim900 nasıl telefon numarası alabilirim?

SoftwareSerial SIM900(7, 8); 

void setup() 
{ 

SIM900.begin(19200); // for GSM shield 
SIM900power(); // turn on shield 
delay(10000); // give time to log on to network. 

SIM900.print("AT+CMGF=1\r"); // set SMS mode to text 
delay(100); 
SIM900.print("AT+CNMI=2,2,0,0,0\r"); 
// blurt out contents of new SMS upon receipt to the GSM shield's serial out 
delay(100); 
} 

void SIM900power() 
// software equivalent of pressing the GSM shield "power" button 
{ 
digitalWrite(9, HIGH); 
delay(1000); 
digitalWrite(9, LOW); 
delay(7000); 
} 

void loop() 
{ 

if (SIM900.available() > 0) // if there's Message 
    { 
    inchar = SIM900.read(); //Get the character from the cellular serial port. 
    // command or function for get the phone number from message 
    } 
} 

cevap

0

USB seri portuna giriş ve çıkış boru, örneğin modem ile doğrudan oynamayı deneyin, o zaman netleşecek. Yeni bir ileti olduğunda

Şey vardır, bu gibi bakarak modem bazı bayt alacak:

+CMTI: "SM",4 

... 4 kimliktir. İlk SM okumak için modemi anlatmak gerekebilir, son bölüm başarısız olursa

+CMGR: "REC UNREAD","+123456789",,"15/04/22,13:22:11+32" 
Yay, a nice text message! 

OK 

: Daha sonra (önceki Kimlik olmak 4) modeme AT+CMGR=4 gönderebileceği ve bunun gibi bir yanıt alırsınız AT+CPMS="SM" kullanarak mesaj yazın.

Daha fazla bilgi için, bkz. http://www.developershome.com/sms/cmgrCommand2.asp