Go Down

Topic: Cellular Shield SM5100B with Arduino Pro, One-Way Comms. (Read 617 times) previous topic - next topic

prawnhead

I'm stuck. The threads I've read haven't helped with my particular issue. So here goes, any help appreciated ...

I have my DFRobot Mega connected to the Sparkfun Cellular Shield http://www.sparkfun.com/products/9533 as per the Tronixstuff tutorial http://tronixstuff.wordpress.com/tag/sm5100b/ and am running a simple passthrough sketch.

Code: [Select]
char character = 0;

void setup()
{
  Serial.begin(115200);
  Serial1.begin(115200);
 
  Serial.println("setup()");
}

void loop()
{
  while(Serial.available())
  {
    character = Serial.read();
    Serial1.print(character);
  }
  while(Serial1.available())
  {
    character = Serial1.read();
    Serial.print(character);
  }
}


When I run in a terminal app to be interactive with the cellular shield I get one-way communications only. Everything comes out ok:

Code: [Select]
setup()
~<0><0><0><0><0þ~~<0><0><0><0><0þ~~<0><0><0><0><0þ~~<0><0><0><0><0þ~
+SIND: 1

+SIND: 10,"SM",1,"FD",1,"LD",1,"MC",1,"RC",1,"ME",1

+SIND: 3

+SIND: 4

+SIND: 8


But when I attempt to send commands to the device, there's no response. So putting AT on the send line in Terminal v1.9b and hitting -> Send gets me nothing. Any other command I try likewise brings no response.

The code is simple. I think the passthrough function is working in both directions. I've checked my wiring and replaced the jumpers. Still nothing. I've added a 2A capable supply as per Tronixstuff's "ignore this at your peril" advice, still nada. The SIM has been tested in two phones and works. The antenna is attached. What am I missing?

Oh. And thank you! Chris.

johnwasser

Is the shield in "Command Mode"?  You might have to get into command mode by sending "+++" with no characters before or after for at least a second.  That means you have to set the Serial Monitor line ending to "None" temporarily so it doesn't send a Newline or Return at the end of the line.  You should get a prompt back like "OK".

If you are using a terminal emulator that won't let you suppress the line ending you can write the code into your setup():

Code: [Select]

delay(1200);
Serial1.print("+++");
delay(1200);
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp


Go Up