Show Posts
Pages: [1] 2 3
1  International / Français / Re: Sketch qui "plante" à l'ajout d'une fonction on: April 07, 2013, 11:44:53 am
La fonction qui fait "planter" le sketch lorsque je la rajoute :

Code:
void SubmitHttpRequest(float lat, float lon)
{
  char adresse[150];
  long lat2, lon2;
  lat2=lat*10000;
  lon2=lon*10000;
  mySerial.println("AT+CSQ");
  delay(100);
  mySerial.println("AT+CGATT?");
  delay(100);
  mySerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
  delay(1000);
  mySerial.println("AT+SAPBR=3,1,\"APN\",\"FREE\"");//setting the APN, the second need you fill in your local apn server
  delay(4000);
  mySerial.println("AT+SAPBR=1,1");//setting the SAPBR, for detail you can refer to the AT command mamual
  delay(2000);
  mySerial.println("AT+HTTPINIT"); //init the HTTP request
  delay(2000);
 sprintf(adresse,"AT+HTTPPARA=\"URL\",\"ADRESSE DU SITE");
  mySerial.println(adresse);// setting the httppara, the second parameter is the website you want to access*/
  delay(1000);
  mySerial.println("AT+HTTPACTION=0");//submit the request
  delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer.
  mySerial.println("AT+HTTPREAD");// read the data from the website you access
  delay(300);
  mySerial.println("");
  delay(100);
}
2  International / Français / Sketch qui "plante" à l'ajout d'une fonction on: April 07, 2013, 10:57:28 am
Bonjour,

Je réalise un projet dans lequel je dois faire fonctionner un shield GPRS et un shield GPS avec un Arduino Uno.
J'ai un code qui fonctionne parfaitement.

Je souhaite ajouter une fonctionnalité, pour cela je commence par ajouter une fonction.
Et sans même appeler cette fonction mon sketch ne marche plus, il affiche n'importe quoi sur le serial.
J'ai essayé FreeMemory pour voir si j'avais un dépassement de mémoire.
Ce n'est pas le cas.

Je ne vois pas quel peut être le problème.

Merci de votre aide
3  Using Arduino / Networking, Protocols, and Devices / Re: Use of GPS and GPRS together on: March 16, 2013, 01:25:32 pm
But in my case, if I understand, I have two hardware serial port (GPS and GPRS) ?
4  Using Arduino / Networking, Protocols, and Devices / Re: Use of GSM and GPRS together on: March 16, 2013, 02:31:38 am
I think I found the problem, which is not my code.

I understand that you can't "listen" (read) two serial port in the same time with an Arduino Uno.

So I follow the example of this page.

It works, however I think I can't use GoGprs library.
5  Using Arduino / Networking, Protocols, and Devices / Use of GPS and GPRS together on: March 15, 2013, 08:33:37 am
Hi,

I have two "shield" Arduino : GPRS (of Seedstudio) and GPS (Parallax).
I'd like to use these two shield in the same time on an Arduino Uno.
That I want to do : If I send a SMS with "gps" as content, the Arduino send me a SMS with the Latitude and Longitude.

Separately GPS and GPRS works.
But when I want to use both together, it doesn't work.  smiley-confuse
I try wih many libraries : TinyGPS, gsm-shield-studio, goGPRS and also without libraries.

Do you think Arduino Uno as enough RAM for this project ?

If yes, do you know what is the problem ?



6  International / Français / Incohérences on: March 13, 2013, 06:02:55 am
Bonjour,

Je souhaite creer un programme qui lorsqu'on lui envoie un SMS (par exemple "g"), ça renvoie la position GPS.

J'arrive, séparément,  à récupérer les positions GPS et répondre à un SMS.
Mais dès qu'il s'agit de "mélanger" les 2, plus rien ne fonctionne, et le problème n'est jamais identique....

Mon code qui ne fonctionne pas :
Code:
//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs
 
#include "SIM900.h"
#include "sms.h"
#include "SoftwareSerial.h"
#include "TinyGPS.h"

SMSGSM sms;
 TinyGPS gps;
SoftwareSerial nss(6, 9);            // Yellow wire to pin 6
boolean started=false;
char smsbuffer[160];
char n[20];
float lat=0,lon=0;
char message[100];
 
