General

[SKU:TEL0051][V3][Arduino Mega] Don't know how to connect from arduino

userHead Account cancelled 2017-09-19 23:21:27 3799 Views1 Replies
Hello,

I'm trying to use the GPS/GPRS/GSM Shield v3 for sending an HTTP and after a lot of reading and tests I don't know where to go. Let me explain step by step.

First problems I had to solve where the autobaud (don't ask me why) solved following the steps of a blog post from raviyp [1] , the external power suply, and then when the module starts correct and I could connect with a serial console the SIM card was not compatible. At this moment those problems are solved.

Ok, at this moment If I load into the arduino mega the next code:
Code: Select all
void setup() {
  //Init the driver pins for GSM function
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  //Output GSM Timing
  digitalWrite(5, HIGH);
  delay(1500);
  digitalWrite(5, LOW);
}

void loop() {
  digitalWrite(3, HIGH); //disable GSM TX、RX
  digitalWrite(4, HIGH); //disable GPS TX、RX
}
After set the switchs S2:Arduino, S1:Prog and Uart Select:GSM and Power off/Reset, I can connect using ColltermWin to the port and send AT Commands (Send SMS, Connect APN and query HTTP, etc.) perfectly.

The problem comes when I try to do those kind of things with Arduino. For example this code (taken from the geolocator example into the github [2]):
Code: Select all
void setup() {
  //Init the driver pins for GSM function
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  //Output GSM Timing
  digitalWrite(5, HIGH);
  delay(1500);
  digitalWrite(5, LOW);

  Serial.begin(115200);
  while(!Serial);
  
  Serial.println("Begin app");
  
  // Use these commands instead of the hardware switch 'UART select' in order to enable each mode
  // If you want to use both GMS and GPS. enable the required one in your code and disable the other one for each access.
  digitalWrite(3,LOW);//enable GSM TX、RX
  digitalWrite(4,HIGH);//disable GPS TX、RX
    
  delay(20000);
    
  start_GSM();
  send_GPRS();
}

 void start_GSM(){
     //Configuracion GPRS Claro Argentina
    Serial.println("AT");
    delay(2000);
    Serial.println("AT+CREG?");
    delay(2000);
    Serial.println("AT+SAPBR=3,1,\"APN\",\"EM\"");
    delay(2000);
    Serial.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\"");
    delay(2000);
    Serial.println("AT+SAPBR=1,1");
    delay(10000);

    Serial.println("AT+HTTPINIT");
    delay(2000);
    Serial.println("AT+HTTPPARA=\"CID\",1");
    delay(2000);
 }

 void send_GPRS(){        
          Serial.print("AT+HTTPPARA=\"URL\",\"www.google.com\"");
          delay(2000);
          Serial.println("AT+HTTPACTION=0"); //now GET action
          delay(2000);
 } 

void loop() {
   delay(30000);
   Serial.println("AT");
}
Loaded fine with the switchs S1:Arduino/S2:Prog, change the S2 to Comm and reset. I can see into the Arduino Serial Monitor how the commands are printed into the Serial but the module does not gives any kind of answer.

The led lights (Pwr, stat and net) are ok. What am I doing wrong?

I try with tinyGSM library and doesn't work the debug apps either.

Thanks in advance for your help.

[1] http://www.raviyp.com/embedded/183-sim9 ... d-solution
[2] https://github.com/DFRobot/GPS-GPRS-GSM ... RS_GPS.ino
2017-12-15 17:01:56 In the Github read me file, the server and php are needed to built up, have you check about the server part first. userHeadPic robert.chen