Show Posts
Pages: 1 ... 9 10 [11] 12 13 ... 30
151  Using Arduino / Programming Questions / Re: IS there another SD Library on: September 09, 2013, 01:33:47 am
Would it not have another solution without SD card?

I need to store temporary data. For example, if there is not GPRS/3G connection, the data are stored until the network is back, and the then the data are sent.

Can I not create a buffer which can record a line of 95 caracter, each minute?
Do we need a SD card to save data? Is there no other componment??
152  Using Arduino / Programming Questions / IS there another SD Library on: September 08, 2013, 12:38:11 pm
Good evening,

My code has about 18k of sketch side.

I just added the SD library and with the initiation and the SD code, my sketch side grew up to 30k.

Is there antoher way/library to use a SD card to save data which take less of sketch size?

Cheers
153  International / Français / Re: Pourquoi Serial.available me retourne toujours 0 on: September 06, 2013, 03:39:45 pm
heu alors là, je ne comprens ce que tu veux dire.

Code:
answer = sendATcommand("AT", "OK", 2000);
answer doit contenir le resultat de sendATcommand("AT", "OK", 2000);

Mais effectivement s'il y a rien a lire, il passe  la condition et allume le module et "en deuxieme recours" , la donction
sendATcommand("AT", "OK", 2000); doit retourner quelque chose dans la boucle while, au moins...
Code:
if (answer == 0)
    {
        // power on pulse
        digitalWrite(onModulePin,HIGH);
        delay(3000);
        digitalWrite(onModulePin,LOW);

        // waits for an answer from the module
       
        while(answer == 0){ 
            #ifdef DEBUG
            Serial.println(answer);
              Serial.println(F("Wait for an answer from the module (Power On)."));
            #endif
            // Send AT every two seconds and wait for the answer   
            answer = sendATcommand("AT", "OK", 2000);
           
       }
       
    }

Dasn cette function le AT doit etre executé et return answer; doit retourner le resultat qui est lu de cell.available
Code:

int8_t sendATcommand(char* ATcommand, char* expected_answer1, unsigned int timeout){

    Serial.print(ATcommand);
    Serial.print(F(" "));
    Serial.print(expected_answer1);
    Serial.print(F(" "));
    Serial.println(timeout);
 
    uint8_t x=0,  answer=0;
    char response[100];
    unsigned long previous;

    memset(response, '\0', 100);    // Initialize the string

    delay(100);

    while( cell.available() > 0) cell.read();    // Clean the input buffer

    #ifdef DEBUG
      Serial.print(F("Command : "));
      Serial.println(ATcommand);    // Send the AT command
    #endif

    x = 0;
    previous = millis();

    // this loop waits for the answer
    do{

        //if(Serial.available()>0){
        if(cell.available() != 0){   
            response[x] = cell.read();
            Serial.print(F("Response:"));
            Serial.println(response);
            x++;
            // check if the desired answer is in the response of the module
            if (strstr(response, expected_answer1) != NULL)   
            {
                answer = 1;
            }
        }else{
          #ifdef DEBUG
            //Serial.println(F("Serial not available"));
          #endif
        }
       
        // Waits for the asnwer with time out
    }while((answer == 0) && ((millis() - previous) < timeout));
   
   
    return answer;
}

je viens aussi d'essayer d'ajouter
Code:
cell.println(ATcommand);    // Send the AT command

juste en dessous de
Code:

#ifdef DEBUG
      Serial.print(F("Command : "));
      Serial.println(ATcommand);    // Send the AT command
    #endif
mais sans resultat sastifaisant
Code:
Serial.println(response);
mer retourne un truc de bizard, genre un y avec un ¨


Oui c'est juste que tu dis. Mais je ne suis pas tres expert en la matiere et j'ai esayer de la degresser. Mais cette librairire est juste enorme avec plusieurs fichier .cpp et j'ai passé beaucoup de temps a la degressé pour reprendre ce que je souhaitais sans réussir. Elle est aussi très grosse.

