TELIT GM862 Serial Comm problems

Hi Guys,

First of all please be gentle with me. These are still early days for me!

I've got a Telit GM862 Quad, but with no GPS or GPRS. Initially I'm trying to send an SMS using the arduino. I've bought a serial version of the arduino so I don't have to worry about logic level translation or FTDI driver, serial to usb conversion etc.

The telit has logic level translation using MAXIM 3232.

If I send the appropriate AT commands using hyperterminal SMS is sent.

If I view the output from the serial arduino I see the appropriate commands to send an SMS. (If I cut and paste the commands driven by the arduino into hyperterminal to Telit an SMS is sent.)

If I connect the arduino to the Telit device the LED on the arduino blinks and nothing else happens. (I'm assuming the arduino is "hanging" until some precondition is met.)

I have tried :-

  1. extending delays between AT commands being sent to 1 second.
  2. turning off echo (using ATE0)
  3. Alternating flow control settings (AT&Kn)

Code is here-

//Serial comms to Telit GM862

Void setup(void) {
  
  Serial.begin(9600);
  Serial.print("AT\r\n");
  delay(1000);
  Serial.print("AT+IPR=9600\r\n");
  delay(1000);
  Serial.print("AT+CMGF=1\r\n");
  delay(1000);
  Serial.print("AT+CMGS=");
  delay(1000);
  // Replace with a valid phone number
  Serial.print("+44***********\r\n");
  delay(1000);
  Serial.print("Hello from Arduino.");
  delay(1000);
  // End the SMS with a control-z
  Serial.print(0x1A,BYTE);
}

void loop() {
}

If anyone has any suggestions it would be greatly appreciated.

Thanks - Tim

Hi All, Managed to resolve the issue by making up a new comms lead with RX TX and Grd only. Only found the problem whilst scoping the RX serial lines and noticed the problem with the existing lead - a bit confusing as the old lead still works for hyperterminal connection and for uploading code to the arduino.

Anyway - I hope this information may prove useful to someone else in future - I've already started getting text with temperature info for my office at work - great stuff!!!!!

Tim

Hi Tim.

Just looking through your code as I'm looking to do something similar....

You might want to refine the code using a while statement rather than using 1 second delays as sometimes gsm modules could get stuck and that will hang the system...

I believe there is a string handler header thatg can be added to the code, which will allow for checking a string to see if it contains a combination of chars...

So you would basically need something like

while buffer does not contain "OK"
do
buffer=buffer + serial response
end while

Please note that the above is not arduino code, just logic to look for an okay response in the serial receive buffer.

Until matched, it will loop (ie delay until okay.)

You could also embed a timeout within the while loop so if an okay hasn't been received within a certain time (say 5 seconds) you can assume the gsm module has frozen and possibly get the arduino to send a reset/clear signal.

Just a thought :wink:

You could also embed a timeout within the while loop so if an okay hasn't been received within a certain time (say 5 seconds) you can assume the gsm module has frozen and possibly get the arduino to send a reset/clear signal.

One thing you'll want to keep in mind is that some of the AT commands have different timeout lengths. The datasheet shows each command with maximum timeout (some are 30 seconds).

Hi all,

I have purchased the GM862 USB evaluation board from Sparkfun. I have successfully got it to work with the PC's hyperterminal, i.e. I can send and receive SMS. However, the eventual goal for me is to connect the board to Arduino MEGA and communicating with GM862. I read in the manual that in order to allow external communication the USB FTDI chip need to isolated from the evaluation board, via desoldering jumpers RX, TX, RTS, CTS. I was just wondering if anyone has done this, if so maybe someone can post a picture as to exactly where these jumpers are located. Also any comments interfacing the USB evaluation board for GM862 and Arduino MEGA would be greatly appreciated.

Hi,
Ther is a problem when you connect directly to RX&TX port from GM862 to the Arduino Board, you should use a virtual serial port

Hi,

I found a shield that uses a virtual serial port to communicate to the modem. I think the store is from Chile.

here is a link http://www.olimex.cl/product_info.php?products_id=733