"GPS/GPRS/GSM Shield V3.0 (Arduino Compatible)" and a "Arduino Mega 2560 R3"

Hello

I have a "GPS/GPRS/GSM Shield V3.0 (Arduino Compatible)" and a "Arduino Mega 2560 R3" and would like to read GPS positions and unload via GPRS.

GPS/GPRS/GSM Shield V3.0 (Arduino Compatible)

Wiki:
http://www.dfrobot.com/wiki/index.php/GPS/GPRS/GSM_Module_V3.0_(SKU:TEL0051)#How_to_drive_the_GPS_Mode_via_USB_port

Guides are a bit sketchy (sorry for the bad pun) but do I need to do any pin redirects or change jumpers to get the mega to act line a UNO?

Does anyone have experience with this shield?

Also can I plug in say 9v into the Mega 2560 R3 power jack along with USB to send terminal commands? Will the voltage logic handle this? The shield likes a bit of power by the sounds of it?

Update: I have loaded the library ( GitHub - DFRobot/GPS-GPRS-GSM-Shield-V3.0: GPS/GPRS/GSM Shield V3.0 using SIM908 chipset. This library aims to provide usability for this chips functionality inside your sketch gps_gsm_sim908.h ) into the arduino and uploaded the gps serial sketch to the arduino mega. I have the Uart set to "GPS", S1 set to Comm, S2 set to USB

I get the following code back via serial port


waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
read 1 character
GPGGA ID is error!
$GPGGA data:
ÿ¨u%Õÿ
¨
ªU{+CGPSRST=1
can't fix! please go outside!
gps_gga_utc_hh ()
230
gps_gga_utc_mm ()
191
gps_gga_utc_ss ()
138
gps_gga_NS ()
?
gps_gga_EW ()
?
gps_gga_lat ()
0.000000
gps_gga_long ()
0.000000
gps_gga_HDOP ()
0.000000
gps_gga_MSL ()
0.000000

restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
read 1 character
GPGGA ID is error!
$GPGGA data:
þ¨u%Õÿ
¨
ªU{+CGPSRST=1
can't fix! please go outside!
gps_gga_utc_hh ()
230
gps_gga_utc_mm ()
191
gps_gga_utc_ss ()
138
gps_gga_NS ()
?
gps_gga_EW ()
?
gps_gga_lat ()
0.000000
gps_gga_long ()
0.000000
gps_gga_HDOP ()
0.000000
gps_gga_MSL ()
0.000000

restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
restart GPS......


Do i need to swap jumpers or redirect pins?

Still no idea why this won't work.

I have tried multiple combinations of jumpers, switches, power and positions in my yard.

ÿstart GPS!
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1
$GPGGA statement information:
restart GPS......
waiting for GPS!
Send AT
Send AT+CGPSPWR=1
Send AT+CGPSRST=1

I might be on the right path as I have redirected pings 3/5/6 to 11/12/13 and can send an SMS with the following code.


// Product name: GPS/GPRS/GSM Module V3.0
// # Product SKU : TEL0051
// # Version : 0.1

// # Description:
// # The sketch for driving the gsm mode via the Arduino board

// # Steps:
// # 1. Turn the S1 switch to the Prog(right side)
// # 2. Turn the S2 switch to the Arduino side(left side)
// # 3. Set the UART select switch to middle one.
// # 4. Upload the sketch to the Arduino board
// # 5. Turn the S1 switch to the comm(left side)
// # 6. Plug the jumper caps back to GSM side
// # 7. RST the board

// # wiki link- GPS_GPRS_GSM_Module_V3.0__SKU_TEL0051_-DFRobot

// byte gsmDriverPin[3] = {3,4,5};//The default digital driver pins for the GSM and GPS mode
byte gsmDriverPin[3] = {11,12,13};//The default digital driver pins for the GSM and GPS mode

//If you want to change the digital driver pins
//or you have a conflict with D3~D5 on Arduino board,
//you can remove the J10~J12 jumpers to reconnect other driver pins for the module!
void setup()
{
//Init the driver pins for GSM function
for(int i = 0 ; i < 3; i++){
pinMode(gsmDriverPin*,OUTPUT);*

  • }*

  • //digitalWrite(5,HIGH);//Output GSM Timing Invalid pin for Mega Arduino*

  • digitalWrite(13,HIGH);//Output GSM Timing REDIRECTED MEGA PIN*

  • delay(1500);*

  • //digitalWrite(5,LOW); Invalid pin for Mega Arduino*

  • digitalWrite(13,LOW); //REDIRECTED MEGA PIN*

  • //digitalWrite(3,LOW);//Enable the GSM mode Invalid pin for Mega Arduino*

  • digitalWrite(11,LOW);//Enable the GSM mode REDIRECTED MEGA PIN*

  • //digitalWrite(4,HIGH);//Disable the GPS mode Invalid pin for Mega Arduino*

  • digitalWrite(12,HIGH);//Disable the GPS mode REDIRECTED MEGA PIN*

  • delay(2000);*

  • Serial.begin(9600); //set the baud rate*

  • delay(2000);//call ready*

  • delay(2000);*

  • delay(2000);*
    }

void loop()
*{ *

  • Serial.println("AT"); //Send AT command *

  • delay(2000);*

  • Serial.println("AT"); *

  • delay(2000);*

  • //Send message*

  • Serial.println("AT+CMGF=1");*

  • delay(1000);*

  • //Serial.println("AT+CMGS="15800449871"");//Change the receiver phone number*
    Serial.println("AT+CMGS="0419276168"");//Change the receiver phone number

  • delay(1000);*

  • Serial.print("HELLO");//the message you want to send*

  • delay(1000);*

  • Serial.write(26);*

  • while(1);*
    }
    -----------------------------------------
    Now for GPS code via redirect pins?

You are really trying to run before you can walk !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

You obviously have no idea about GPS and GSM protocols, your comments on GPS had GSM replies..

My advice put hardware in cupboard, read up on the difference between GPS.. GSM then learn to pogram !!!!

?Next year... try and get GPS working with something sensible like tinygps+ library..

are you trying this indoors?