Le lien en marche pas? Je vais vite corrigé ca.
Voici le nouveau lien
http://code.google.com/p/gsm-shield-arduino/downloads/list
C'est la deuxième
154  International / Français / Re: Pourquoi Serial.available me retourne toujours 0 on: September 06, 2013, 12:06:54 pm
Quelqu'un pourrait m'aider sur ce problème?
J'ai remis à jour l'explication avec des images et du code.

Dans la mega grosse librairire, je crois que le cell est déclaré dans le fichier GSM.cpp.

Code:
#ifdef UNO
GSM::GSM():_cell(_GSM_RXPIN_,_GSM_TXPIN_),_tf(_cell, 10),_status(IDLE){
};
mais je n'arrive pas comprendre ce que c'est que le _tf(_cell,10),_status(IDL)
et dans le foichier GSM.h, je ne trouve pas de lien avec _cell. Grr, c'est un epu du chinois, je ne suis pas assez expert pour adapter ca a mon nouveau code sketch, que j'ai mis plus haut.

Milles mercis à vous
155  International / Français / Pourquoi Serial.available me retourne toujours 0 on: September 04, 2013, 03:30:29 pm
Bonjour à tous,

J'ai actuellement un problème recuprant qui me pousse a me ronger les ongles :o)

J'ai acheté un shiel sim908 très intéressant pour sa taille. Ils fournissent aussi une librairie
http://code.google.com/p/gsm-shield-arduino/downloads/list
 qui pour un novice est pas trop facile a adapte. Après de longue journée je suis arrivé à faire un truc de très bien donc j'en suis très satisfait.

Le probleme c'est que mon code fait 29k et l'Arduino mini ne permet que 30k

Si j'ajoute la librairie SD.h, la ca depasse et ca bloque. D'autant plus que j'ai encore un peu de code a faire

J'ai donc décide de repartir a séro, sans cette librairie. Et avec un simple code je bloque rien qu'au niveau du flak (Software Serial cell(2,3).)

Un truc de foumais peut etre tout bete.

Voici le materiel que j'utilise:
1 batterie 3,7V
1 arduino Mini por 3.3V
1 Shield 908 http://store.open-electronics.org/Small_Breakout_SIM908?filter_name=sim908

Voici les pin du shield 908


J'ai connecté mon arduino au shiled comme ceci :
Arduino pin 2 => Shield pin12
Arduino pin 3 => Shield pin 14
Arduino pin 8 => Shield pin 1
Arduino pim tx => Shiled pin 4
Arduino pin rx => Shield pin 6
3,7V => Shield pin 17 and 19
GND => Shield 18 and 20

Et voici mon code qui est relativement simple et je décris le probleme dessous:
Code:
#include <SoftwareSerial.h>
#include <MemoryFree.h>


#define DEBUG
#define TERMBAUD 9600
#define CELLBAUD 9600
long baud_rate = 9600;

#define RX_GPRS 2
#define TX_GPRS 3

//SoftwareSerial cell(RX_GPRS,TX_GPRS);
SoftwareSerial cell =  SoftwareSerial(RX_GPRS, TX_GPRS);

int onModulePin= 8;

void setup(){

  Serial.begin(TERMBAUD);
  cell.begin(CELLBAUD);
  
    
      
    
    #ifdef DEBUG
      Serial.println(F("\nSTARTING SIM908 V5 TEST"));
      Serial.println(F("--------------------"));
    #endif
    
    Serial.print(F("Free memory at startup() = "));
    Serial.println(freeMemory());
  
   pinMode(onModulePin, OUTPUT);
    
    #ifdef DEBUG
    Serial.println(F("POWER ON"));
    #endif
     power_on();

}

void loop(){
    
    Serial.println(F("START LOOP();"));

    delay(5000);

}

