Go Down

Topic: [Help] Domotica con WebServer Arduino (Read 12159 times) previous topic - next topic

BaBBuino

Code: [Select]
<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script type="text/javascript">
var babbuini = [ "192.168.0.2", "192.168.0.4", "192.168.0.5", "192.168.0.6"];
$(document).ready(function(){
$("#cmd01").click(
function() {
$.each(babbuini, function() {
$.ajax({
type: "GET",
// url chiamata: http://192.168.0.X/baBBuino?params
url: "http://" + this, //+ "/baBBuino",
data:  "b1"
    });
});
});
});
</script>
<input type="button" id="cmd01" value="Invia baBBuino" /><br />
</body>
</html>


Questo codice non funziona. La stringa che devo mandare è semplicemente "b1" che mi accende la 1a luce di ogni stanza.

Ho aperto la finestra relativa ad un babbuino a caso (192.168.1.5) ho lanciato questo file di esempio, clikkato sull'unico pulsante "Invia baBBuino" ma non succede assolutamente nulla alla pagina del babbuino. Non si aggiorna, non compare la stringa "b1" ne niente.

Ora cerco di capire l'esempio di Pablo

BaBBuino

Mi sorge un dubbio:

   <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

Qui c'è un richiamo ad un file jquery-lastest.js. Non è che me lo devo scaricare e mettere nella cartella dove ho il file con il pulsante "Invio Babbuino"?

BaBBuino

Il dubbio era corretto.

Mi sono puppato una  Guida per JQuery e ho capito che quell'intestazione serve per caricare il motore JQuery.

Ho scaricato la versione jquery-1.7.1.js  ver develop, non compressa, e l'ho messa nella cartella del file con il pulsante "Invio BaBBuino"
Ho cambiato l'intestazione con riferimento all'ultima versione scaricata, senza path perchè sono nella stessa cartella:

<script language="javascript" type="text/javascript" src="jquery-1.7.1.js"></script>

Ho salvato, ma non funziona ancora un tubo.

astroz78

Il mio dubbio é come fai a dimmerare una luce a 220v con un Pwm...dalle conoscenze che ho io di elettronica...non credo tu possa farlo... ;)
OpenDomotica ...la domotica con Arduino - www.opendomotica.it

BaBBuino

Infatti non ne dimmero una ma ben 4!

pitusso

Quote
Qui c'è un richiamo ad un file jquery-lastest.js. Non è che me lo devo scaricare e mettere nella cartella dove ho il file con il pulsante "Invio Babbuino"?


se il tuo pc è in rete, si scarica da sè il core jquery dall'indirizzo riportato.
Se il pc NON è in rete, allora devi fornire il core in altro modo, per esempio facendolo scaricare da arduino stesso.

Quote
Questo codice non funziona. La stringa che devo mandare è semplicemente "b1" che mi accende la 1a luce di ogni stanza.


lo script invia ad ogni nodo: /baBBuino?b1
Se utilizzi un browser come FireFox, e ti installi l'extension FireBug, riesci a vedere la chiamata effettuata da jquery, e l'eventuale risposta.

BaBBuino

Il file ultimo di Jquery l'ho installato nella Directory dove ho il file con il pulsante "Invia BaBBuino", con il richiamo nell'intestazione, quindi sono a posto. Cmq il pc è in rete, e non funzionava lo stesso con il path che rimandava all'indirizzo internet con l'ultima versione.

Nel pomeriggio provo a fare debug con quell'estensione Firefox che mi hai consigliato...

BaBBuino

Ho installato FireBug, e immagino debba aprire la finestrella "Consolle", ma non vedo nulla quando premo il pulsante "Invia BaBBuino.
Ne nella Consolle nella finstra del pulsante, ne nella finestra di FireBug che ho aperto dentro la pagina del BaBBuino.  :smiley-eek-blue:

BaBBuino

Aggeggiando un pò sono riuscito a tirare fuori questa schermata:

Mi dice: funzione non definita...


pitusso

..non ti sta caricando il framework jquery.
Dove hai messo il file jquery*.js?
Posti l'header (<head>)?

BaBBuino

Questo è il codice.

Spero di aver scritto correttamente il path (ora mi viene il dubbio sullo slash). Cmq il Jquery-1.7.1.jr è nella stessa cartella del file prova_1.html.

Code: [Select]
<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript" src="/jquery-1.7.1.js"></script>
</head>
<body>
<script type="text/javascript">
var babbuini = [ "192.168.0.3", "192.168.0.4", "192.168.0.5", "192.168.0.6"];
$("document").ready(function(){
$("#cmd01").click(
function() {
$.each(babbuini, function() {
$.ajax({
type: "GET",
// url chiamata: http://192.168.0.X/baBBuino?params
url: "http://" + this, data:  "b1"
    });
});
});
});
</script>
<input type="button" id="cmd01" value="Invia baBBuino" /><br />
</body>
</html>

BaBBuino

Amico pitusso... sono un baBBeo, anzi no, un BaBBuino!

Ho levato lo slash dal pat e, appena clikkato il pulsante, è partito un albero di nmatale in Console di funzioni GET, che ha ripetuto 2 volte prima di arrestarsi.

Però, pur avendo aperta di fianco la pagina del BaBBuino 192.168.1.5 (uno di quelli dentro la lista), non è successo un tubo. Ho provato più volte ma nulla, la pagina di Firefox rimane piantata con il numero IP senza che compaia la stringa "b1" quella che mi fa accendere la 1a luce.

Ora provo ad aprire la console sul BabbUino per vedere se capta le chiamate GET.

BaBBuino

Allora...

adesso il pulsante pare funzionare (avevo sbagliato anche gli IP, mettendo 192.168.0 invece che 192.168.1...). Però mi da quell'errore 200OK con i millisec della trasmissione.

L'IP target è il 192.168.1.5. Gli altri IP danno errore perchè ora sono scollegati dallo Switch, quindi non fateci caso.


dr4gone

Ciao
200 Ok è la risposta in codice che ti da la Get dicendo che la richietsa ha avuto successo...

BaBBuino

E come mai c'è la X rossa?

Cmq io mi aspetto che:

- Finestra aperta del pulsante che invia i GET
- di fianco Finestra aperta del WebServer dentro il BaBBuino
- quando clikko il pulsante della finestra 1 devo vedere qualcosa nella finesra 2, chessò, un aggiornarsi della pagina, un comparire il dato inviato sulla barra degli indirizzo, un mostro alieno che mi sukkia il cervello, insomma, qualcosa.

Invece tutto statico e non succede nulla alla pagina del BaBBuino

Go Up