Go Down

Topic: Cellular Shield SM5100B with Arduino Pro, One-Way Comms. (Read 446 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.
There are 3 kinds of people in the world. Those who are good at maths, and those who aren't.

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: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

Prawnhead

There are 3 kinds of people in the world. Those who are good at maths, and those who aren't.

Go Up