arduino GPS - get status GPS.

arduino GPS - get status GPS. - Divers - Programmation

Marsh Posté le 12-03-2016 à 15:46:54    

hello,
je sais pas si certains ici font un peu d'arduino, mais j'aurais bien besoin d'un coup de main.
 
je ne sais pas comment faire pour recupérer une chaine de caractère suivante à une commande AT
 
en gros je pousse sur serial  
AT+CGNSINF qui renvoi
 
 
CGNSINF+: 1,1 , x, x,x xx, x,
ou
CGNSINF+: 1,0 ......
 
impossible d'arriver à choper cette chaine en sérial .
 
si qqun pouvait m'aider c'est sureemnt pas compliqué mais la je but.
 
 
mon code
 
int8_t gps_status () {
  String replybuffer = "";
  uint8_t answer = 0;
 
  //sendATcommand("AT+CGNSINF", "OK", 2000);
  replybuffer = sendData("AT+CGNSINF", 2000, false);
  //Serial.print("AT+CGNSTST=1" );
 
 if (replybuffer.startsWith("+CGNSINF: 1,1" ) )
  {
    answer = 1;
    //Serial.println(replybuffer );
  }
  else {
    answer = 0;
  }
}
 
ma function senddata
 
String sendData(String command, const int timeout, boolean debug)
{
 
    String response = "";
    Serial.println(command);
    long int time = millis();
    while( (time+timeout) > millis())
    {
      //while (Serial.available() > 0) Serial.read()
      while(Serial.available() > 0)
      {
        char c = Serial.read();
        response+=c;
      }
    }
    if(debug)
    {
      //Serial.print("debug: " );
      Serial.println(response);
    }
    return response;
}
 
 
parfois ca marche d'autre fois pas
 
j'ai regardé le code adafruit, mais c'est tellement package dans leur lib que c'est inutilisable en dehors
merci de votre retour.  
 

Reply

Marsh Posté le 12-03-2016 à 15:46:54   

Reply

Marsh Posté le 12-03-2016 à 18:20:55    

didlawowo a écrit :


CGNSINF+: 1,1 , x, x,x xx, x,
[...]
if (replybuffer.startsWith("+CGNSINF: 1,1" ) )


Tu vois la différence?

Reply

Marsh Posté le 12-03-2016 à 18:27:19    

rat de combat a écrit :


Tu vois la différence?


J'ai mal copier le souci ne vient pas de la enfait mais plutôt de la lecture en port série je pense


Message édité par didlawowo le 12-03-2016 à 18:32:43
Reply

Marsh Posté le 12-03-2016 à 19:05:03    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed