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

    Passaggio dati in tempo reale

    Salve ho il bisogno di passare i dati di un sensore in tempo reale. Il sensore salva i dati i un file sul computer e io tramite il seguente file ("getTemp.php") vado a prelevare questi dati.

    <?php


    echo exec ("grep 't=' /sys/bus/w1/devices/w1_bus_master1/28-0415913a34ff/w1_slave | awk -F 't=' '{print $2}'");


    ?>

    Ora io vorrei tramite ajax salvare ciò che stampa il file php in una variabile javascript e ciò deve avvenire in tempo reale e senza dover ricaricare la pagina. I dati servono poi per fare un grafico in tempo reale. Per il grafico non ci sono problemi, ma per il passaggio con ajax si. come potrei fare?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,697
    Ciao e benvenuto, in linea di massima, per semplificarti la vita, ti consiglio l'uso di jQuery. Ci sono vari metodi per effettuare chiamate AJAX; vedi il metodo principale ajax(), per l'appunto, o get() (un modo semplificato per eseguire chiamate AJAX e riceverne i dati) oppure load() (altro metodo semplificato simile a get() ma in aggiunta inserisce direttamente i risultati sulla pagina).

    Eventualmente valuta tu cosa sia meglio utilizzare in base a ciò che ti serve ottenere. Intanto ti invito a fare qualche prova, poi se incontri difficoltà puoi sempre chiedere qui sul forum ma non prima di aver fatto qualche ricerca sul forum stesso o sul web, perché l'argomento e di carattere generale ed è abbastanza discusso.

    Buon proseguimento e buona permanenza sul forum.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    ciao tom,
    benvenuto sul forum. ti invito a leggere il regolamento prima di proseguire nel suo utilizzo.
    in particolare sezione che riguardano i titoli e il tag code.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    Grazie per le dritte, avevo già fatto delle ricerche su internet e delle prove con i comandi da te consigliati ma mi sono rivolto al forum perche non riesco a capire perche non funziona. Il codice non sembra avere errori, più che altro il browser forse blocca l'esecuzione del comando per qualche motivo. Posto di seguito le varie prove che ho fatto.

    PROVA 1
    codice:
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $("#div1").load("getTemp.php");
        });
    });
    </script>
    </head>
    <body>
    
    <div id="div1"><h2>External Content</h2></div>
    <button>Get External Content</button>
    </body>
    </html>
    
    PROVA 2
    
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $.get("getTemp.php", function(data, status){
                alert("Data: " + data + "\nStatus: " + status);
            });
        });
    });
    </script>
    </head>
    <body>
    
    <button>Send an HTTP GET request to a page and get the result back</button>
    
    </body>
    </html>
    
    PROVA 3
    
    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $.getJSON("getTemp.php", function(result){
                $.each(result, function(i, field){
                    $("div").append(field + " ");
                });
            });
        });
    });
    </script>
    </head>
    <body>
    
    <button>Get JSON data</button>
    
    <div></div>
    
    </body>
    </html>
    Ultima modifica di ciro78; 21-11-2016 a 10:32 Motivo: tag code

  5. #5
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    tom.....regolamento e tag code! 2 avvertimento
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,697
    Il codice delle prove che hai fatto sembra ok.

    Bisogna capire se stai operando online oppure in locale/localhost, per cui il browser potrebbe bloccare le richieste per restrizioni di sicurezza; questo può differire da browser a browser.

    Se si tratta di un'applicazione in locale, bisogna valutare se intendi distribuirla o se devi farne giusto un uso privato, per cui potresti pensare di usare un browser piuttosto che un altro (ad es. FireFox è più permissivo in questo caso) o operare sulle impostazioni del tuo browser (su Chrome potrebbe essere necessario impostare il flag --allow-file-access-from-files).

    Inoltre bisogna capire che tipo di dati stai ricevendo da quella richiesta, questo può influire sul successo o no della chiamata AJAX. Se si tratta di un oggetto JSON, deve avere una sintassi opportuna?
    Eventualmente sarebbe utile vedere un esempio di cosa viene restituito esattamente dal file php.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    ho inserito i tag, il titolo non so come cambiarlo

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2016
    Messaggi
    44
    Si avevo il presentimento che ci fosse un problema legato alla sicurezza del browser. Il tutto viene eseguito su un raspberry pi e come browser uso o chromium o epiphany (default per raspbian). In caso su chrome cosa devo impostare? lo script php ritorna sempre una stringa del tipo "XXXXX" dove al posto delle X ci sono 5 numeri che rappresentano la temperatura rilevata dal sensore.

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    ciao, il titolo era ok. bene per il tag code.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.