Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44

    Passaggio dati sensore con ajax, lento

    Salve, ho un sensore di temperatura collegato ad un raspberry che scrivi il valore registrato in un file insieme ad un'altra serie di caratteri che non m'interessano quindi uso questo script php che richiama un comando shell per estrapolare il valore delle temperatura

    SCRIPT PHP getTemp.php

    Codice PHP:
    echo exec ("grep 't=' /sys/bus/w1/devices/w1_bus_master1/280415913a34ff/w1_slave | awk -F 't=' '{print $2}'"); 
    in un file html grazie ad una chiamata ajax prendo il valore della temperatura

    CHIAMATA AJAX
    codice:
    function update(){
    
     $.ajax({
      
          type: "GET",
          
          url: "scripts/getTemp.php",
          
          success: function(temp){ 
                  var y = temp/1000;
                  var x = (new Date()).getTime();
                  data.push([x,y]); 
                   }
     });
    ...........................
    ...altre operazioni...
    ...........................
    }
    la funzione update è dentro un setInterval affinché i dati vengano aggiornati a scadenza regolare ma c'è un problema: le chiamate ajax vanno a rilento, i dati dovrebbero arrivare ogni 2 secondi ma arrivano in modo irregolare a volte anche dopo 20/30 sec. Il problema potrebbe essere dato dai comandi awk e grep? che altra strada potrei tentare?
    Ultima modifica di ciro78; 31-01-2017 a 22:56 Motivo: tag code

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,506
    ciao tom,
    usa il tag code per il codice. come suggerito nel regolamento.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    i tag sono inseriti cos'altro devo fare?

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,506
    Quote Originariamente inviata da tom135 Visualizza il messaggio
    i tag sono inseriti cos'altro devo fare?

    li ho inserito io. mancavano. nessun problema. fai attenzione per la prossima volta.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    io li avevo inseriti dall'inizio ma ho avuto qualche problema col browser. Mi dispiace per l' inconveniente, la prossima volta controller�.

  6. #6
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Forse la lentezza e' dovuta al fatto che ogni chiamata exec crea una nuova instance della shell, anche se mi sembra strano ci impieghi 20 secondi.. quando esegui quel comando direttamente e' istantaneo oppure no?

    Cmq ti consiglio di usare setTimeout per richiamare la funzione dopo i 2 secondi invece di setInterval.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    quando eseguo quel comando direttamente � quasi istantaneo, impiega quasi un secondo... come posso fare la stessa cosa ma senza usare exec?
    comunque all'inizio usavo setTimeout ma dava problemi nel momento in cui con un button attivano clearTimeout ma le chiamate ajax a volte non s'interrompevano, tutto penso dipendesse da momento in cui richiamavo clearTimeout rispetto al punto in cui era la chiamata ajax

  8. #8
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Dal momento che usi PHP perche' non lo usi direttamente per estrarre dal file di testo l'informazione che ti serve, invece di usare un commando bash nella shell?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    vorrei farlo e ci avevo pensato ma non conosco bene il php come invece conosco JS e qualche comando della shell. Tu sapresti darmi qualche indicazione? il file da cui devo estrarre il valore � di questo genere: ....caratteri...... t = 23000 .....altri caratteri

  10. #10
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Dovrei cercare anch'io perche' non tocco PHP da anni. Prova a postare nel forum PHP

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.