Problemi utilizzo metodo httPost libreria inetGSM

Rispondi
gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 27/07/2012, 15:58

Salve spero mi possiate aiutare,

ho un problema relativo all'utilizzo del metodo Post della suddetta libreria(inetGSM), in pratica quando inserisco questo metodo nello sketch di esempio del gsm library client al posto del metodo get, il programma va in loop su gsm shield testing da cosa può dipendere? con il file di esempio il metodo httpGet funziona, non è che avete uno sketch di esempio che utilizza questo metodo?
Nella suddetta libreria ho decommentato il metodo tweet per provare ad usarlo ma anche in questo caso il programma va in loop,spero possiate aiutarmi

vi ringrazio anticipatamente per le risposte grazie!!!

Distinti Saluti

Giovanni Lucia

gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 27/07/2012, 17:00

Dimenticavo di dire che cerco di fare il post su sito cosm, ho fatto lo stesso con la scheda ethernet shield e il tutto funziona perfettamente, ho provato anche con twitter e il risultato è lo stesso. Help Me!!!

Avatar utente
Boris Landoni
Messaggi: 342
Iscritto il: 04/11/2009, 17:18

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da Boris Landoni » 28/07/2012, 8:31

Ciao Gianni,
Puoi postare il codice?

gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 28/07/2012, 10:22

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"
//#include "sms.h"
//#include "call.h"

//To change pins for Software Serial, use the two lines in GSM.cpp.

//GSM Shield for Arduino
//www.open-electronics.org
//this code is based on the example of Arduino Labs.

//Simple sketch to start a connection as client.

InetGSM inet;
//CallGSM call;
//SMSGSM sms;

char msg[50];
int numdata;
char inSerial[50];
int i=0;
boolean started=false;
char apiKey[] = "B-PXnIsZp_s6T59MNvIyJlqnKR2SAKxVdlhpUmFDalR2ST0g";
long feedId = 65329;
char datastreamId[] = "1";
int dataToSend=30;



void setup()
{
  //Serial connection.
  Serial.begin(9600);
  Serial.println("GSM Shield testing.");
  //Start configuration of shield with baudrate.
  //For http uses is raccomanded to use 4800 or slower.
  if (gsm.begin(2400)){
    Serial.println("\nstatus=READY");
    started=true;
  }
  else Serial.println("\nstatus=IDLE");
  
  if(started){
     gsm.SimpleWrite("AT");
     delay(1000);
     gsm.WhileSimpleRead();
    //GPRS attach, put in order APN, username and password.
    //If no needed auth let them blank.
    
    if (inet.attachGPRS("internet.wind", "", ""))
      Serial.println("status=ATTACHED");
    else Serial.println("status=ERROR");
    delay(1000);
    
  
    //Read IP address.
    gsm.SimpleWriteln("AT+CIFSR");
    delay(5000);
    //Read until serial buffer is empty.
    gsm.WhileSimpleRead();
  
    //TCP Client GET, send a GET request to the server and
    //save the reply.
   // numdata=inet.httpPOST("www.cosm.com", 80, "/", msg, 50);
    //Print the results.
    /*Serial.println("\nNumber of data received:");
    Serial.println(numdata);  
    Serial.println("\nData received:"); 
    Serial.println(msg);
   */
   };
  //

if(inet.connectTCP("api.cosm.com", 80))

//  Serial.println("Connesso a Cosm"); 
  
/* gsm.SimpleWrite("GET ");
  gsm.SimpleWrite("/");
  gsm.SimpleWrite(" HTTP/1.0\nHost: ");
  gsm.SimpleWrite("www.google.it");
  gsm.SimpleWrite("\n");
  gsm.SimpleWrite("User-Agent: Arduino");
  gsm.SimpleWrite("\n\n");
  //inet.dettachGPRS();
 */
 gsm.SimpleWrite("POST /v2/feeds/");
    gsm.SimpleWrite(feedId);
    gsm.SimpleWrite("/datastreams/");
    gsm.SimpleWrite(datastreamId);
    gsm.SimpleWrite(".xml?_method=put");
    gsm.SimpleWrite(".csv HTTP/1.1\n");
    gsm.SimpleWrite("Host: api.cosm.com\n");

    gsm.SimpleWrite("X-ApiKey: ");
    gsm.SimpleWrite(apiKey);
    gsm.SimpleWrite("\n");
    gsm.SimpleWrite("Content-Length: ");

    
    gsm.SimpleWriteln("ignoto");

   
  gsm.SimpleWrite(dataToSend);
  gsm.SimpleWrite("\n\n");
  

   
  }