void setup()
{
  nss.begin(4800); // baud rate GP
  //Serial connection.
  Serial.begin(115200);
  Serial.println("GSM Shield testing.");
  //Start configuration of shield with baudrate.
  if (gsm.begin(19200)){
    Serial.println("\nstatus=READY");
    started=true;
  }
  else Serial.println("\nstatus=IDLE");
  delay(4000);
  if(started)
  {
    delsms();
    //Enable this two lines if you want to send an SMS.
    if (sms.SendSMS("************", "Arduino correctement initialise !"))
      Serial.println("\nSMS envoye");
  }
   //
}

 
 // Get and process GPS data
void gpsdump(TinyGPS &gps, float* lat, float * lon) {
  float flat, flon;
  unsigned long age;
  gps.f_get_position(&flat, &flon, &age); // fonction prédéfinie qui récupère les données GPS
  Serial.print(flat, 4); Serial.print(", "); // affiche latitude
  Serial.println(flon, 4); // affiche longitude
  *lat=flat;
  *lon=flon;
}

// Feed data as it becomes available
bool feedgps() {   // vérifie que le système est disponible
  while (nss.available()) {
    if (gps.encode(nss.read()))
      return true;
  }
  return false;
}
 
 
 
void loop()
{
          unsigned long start = millis();
char SerialInByte;
        bool newdata = false;
  int pos=0;
  //Serial.println("Loop");
  if(started){
    pos=sms.IsSMSPresent(SMS_ALL);
    if(pos){
      Serial.println("IsSMSPresent at pos ");
      Serial.println(pos);
      sms.GetSMS(pos,n,smsbuffer,100);
        Serial.println(n);
        Serial.println(smsbuffer);
        if(!strcmp(smsbuffer,"R")){
                if(sms.SendSMS(n, "SMS recu par Arduino")==1) Serial.println("Message envoye");
                else Serial.println("Erreur : message pas envoye.");
                 while (millis() - start < 5000)
                {  // Update toutes les 5 secondes
                  if (feedgps())     //  verifie que le système est disponible
                  newdata = true;  //booleen indiquant que la donnée existe
                }
                if (newdata)
                {    // si la donnée existe, on récupère les coordonnées et on les affiche
                    gpsdump(gps,&lat,&lon);
                   sprintf(message,"La lattitude est %d.%d, la longitude est %d.%d.",(int)lat,(int)((lat-(int)lat)*10000),(int)lon,(int)((lon-(int)lon)*10000));
                }
        }
      else    
      {
                if(sms.SendSMS(n, "Ce code ne correspond a rien.")==1) Serial.println("Message envoye");
                else Serial.println("Erreur : message pas envoye.");
      }
        
        delsms();
        

    }
  }
};

void delsms(){
  Serial.println("delsms");
  for (int i=0; i<10; i++){  //do it max 10 times
      int pos=sms.IsSMSPresent(SMS_ALL);
      if (pos!=0){
        Serial.print("\nFind SMS at the pos ");
        Serial.println(pos);
        if (sms.DeleteSMS(pos)==1){  
          Serial.print("\nDeleted SMS at the pos ");
          Serial.println(pos);    
        }
        else
        {
          Serial.print("\nCant del SMS at the pos ");
          Serial.println(pos);        
        }
      }
    }
 
}

(1) Ce code affiche dans la console :
Voir PJ1.

(2) Si j'enlève ça :
Code:
                while (millis() - start < 5000)
                {  // Update toutes les 5 secondes
                  if (feedgps())     //  verifie que le système est disponible
                  newdata = true;  //booleen indiquant que la donnée existe
                }
                if (newdata)
                {    // si la donnée existe, on récupère les coordonnées et on les affiche
                    gpsdump(gps,&lat,&lon);
                   sprintf(message,"La lattitude est %d.%d, la longitude est %d.%d.",(int)lat,(int)((lat-(int)lat)*10000),(int)lon,(int)((lon-(int)lon)*10000));
                }
Le serial me dit que le SMS est envoyé mais je ne le reçois pas.

(3) Si en plus j'enlève les 2 sous programmes du GPS. Là je reçois le SMS, de plus je peux lui envoyer des SMS et il me répond.
Ce qui n'est absolument pas logique, car à ce moment là les 2 sous programmes ne sont plus appelés, car j'ai enlevé la partie (2).


