http post su pagina php

salve a tutti devo spedire una stringa letta da arduino ad una pagina php residente su un server esterno

solo per vedere se la stringa arriva al server utilizzo questo codice

<?php


ini_set('display_errors','On');
error_reporting(E_ALL);
$id= $_POST['codiceLetto'];

echo $id;

?>

mentre su arduino non riesco a fare funzionare bene questa funzione:

   Serial.println(codiceLetto);//stampa il codice
      byte sd=stash.create();
      stash.print(codiceLetto);
      stash.save();
      int stash_size=stash.size();
      Stash::prepare(PSTR("POST http://$F/update HTTP/1.0" "\r\n"
    "Host: $F" "\r\n"
    "Content-Length: $D" "\r\n"
    "\r\n"
    "$H"),
  website, website, stash_size, sd);
  ether.tcpSend();

dove la variabile codiceLetto è una stringa di caratteri e la variabile website è dichiarata con l’indirizzo del mio server che è 192.168.1.8
Il risultato è che sulla pagina php non mi arriva nessuna stringa, dove sbaglio?

grazie in anticipo

PS: utilizzo la libreria ethercard e una shield enc28j60

Ciao, io utilizzo una scheda gprs e faccio delle POST con client.print().
Prima di spedire,verifica sei hai un indirizzo IP .
Ecco alcuni link:
http://jeelabs.net/pub/docs/ethercard/

ciao l'indirizzo ip ce l'ho. Per quanto riguarda il metodo che usi tu, cioè il client.print() mi sembra che non è implementato nella libreria ethercard, se non è cosi correggimi. potresti postarmi un pezzo del tuo codice che usi per spedire la stringa al server php?

Ciao, premetto che il mio non è un server PHP, ma un server python/FLASK (te lo consiglio). A parte questo HTTP è standard per cui non dovrebbe cambiare nessuna implementazione tra PHP o python. ecco il mio codice:

 if (client.connect(server, 80))
  {
   
    client.print("POST /add_nodata");
    //concateno stringa+valori
    String dati="?param1=";
    dati+=val1;
    dati+="¶m2=";
    dati+=val2;
    dati+="¶m3=";
    dati+=val3;
    dati+=" HTTP/1.1";
    client.println(dati); //stampo l'URL completo
    client.println("Host: nodo");
    client.print("User-Agent: ");
    client.println();
    delay(1000);
  }

A parte questo codice che non mi sembra esserti di aiuto, sul link della libreria diJeelab vedo che la classe EtherCard ha un metodo per effettuare una POST: Di seguito la signature:

void EtherCard::httpPost    (   const char *   urlbuf,
        const char *   hoststr,
        const char *   additionalheaderline,
        const char *   postval,
        void(*)(uint8_t, uint16_t, uint16_t)   callback 
    )

purtroppo non riesco a trovare esempi su come farli funzionare bene.

supponendo che abbia una stringa di caratteri ad esempio (codice="abcdef")

qualcuno può postarmi un esempio di come inviarla alla pagina php?

grazie anticipatamente

edit

ho sniffato la rete con wireshark e non vedo passare nessuna richiesta http. A cosa può essere dovuto?

Prova prima questo: http://blog.protoneer.co.nz/arduino-http-post-requests/

Volevo ricordarvi che il codice dovete metterlo nei tag code. Vedere regolamento sezione 7 che spiega come fare. Altrimenti c'e' il rischio che parte del codice venga mal visualizzato (soprattutto se contiene delle parentesi quadre)