void power_on(){
    
    uint8_t answer=0;
    // checks if the module is started
    answer = sendATcommand("AT", "OK", 2000);
    if (answer == 0)
    {
        // power on pulse
        digitalWrite(onModulePin,HIGH);
        delay(3000);
        digitalWrite(onModulePin,LOW);

        // waits for an answer from the module
        
        while(answer == 0){  
            #ifdef DEBUG
              Serial.println(F("Wait for an answer from the module (Power On)."));
            #endif
            // Send AT every two seconds and wait for the answer  
            answer = sendATcommand("AT", "OK", 2000);
          
       }
      
    }

}


int8_t sendATcommand(char* ATcommand, char* expected_answer1, unsigned int timeout){

    Serial.print(ATcommand);
    Serial.print(F(" "));
    Serial.print(expected_answer1);
    Serial.print(F(" "));
    Serial.println(timeout);
  
    uint8_t x=0,  answer=0;
    char response[100];
    unsigned long previous;

    memset(response, '\0', 100);    // Initialize the string

    delay(100);

    while( cell.available() > 0) cell.read();    // Clean the input buffer

    #ifdef DEBUG
      Serial.print(F("Command : "));
      Serial.println(ATcommand);    // Send the AT command
    #endif

    x = 0;
    previous = millis();

    // this loop waits for the answer
    do{

        //if(Serial.available()>0){
        if(cell.available() != 0){    
            response[x] = cell.read();
            Serial.print(F("Response:"));
            Serial.println(response);
            x++;
            // check if the desired answer is in the response of the module
            if (strstr(response, expected_answer1) != NULL)    
            {
                answer = 1;
            }
        }else{
          #ifdef DEBUG
            //Serial.println(F("Serial not available"));
          #endif
        }
        
        // Waits for the asnwer with time out
    }while((answer == 0) && ((millis() - previous) < timeout));
    
    
    return answer;
}

Le probleme se pose deja lorsque la fonction power_on() est appelée
Dans cette fonction, elle va en appelée une autre
Code:
answer = sendATcommand("AT", "OK", 2000);
et le probleme se pose au niveau du cell.available()
Elle passe la boucle do mais bloque sur la condition, car cell.avaialable est toujours egal à 0, donc la boucle tourne en continu et ceci Serial.println(F("Serial not available")); est affiché en permanence

