Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144

    Inviare richiesta http a server dns

    Salve a tutti,

    dispongo di una index.php presente qui che, tramite una funzione ajax, richiama la seguente pagina php non appena clicco su "accendi led1"

    codice:
    <?php
    if (isset($_GET['led1'])) {
        $status = $_GET['led1'];
        if (isset($status)) {
                echo("Il led 1 è $status");
                
        } 
        else {
            echo("Comando non rilevato");
        }
    }
    ?>
    Inoltre, dispongo di un arduino che ho configurato come un webserver assegnadogli un IP dinamico accessibile quindi da qualsiasi postazione. L'hostname assegnato è ledon.dlinkddns.com.
    Vorrei sapere se, dalla pagina php qui sopra, è possibile inviare una richiesta http verso questo webserver, in modo da comandare il mio arduino da remoto.

    Spero qualcuno possa aiutarmi.
    Grazie.

    Ultima modifica di mbistato; 16-11-2014 a 15:40

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Se tu chiami il ddns, risponde il tuo router
    Sul router devi instradare il traffico verso l'arduino

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144
    scusa ma non mi è chiaro quello che hai scritto.
    Io dovrei inserire nella mia pagina php un'istruzione del genere per poter inviare il comando desiderato all'arduino:

    codice:
    <a href="http:ledon.dlinkddns.com/on"/>
    in che modo dovrei instradare il traffico verso l'arduino?

  4. #4
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    Ciao

    Ciao non sono un esperto, ma in questo link è indicato come controllare un led con arduino e browser,

    http://www.logicaprogrammabile.it/co...otare-arduino/

    quindi se in un tuo script php metti un link, comandi arduino.., ma in realtà non è la pagina php che invia il comando, ma è il browser che usi, la pagina contiene solo una copia del link.
    Tecnologia

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da mbistato Visualizza il messaggio
    scusa ma non mi è chiaro quello che hai scritto.
    Io dovrei inserire nella mia pagina php un'istruzione del genere per poter inviare il comando desiderato all'arduino:

    codice:
    <a href="http:ledon.dlinkddns.com/on"/>
    in che modo dovrei instradare il traffico verso l'arduino?
    il ddns (ovvero il dominio del link che vuoi richiamare tramite la tua pagina php) presumo punti sull'indirizzo IP del router/modem (di casa, di ufficio) che gestisce la connessione verso internet della rete locale alla quale è connesso l'arduino: una volta che la richiesta dal web arriva al modem/router, questo deve instradarla verso l'indirizzo IP assegnato all'arduino. E lo fai impostando delle regole sul router (una cosa tipo "tutte le chiamate che arrivano sulla porta XX devono essere inviata all'IP di Arduino sulla porta YY")

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144
    Quote Originariamente inviata da clasku Visualizza il messaggio
    il ddns (ovvero il dominio del link che vuoi richiamare tramite la tua pagina php) presumo punti sull'indirizzo IP del router/modem (di casa, di ufficio) che gestisce la connessione verso internet della rete locale alla quale è connesso l'arduino: una volta che la richiesta dal web arriva al modem/router, questo deve instradarla verso l'indirizzo IP assegnato all'arduino. E lo fai impostando delle regole sul router (una cosa tipo "tutte le chiamate che arrivano sulla porta XX devono essere inviata all'IP di Arduino sulla porta YY")
    Ho configurato il router aprendo la porta 80 (su cui è in ascolto l'arduino) e ho pure impostato l'indirizzo IP dell'arduino.

    Il problema è che non so la sintassi corretta per inviare il comando ad arduino mediante la seguente pagina:

    codice:
    <?php
    include_once("ledstatus.php");
    $status = get_status();
    ?>
    
    
    <!DOCTYPE HTML>
    <html>
        <head>
        <meta charset="utf-8">
        </head>
        <body>
            <center>
            <?php
            if ($status == "1") { ?>
                <p>Il led è acceso</p>
                <form action="http://ledon.dlinkddns.com/led=off" method="post">
                    <input type="submit" value="SPEGNI LED">
                </form>
            <?php }
            else{ ?>
                <p>Il led è spento</p>
                <form action="http://ledon.dlinkddns.com/led=on" method="post">
                    <input type="submit" value="ACCENDI LED">
                </form>
            <?php } ?>
    
    
            </center>
        </body>
    </html>
    Lo script appena scritto manderebbe il comando all'arduino ma la pagina all'indirizzo http://ledon.dlinkddns.com/on non sarebbe raggiungibile. Infatti, non appena clicco sul bottone "ACCENDI LED" o "SPEGNI LED", il browser mi risponde che tale pagina non è raggiungibile.
    Ultima modifica di mbistato; 17-11-2014 a 18:29

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Se led è la variabile che legge Arduino, metrici un ? davanti subito dopo lo slash

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144
    Ho provato ma dopo un lungo caricamento il browser mi dice che la pagina non è raggiungibile.

    Il metodo che funziona parzialmente per il mio scopo è il seguente:

    codice:
    <div>
    <a href="http://ledon.dlinkddns.com/on">
    	<input type="button" value="- ACCENDI LED -" /><br />
    </a>
    </div>
    funziona parzialmente nel senso che arduino riceve la stringa "on", ma non appena clicco su ACCENDI LED, la richiesta alla pagina http://ledon.dlinkddns.com/on non va a buon fine.

    Arduino non riceve variabili ma solo pacchetti di dati del tipo:

    GET /on HTTP/1.1
    Host: ledon.dlinkddns.com
    Connection: keep-alive
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom.....

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Sinceramente non capisco
    Se richiami l'indirizzo del ddns senza parametri sei sicuro che la chiamata arrivi all'ip di arduino?

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    144
    Alla fine ho risolto con Jquery. Grazie lo stesso!

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.