/*  else{ 
    
    Serial.println("Nonn connesso!!!");
    
  }*/



void loop()
{
  //Read for new byte on serial hardware,
  //and write them on NewSoftSerial.
 // serialhwread();
  //Read for new byte on NewSoftSerial.
  // serialswread();
};

void serialhwread(){
  i=0;
  if (Serial.available() > 0){
    while (Serial.available() > 0) {
      inSerial=(Serial.read());
      delay(10);
      i++;      
    }
    
    inSerial='\0';
    if(!strcmp(inSerial,"/END")){
      Serial.println("_");
      inSerial[0]=0x1a;
      inSerial[1]='\0';
      gsm.SimpleWriteln(inSerial);
    }
    //Send a saved AT command using serial port.
    if(!strcmp(inSerial,"TEST")){
      Serial.println("SIGNAL QUALITY");
      gsm.SimpleWriteln("AT+CSQ");
    }
    //Read last message saved.
    if(!strcmp(inSerial,"MSG")){
      Serial.println(msg);
    }
    else{
      Serial.println(inSerial);
      gsm.SimpleWriteln(inSerial);
    }    
    inSerial[0]='\0';
  }
}

void serialswread(){
  gsm.SimpleRead();
}


gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 30/07/2012, 16:04

Ci sono novità?

Avatar utente
Boris Landoni
Messaggi: 342
Iscritto il: 04/11/2009, 17:18

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da Boris Landoni » 30/07/2012, 19:24

Ho chiesto al collaboratore che ha sviluppato la libreria di dare un occhio al suo codice.
Un attimo di pazienza e risolviamo ;)

MarcoMartines
Messaggi: 13
Iscritto il: 14/02/2012, 2:23
Home_Page: http://

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da MarcoMartines » 30/07/2012, 23:14

Ciao, scusami per l'attesa.
In realtà, anche se presente, il metodo POST non è ancora funzionante. E' previsto lo sviluppo per le prossime versioni della libreria.
Il problema del riavvio però non è legato al metodo POST bensì a un discorso di RAM saturata. Infatti Arduino ha a disposizione un numero limitato di KB di RAM destinata all'utilizzo delle variabili. Quando questa memoria viene saturata, Arduino si riavvia.
A breve (questione di giorni) verrà rilasciata una nuova versione destinata al risparmio significativo di RAM.
Marco

gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 31/07/2012, 10:37

La ringrazio è stato gentilissimo!!!

gianni.lucia
Messaggi: 6
Iscritto il: 18/07/2012, 17:08
Occupazione: Ingegnere Informatico
Home_Page: http://
Compleanno: 23 dic 1978
Città: Benevento
Prov.: BN
Via: Cupa Dell'Angelo 36; scala A int.7

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da gianni.lucia » 31/07/2012, 11:00

Ho una domanda, siccome il problema è relativo alla RAM se si usasse il l'arduino mega si risolverebbe il problema?

dconvert
Messaggi: 1
Iscritto il: 14/12/2013, 18:42
Home_Page: http://mimmosoftweb.altervista.org

Re: Problemi utilizzo metodo httPost libreria inetGSM

Messaggio da dconvert » 14/12/2013, 18:51

Buongiorno,

Sono nuovo del forum e volevo spiegare le mie difficoltà con l'inet.POST.
Sul numero 177 di Elettronica IN c'è un articolo per poter utilizzare il GET e il POST e mentre con il get non c'è nessun problema, con il POST non ricevo nulla.

Per essere sicuro di non aver commesso errori ho ricopiato lo sketch di esempio n° 3 dell'articolo, con il seguente risultato:

GSM Shield testing.

status=READY
TEST
status=ATTACHED

10.221.15.65

Number of data received:
0

Data received:

HTTP/1.1 413 Request Entity Too Large
Date: Sat, 14 Dec 2013 1

Spero che mi possiate aiutare, io uso il SIM908.

Grazie in anticipo

Rispondi