Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
leggere php
#1
Ciao
Non so se qualcuno ci ha provato.... ma vorrei leggere alcuni dati su un dbMySql tramite un php che richiamo con i comandi classici:

        Serial.print("\n$TCP0:CA:hostxxxx:80:GET /Letturaparametri.php");

        Serial.println(" HTTP/1.1\\r\\nHost: hostxxxx\\r\\n\\r\\n");

il browser darebbe un risultato del genere:

#1100#300#

poi come intercetto questo risultato del php?

Grazie
Mic
Reply
#2
Nessuna idea?
Vale la stessa cosa se si deve recuperare dati da una get su HTTP....
Aiutooooo
Reply
#3
leggi qua: http://www.miupanel.com/forum/showthread.php?tid=126
Reply
#4
Si lo avevo letto...ma non mi funziona....ossia ottengo sempre:
Messaggio:$OK-PANEL
Messaggio:$OK-TCP0-Connecting
Messaggio:$TCP0:CONNECTED
Messaggio:$TCP0:SENT:1
i passi fondamentali sono i seguenti:


Code:
void setup()
{
 
 pinMode(A0,INPUT);
 pinMode(trigger,OUTPUT);
 pinMode(echo,INPUT);
 pinMode(relepompa,OUTPUT);

 
 Serial.begin(57600);       // Inizializzazione della porta seriale (57600 è la velocità di comunicazione
 Serial.println("");




 delay(5000);
 
Serial.println("$P:D!228;///{-r30!228,114*10{T:Pompa Accesa;|L1G:0;_T:Pompa Spenta;|L2R:1;}}///{{-r30!228,114*8{/T:Accendi Pompa;W11:0;}//^{*10L35:0;&L45:0;&L55:0;mT#0F0*32fi:%;_^T:Umidita' Terreno;}//{^*10L65:0;&L75:0;mT#0F0*32fi:.;&L85:0;__T:Litri Acqua;=/_^B1:Aggiorna;}}");


}

/*********************************************************/


void loop() {
 
 int c;
 while ((c = Serial.read()) > '\n' ) Msg += (char) c; // leggi i caratteri via seriale e componi il messaggio, fino alla nuova linea '\n'
 if (c == '\n')
 {
   Serial.print("Messaggio:");
   Serial.println(Msg);
e poi nella funzione:

Code:
void LetturaParametri(void) {

     
       Serial.println("\n$TCP0:CAH:mioserver.altervista.org:80:/prova.txt");
       
       
       
       delay(1000);
       
       }

dove sbaglio?

Huh Huh Huh
Reply
#5
Ho provato anche con una nuova scheda con FW aggiornato ma nulla...
Nessuna idea di dove sbaglio?
Reply
#6
Ciao migreco,

per leggere un file (statico o generato da php) puoi usare la socket in modalità H (HTTP) in modo da non dover processare tutti gli header di risposta del server. Puoi usare come esempio il seguente comando Arduino (che preleva la pagina test.txt contentente "Ciao" dal sito miuPanel):

Serial.println("\n$TCP0:CAH:www.miupanel.com:80:/test.txt HTTP/1.0\\r\\nHost: http://www.miupanel.com\\r\\nDummy: ");
 
Arduino riceverà le seguenti righe:

$OK-TCP0-Connecting
$TCP0:CONNECTED
$TCP0:SENT:1
$TCP0:FILE-LEN:4
$TCP0:#0269,031.011.032.035:00080
$TCP0:>A:Ciao
$TCP0:DISCONNECTED

Puoi individuare il contenuto della tua pagina cercando le righe che iniziano con "TCP0:>A:"

ad esempio con il comando:

if (Msg.substring(0,9).equals("$TCP0:>A:")) { Serial.println("Ricevuto:*"+Msg.substring(9)+"*"); }

Ciao,
Simone
Reply
#7
(07-26-2019, 09:01 AM)Simone Wrote: Ciao migreco,

per leggere un file (statico o generato da php) puoi usare la socket in modalità H (HTTP) in modo da non dover processare tutti gli header di risposta del server. Puoi usare come esempio il seguente comando Arduino (che preleva la pagina test.txt contentente "Ciao" dal sito miuPanel):

Serial.println("\n$TCP0:CAH:www.miupanel.com:80:/test.txt HTTP/1.0\\r\\nHost: http://www.miupanel.com\\r\\nDummy: ");
 
Arduino riceverà le seguenti righe:

$OK-TCP0-Connecting
$TCP0:CONNECTED
$TCP0:SENT:1
$TCP0:FILE-LEN:4
$TCP0:#0269,031.011.032.035:00080
$TCP0:>A:Ciao
$TCP0Big GrinISCONNECTED

Puoi individuare il contenuto della tua pagina cercando le righe che iniziano con "TCP0:>A:"

ad esempio con il comando:

if (Msg.substring(0,9).equals("$TCP0:>A:")) { Serial.println("Ricevuto:*"+Msg.substring(9)+"*"); }

Ciao,
Simone
Simone
Avevo letto i tuoi post ma anche con il tuo ultimo esempio:

Serial.println("\n$TCP0:CAH:www.miupanel.com:80:/test.txt HTTP/1.0\\r\\nHost: http://www.miupanel.com\\r\\nDummy: ");

ottengo:

14:21:37.012 -> Messaggio:$OK-PANEL
14:21:37.503 -> Messaggio:$OK-TCP0-Connecting
14:21:38.016 -> Messaggio:$TCP0:CONNECTED
14:21:38.534 -> Messaggio:$TCP0:SENT:1

e quindi non posso andare ad estrarre la stringa dalla risposta
Reply
#8
(07-26-2019, 12:35 PM)migreco Wrote: Simone
Avevo letto i tuoi post ma anche con il tuo ultimo esempio:

Serial.println("\n$TCP0:CAH:www.miupanel.com:80:/test.txt HTTP/1.0\\r\\nHost: http://www.miupanel.com\\r\\nDummy: ");

ottengo:

14:21:37.012 -> Messaggio:$OK-PANEL
14:21:37.503 -> Messaggio:$OK-TCP0-Connecting
14:21:38.016 -> Messaggio:$TCP0:CONNECTED
14:21:38.534 -> Messaggio:$TCP0:SENT:1

e quindi non posso andare ad estrarre la stringa dalla risposta

Anche se usi il comando che ho riportato con gli indirizzi del sito miupanel non funziona? Oppure non funziona solo quando metti l'indirizzo del tuo server?

Simone
Reply
#9
Ho provato con il tuo...
a questo punto può essere un problema di alimentazione o di connessioni elettriche?
Non mi viene in mente altro

Però ho provato con altra scheda  arduino e altro miupanel e cavetto nuovi... ma nulla
Reply
#10
(07-26-2019, 01:10 PM)migreco Wrote: Ho provato con il tuo...
a questo punto può essere un problema di alimentazione o di connessioni elettriche?
Non mi viene in mente altro

Però ho provato con altra scheda  arduino e altro miupanel e cavetto nuovi... ma nulla

Non credo... se provi con il seguente cosa ottieni?

Serial.println("\n$TCP0:CAH:www.miupanel.com:80:/test.txt");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)