if(cell.available() != 0){  ..

Code:
do{

        //if(Serial.available()>0){
        if(cell.available() != 0){    
            response[x] = cell.read();
            Serial.print(F("Response:"));
            Serial.println(response);
            x++;
            // check if the desired answer is in the response of the module
            if (strstr(response, expected_answer1) != NULL)    
            {
                answer = 1;
            }
        }else{
          #ifdef DEBUG
            Serial.println(F("Serial not available"));
          #endif
        }
        
        // Waits for the asnwer with time out
    }while((answer == 0) && ((millis() - previous) < timeout));

Je n'arrive pas a comprendre pourquoi, il n'arrive pas a lire ce qu'il se passe dans le serial port?
Ce qui m'étonne, c'est la mega grosse librairie que j'utilise, avec celle ci ca fonction. Donc j en déduit que mes connection entre l'arduino et le shield est ok.. Je n'arrive pas a dapter mon code en fonction de cette librairie, par mon manque de compétence

Mais pourtant, c'est pas compliqué de faire falk.

Auriez-vous une aide à m'apporter??

Je vous remercie car je tourne en rond depuis plusieurs jours

Bonne soirée
156  International / Français / Re: Comment adapter un tring avec un varaiable on: September 04, 2013, 07:08:36 am
Es-ce que ca semble correct?

Code:
char buffer[50]; // 50 pour etre sure d'avoir asser, notamment dans d'autre cas, mais c'est vrai que c'est un peu beaucoup
const char apn[]="intranet";
sprintf(buffer,"AT+SAPBR=3,1,\"APN\",\"%s\"",apn);
 sendATcommand(buffer, "OK", 2000);
 buffer[0]='\0'; // Vide le buffer
157  International / Français / Re: Comment adapter un tring avec un varaiable on: September 04, 2013, 06:26:24 am
ha mais oui, je l'ai deja utilisé, mais elle concatenate a la fin d'une chaine, mais pas au milieu? N'es-ce pas?
158  International / Français / Comment adapter un tring avec un varaiable on: September 04, 2013, 04:41:15 am
Bonjour,
Je me casse la ete pour un truc qui doit etre super simple, mais peu etre qu'un caractere me bloque


J'ai cette ligne
Code:
sendATcommand("AT+SAPBR=3,1,\"Contype\",\"GPRS\"", "OK", 2000);
    sendATcommand("AT+SAPBR=3,1,\"APN\",\"apn\"", "OK", 2000);
    sendATcommand("AT+SAPBR=3,1,\"USER\",\"user_name\"", "OK", 2000);
    sendATcommand("AT+SAPBR=3,1,\"PWD\",\"password\"", "OK", 2000);

et j'aimerais tout simplement remplacer apn, user_name et password par des varaible de maniere a ce que je puisse tout configurer au debut du script


Mais voila, c'est bete, mais je me casse la tete. Au bebur du script j'ai créé ceci (je prend que l'exemple du "apn" car pour le reste ca se repeterra
Code:
const char apn[] = "internet"; // access-point name for GPRS

sendATcommand("AT+SAPBR=3,1,\"APN\",\""+apn+"\"", "OK", 2000);
Ceci me retourne ce message d'erreur
Quote
sim908_v5:82: error: invalid operands of types 'const char [21]' and 'const char [9]' to binary 'operator+'

Code:

int8_t sendATcommand(char* ATcommand, char* expected_answer1, unsigned int timeout){

    uint8_t x=0,  answer=0;
    char response[100];
    unsigned long previous;

    memset(response, '\0', 100);    // Initialize the string

    delay(100);

    while( Serial.available() > 0) Serial.read();    // Clean the input buffer

    Serial.println(ATcommand);    // Send the AT command


        x = 0;
    previous = millis();

    // this loop waits for the answer
    do{
        if(Serial.available() != 0){   
            response[x] = Serial.read();
            x++;
            // check if the desired answer is in the response of the module
            if (strstr(response, expected_answer1) != NULL)   
            {
                answer = 1;
            }
        }
        // Waits for the asnwer with time out
    }
    while((answer == 0) && ((millis() - previous) < timeout));   

    return answer;
}
159  International / Français / Re: Comment puis-je inclure une partie de mon code on: September 03, 2013, 12:50:09 pm
hello,
Je suis vraiment embeté, je n'arrive pas a descendre en dessous de 32520 depuis que je doive utiliser la librairie SD.h.

Es-ce que de changer d'IDE ca peut aider?
Pourriez-vous me recommander un autre IDE que Arduino?

C'est peut etre vrai que mon code est gros, il a 702 ligne en comptant les espaces et les commentaires mais j'ai besoin de toutes les fonctionnalités codées. J'ai meme commenté des functions moins utiles, pour libérer de la taille

Voici le code:
http://www.hello-web.net/temp/forum.html
160  International / Français / Re: Comment puis-je inclure une partie de mon code on: September 02, 2013, 12:22:53 pm
En fait, en gros, si j'ai bien compris,
faire une librairie pour "ecarter" un bout de code, ne m'aidera pas.

J'ai un peu d'ordre mais je n'arrive pas descendre en dessous de 29350k

Faut que je cherche encore

Je vais voir comment répondre au mieux a vos questions...
161  International / Français / Comment puis-je inclure une partie de mon code on: September 02, 2013, 07:49:38 am
Bonjour,

Mon code etant plus large que 32720byte, je dois faire du menage, mais il n'y a rien que je souhaite supprimer.

En revanche j'ai une fonction que je souhaite sortie du code et l'utiliser comme une librairire

Comment puis je le mettre dans un fichier externe et l'inclure dans mon code, comme une fonction.

Dois-je créer une librairie? Cependant, je en sais pas le faire.
Pourrez-vous me donner un exemple simple.
162  International / Français / Re: Comment puis-je utiliser JSON pour envoyer des données on: August 25, 2013, 03:54:39 pm
Bonjour,
Je viens de relire vos avis.

En resumé, ne pas utlisé JSON alors et pour le moment je préfere donc me concentrer sur la mémorisation des positions GPS dans le cas ou le 3G n'était pas disponible.

Aussi je prends note de votre conseil, celui de séparer l'envoi des données et la collection des positions. Pour le moment, je vais laisser comme ceci parce que je veux pouvoir envoyer manuellement les données. Donc je souhaite pouvoir taper dans mon terminal "send" pour qu'il execute la commane sendDATA() et elle doit donc pouvoir recupérer les coordonnées. Mais je tiens compte de vos conseils et je modifirai ceci plus tard. C'est pas compliquer à le faire.

Cependant, je bloque sur l'empilation des données dans un tableau ou dans un structure. Je suis un peu débutant et je ne connais pas cette méthode
A savoir qu ce n'est pas des int mais des char car la fonction qui me retourne les positions gps
Code:
gps.getPar(lon,lat,alt,time,vel);
me retourne des char
Code:
typedef struct
{
   int lon;
   int lat;
   int alt;
   int time;
   int vel;
} GPS_DATA;

#define GPS_DATA_COUNT 10

GPS_DATA GpsData[GPS_DATA_COUNT];

int NextDataIndex = 0;
Pourriez me donner un exemple à partir de cette exemple (j'y met des commentaires)
La variable char coords[97]; contient les positions sous format d'une URL par exemple :
Quote
co=7567&lo=45.67876&la=34.3456&al=456.87&ti=2013-08-23 12:00:00&ve=3.87683
et c'est ca que je voudrais mémorier si la connection n'est pas bonne.
Quote
//A mémoriser dans une array si la connexion n'est pas bonne et à envoyer plus tard quand elle sera rétablie
co=7567&lo=45.67876&la=34.3456&al=456.87&ti=2013-08-23 12:00:00&ve=3.87683
co=7567&lo=45.47876&la=34.4456&al=446.87&ti=2013-08-23 12:01:00&ve=3.87683
co=7567&lo=45.57876&la=34.2456&al=446.87&ti=2013-08-23 12:02:00&ve=3.8222
co=7567&lo=45.67876&la=34.3456&al=446.87&ti=2013-08-23 12:03:00&ve=3.87683
Pour info, je peux aussi prévoir simplifier ceci comme ceci (qui ne serait pas une mauvaise idée:
Quote
co=7567,45.67876,34.3456,456.87,2013-08-23 12:00:00,3.87683 // lo, la, al, ti, ve
Code:
// Ceci est déclaré au début du code, pour information
char lon[15];
char lat[15];
char alt[15];
char time[14];
char vel[15];
char co[]="co=";
char lo[]="&lo=";
char la[]="&la=";
char al[]="&al=";
char ti[]="&ti=";
char ve[]="&ve=";

// MA COMMANDE EST APPELLEE
// Send data to the sremote erver
void SendData(void){
   #ifdef DEBUG
     Serial.println(F("\nSENDING COORDS TO THE REMOTE SERVER"));
   #endif
     
    // JE DEPLACERAI LA PARTIE GPS PLUS TARD. POUR LE MOMENT, JE SOUHAITE LAISSE COMME CECI
    // It collect statictis and return 0,1,2 ou3. See below
    stat=gps.getStat();

    //Get data from GPS
     
    // Send the data only if the are FIXes, otherwise giveup the send function
    // This is to avoid battery consomation
    if(stat == 2 || stat == 3 || stat == 0){
     
       // That function collect the coordinate. It's works fine
       gps.getPar(lon,lat,alt,time,vel); // the 5 variable a declare above. Ex: char lon[15];
       
       char coords[97];
       
       // Convert Int to char
       char course_id[6] = {0};
       sprintf(course_id, "%d", courseid);
       puts(course_id);     

      strcpy(coords,co);
      strcat(coords,course_id);
         
      strcat(coords,lo);
      strcat(coords,lon);
   
      strcat(coords,la);
      strcat(coords,lat);
   
      strcat(coords,al);
      strcat(coords,alt);
 
       strcat(coords,ti);
       strncat(coords,time,14);
   
       strcat(coords,ve);
       strcat(coords,vel);
       
       #ifdef DEBUG
         Serial.println(F("Sending now... . Wait for 5 to 10 seconds"));
       #endif     
       
       // S IL Y A DES DONNEES MEMORISEES D'ABORD ESSAYER DE LES EVOYEZ, mais comment faire cette mémorisation
       // PUIS ENVOYER LA POSITION COLLECTEE JUSTE A L INSTENT SI

       if(inet.httpPOST(host, port_post, path_post, coords, "Result", 0)){
         // Emvoi reussi. l'Array peut etre effacé
       }else{
         // Envoi pas possible, l'array doit contenir les positions suivantes. Comment on fait?
       }
         
       #ifdef DEBUG
         Serial.print(F("Data sent : "));
         Serial.println(coords);
         Serial.println(F("Wait for 10 second"));
       #endif
         
       delay(10000);
     }       
}
// End sendDATA()

163  International / Français / Re: Comment puis-je utiliser JSON pour envoyer des données on: August 20, 2013, 04:07:04 pm
Je vous remercie pour vos info.
Je vous avoue ne pas avoir le temps de me plonger a fond dans vos explications, mais le ferai evidement d'ici très peu.

Au passage, lat, lon, alt, time, vel, sont des char pas des int.

Code:
char lat[15];
char lon[15];
char alt[15];
etc...

Merci, je reviens un peu plus tard
164  International / Français / Re: Comment puis-je utiliser JSON pour envoyer des données on: August 20, 2013, 06:09:30 am
Hello
Personne a une expérience pour encodee des données en JSON pour les envoyer sur un serveur distant?
Et aussi comment additionner des données dans la structure JSON si le connexion n'est pas bonne afin de les emvoyer tout en bloque quand la connecion est de nouveau disponible.
Votre aide me serait précieuse

Milles mercis
165  International / Français / Comment puis-je utiliser JSON pour envoyer des données on: August 19, 2013, 02:35:07 pm
Bonjour,

Je cherche une solution pour envoyer des données avec le format JSON.

En gros, j'ai un GPS qui me collect les positions toutes les minutes.
Aussi, j'ai un module GSM qui va les envoyer.

Simplement, si je me trouve en montagne, il n'y aura pas forcement une antenne GSM mais par contre le GPS fonctionnera.

J'ai aussi une fonction qui va envoyer les données collectée via le 3G.

Quand une coordonée GPS sont collectées, il faut qu'il garde ca sous fomat JSON
Quote
{
"2003-08-16 08:00:00": {
  "co": "course",
  "la": "lattitude",
  "lo": "longitude",
  "al":"altitude",
  "ve":"speed"
 }
}
Mais s'il n'y a pas plus de 3G, il faut qu'il conserve les positions suivante de maniere à avoir ceci, par exempl et si ce n'est pas fau
Quote
{
"2003-08-16 08:00:00": {
  "co": "course",
  "la": "lattitude",
  "lo": "longitude",
  "al":"altitude",
  "ve":"speed"
 }
"2003-08-16 08:01:00": { // there is no GSM connection, then it increment to record the data, and it will send in block when GSM will be available
  "co": "course",
  "la": "lattitude",
  "lo": "longitude",
  "al":"altitude",
  "ve":"speed"
 }
"2003-08-16 08:02:00": {
  "co": "course",
  "la": "lattitude",
  "lo": "longitude",
  "al":"altitude",
  "ve":"speed"
 }
"2003-08-16 08:03:00": {
  "co": "course",
  "la": "lattitude",
  "lo": "longitude",
  "al":"altitude",
  "ve":"speed"
 }
}
Et une fois le 3G revenu, il envoi tout au serveur.

J'ai trouvé une librairie intéressante
https://github.com/interactive-matter/aJson/
mais je peine a la faire fonctionnée et j'aurais voulu savoir si vous auriez pas une autre solution avec exemple qui repondrait à mon besoin.

En attendant, voila mon code simplifié qui fonctionne avec la librairie que je vous ai donné juste dessus.
Connaitriez vous cette librairie? pourriez-vous m'aider?

A savoir que la fonction SendDATA est appelée chaque miniute. Chauqe minute cette fonction va connaitre la position, grace a la fonction gps.getPar(lon,lat,alt,time,vel); Puis s'il y a pas de 3G conserve la position si non envoi

Code:
// Send data to the sremote erver
void SendData(void){
   #ifdef DEBUG
     Serial.println(F("\nSENDING COORDS TO THE REMOTE SERVER"));
   #endif
    
    // It collect statictis and return 0,1,2 or or 3. See below
    stat=gps.getStat();
    
    #ifdef DEBUG
      if(stat==0){
        Serial.println(F("GPS OFF"));
        Serial.println(F("No coords sent"));
      }else if(stat==1){
         Serial.println(F("NOT FIXED"));
         Serial.println(F("No coords sent"));
      }else if(stat==2){
         Serial.println(F("2D FIXED"));
      }else if(stat==3){
         Serial.println(F("3D FIXED"));
      }
    #endif

     //Get data from GPS
    
     // Send the data only if the are FIXes, otherwise giveup the send function
     // This is to avoid battery consomation
     if(stat == 2 || stat == 3 || stat == 0){
     // I added stat==0 for testing, as I do not have always fixes. It does not matter if I have 0.00000, for JSON testing
      
       // That function collect the coordinate. It's works fine
       gps.getPar(lon,lat,alt,time,vel); // the 5 variable a declare above. Ex: char lon[15];
      
      
       // Convert Int to char
       char course_id[6] = {0};
       sprintf(course_id, "%d", courseid);
       puts(course_id);
      
      /* EXPLICATION:
       HERE IS MY JSON and it does not display my JSON string (value)
       Be aware and I do not know I did it correctly
       I do declared the following below my librairies, on the top of my script:
          //JSON
          aJsonObject *root,*online;
          char* value;

      In my steup(), I add this code:
         //JSON
         root=aJson.createObject();
       */
       // HERE IS MY JSON CODE

       aJson.addItemToObject(root, time, online = aJson.createObject());
      // the variable time come from the function  gps.getPar(lon,lat,alt,time,vel);
      
       aJson.addStringToObject(online,"co", "course"); // I will later change "course" with the varibale course_id
       aJson.addStringToObject(online,"lo", "long"); // I will later change "long" with the varibale lon
       aJson.addStringToObject(online,"la", "lat"); // I will later change "lat" with the varibale lat
       aJson.addStringToObject(online,"al", "alt"); //etc
       aJson.addStringToObject(online,"ve", "vel"); //etc
       */
      
       value = aJson.print(root);
       Serial.print("value : ");
       Serial.println(value); // that value display nothing, empty , why
      
       #ifdef DEBUG
         Serial.println(F("Sending now... . Wait for 5 to 10 seconds"));
       #endif      
      
       if(inet.httpPOST(host, port_post, path_post, value, "Result", 0)){
         // Emvoi reussi. JESON peut etre effacé
       }else{
         // Envoi pas possible, JSON doit ajouté les positions suivantes. Comment on fait?
       }
          
       #ifdef DEBUG
         Serial.print(F("Data sent : "));
         Serial.println(value);
         Serial.println(F("Wait for 10 second"));
       #endif
          
       delay(10000);
     }      
     enterCommand();
}
// End sendDATA()

Merci pour vos lumières et j'espère avoir donné assez d'info. Dites moi si ce n'est pas le cas.
Pages: 1 ... 9 10 [11] 12 13 ... 30