Прошу совет по GSM

Андрей
Offline
Зарегистрирован: 20.09.2013

Добрый день,

Пробую принимать и посылать SMS с помощью http://www.aliexpress.com/snapshot/6741136656.html. Код беру из GSM примеров к Arduino 1.0.5-r2. SMS отправляются нормально, голосовые звонки принимаются, НО ПРИНЯТЬ SMS не удаётся :(  Подскажите в каком направлении копать?

/*

 SMS receiver
 
 This sketch, for the Arduino GSM shield, waits for a SMS message 
 and displays it through the Serial port. 
 
 Circuit:
 * GSM shield attached to and Arduino
 * SIM card that can receive SMS messages
 
 created 25 Feb 2012
 by Javier Zorzano / TD
 
 This example is in the public domain.
 
 
*/
 
// include the GSM library
#include <GSM.h>
 
// PIN Number for the SIM
#define PINNUMBER ""
 
// initialize the library instances
GSM gsmAccess;
GSM_SMS sms;
 
// Array to hold the number a SMS is retreived from
char senderNumber[20];  
 int i =0;
void setup() 
{
 
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  } 
 
  Serial.println("SMS Messages Receiver");
    
  // connection state
  boolean notConnected = true;
  
  // Start GSM connection
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }
  
  Serial.println("GSM initialized");
  Serial.println("Waiting for messages");
}
 
void loop() 
{
  
  char c;
  Serial.println(i);
  // If there are any SMSs available()  
  if (sms.available())
 
  {
    Serial.println("Message received from:");
    
    // Get remote number
    sms.remoteNumber(senderNumber, 20);
    Serial.println(senderNumber);
 
    // An example of message disposal    
    // Any messages starting with # should be discarded
    if(sms.peek()=='#')
    {
      Serial.println("Discarded SMS");
      sms.flush();
    }
    
    // Read message bytes and print them
    while(c=sms.read())
      Serial.print(c);
      
    Serial.println("\nEND OF MESSAGE");
    
    // Delete message from modem memory
    sms.flush();
    Serial.println("MESSAGE DELETED");
  }
 i++;
  delay(1000);
 
}
 
bwn
Offline
Зарегистрирован: 25.08.2014

Начните копать отсюда , там еще есть галочка "сворачивать"

Андрей
Offline
Зарегистрирован: 20.09.2013

Спасибо за совет по оформлению :)

По существу:

у меня в коде SMS Sender sms.available() всегда false. Судя по всему GSM shield не принимает SMS, так как после установки SIM в телефон SMS-ки высыпаются кучей. Может быть какие-нибудь настойки  GSM shield разрешают отправлять, но запрещают принимать SMS?

Заранее спасибо за помощь.

Андрей
Offline
Зарегистрирован: 20.09.2013

Ура! Заработало! Помогла "прочистка" SIM от старых SMS.