Je n'y comprend rien, je n'arrive à isoler le problème.

Si vous pouviez m'éclairer pour y voir plus clair.

Merci
7  International / Français / Librairie GoGprs on: March 11, 2013, 04:39:23 pm
Bonsoir,

Je souhaite utiliser la librairie GoGprs avec mon shield Gprs V1.4 acheté chez Seedstudio.
Cette librairie est simple à utiliser.

Mais elle ne fonctionne, la fonction isready() dit que c'est OK.
Mais iscallready() ne passe pas, "Not registered on network".
Le débug ne m'affiche rien.


J'arrive très bien à envoyer des SMS/appels avec les codes du wiki de seedstudio.

Quelqu'un a-t-il déjà eu ce problème ?
8  International / Français / Re: Classe SMS incorrecte on: February 17, 2013, 12:50:20 pm
Merci beaucoup, c'était ça smiley
9  International / Français / Re: Classe SMS incorrecte on: February 17, 2013, 12:20:58 pm
Si tout à fait, mais ici j'utilise le script fourni par Seedstudio.

C'est celui que j'utilise depuis le début, et il fonctionnait auparavant avec les SMS. smiley-wink
10  International / Français / Re: Classe SMS incorrecte on: February 17, 2013, 12:15:27 pm
J'ai fait un ATZ et un AT&F, j'ai obtenu "OK" comme réponse pour les 2.

Mais maintenant, je ne parviens plus du tout à envoyer de SMS, je ne les reçois pas.

Voilà ce que j'ai :
Code:
AT+CMGF=1

OK
AT + CMGS = "06********"

> A test message!

Je n'ai pas de réponse pour le AT+CMGS....


PS : les appels marchent correctement  smiley-wink
11  International / Français / Classe SMS incorrecte on: February 16, 2013, 01:34:59 pm
Bonjour,

Je faisais des tests avec mon Arduino et mon module GRPS, j'essayais d'envoyer des SMS en classe 0.  smiley-roll
Le problème est que maintenant tous mes SMS sont envoyés en classe 0, même en redémarrant l'arduino.

Je n'arrive pas à remettre les paramètres par défaut.

Merci de votre aide
12  International / Français / Re: Shield GRPS, lecture d'une page Web on: January 26, 2013, 03:19:54 pm
Je sais que la requête est passée car j'envoie des données à une base de données grâce à une page PHP.

Effectivement, je n'avais pas vu : dans la fenêtre, j'ai bien le code source de la page, mais je ne vois pas comment le récupérer pour le lire caractère par caractère. J'ai une phrase entre <> que je souhaite récupérer.
13  International / Français / Shield GRPS, lecture d'une page Web on: January 26, 2013, 02:34:44 pm
Bonsoir,

Je possède un shield GRPS pour Arduino acheté chez Seedstudio.
Voici le wiki avec un exemple de code : http://www.seeedstudio.com/wiki/GPRS_Shield

Je souhaiterais pouvoir lire le contenu d'une page web avec celui-ci.
Actuellement, j'arrive seulement à faire une requête (qui fonctionne).

Mais je ne parviens pas à récupérer une information du page Internet.

Comment puis-je faire ?

Merci de votre aide
14  International / Français / Re: Sprintf on: January 05, 2013, 10:49:20 am
Merci beaucoup, c'était ça !  smiley
15  International / Français / Sprintf on: January 05, 2013, 10:27:03 am
Bonjour,

Je rencontre un souci en utilisant sprintf.

Voici mon code :

Code:
long lat2, lon2; 
Serial.println(lat2);
 Serial.println(lon2);
 sprintf(adresse,"AT+HTTPPARA=\"URL\",\"site.fr/val.php?id=1&lat=%d&long=%d\"",lat2,lon2);
 Serial.print(adresse);
  mySerial.println(adresse);

Et ce que j'obtiens sur mon Serial :
Code:
449205
21367
AT+HTTPPARA="URL","site.fr/val.php?id=1&lat=29753&long=7"

Je ne comprend d'où viennent ce 29753 et ce 7...

J'ai dû faire une erreur quelque part mais je la vois vraiment pas.
Pages: [1] 2 3