Arduino ethernet web Server

Salve, come da titolo ho creato un web Server per la domotica con arduino,tramite browser è possibile comandare e controllare lo stato dei dispositivi collegati.
Vorrei sapere se è possibile che ad un particolare evento (E.S un dispositivo smette di funzionare) l'arduino invii un segnale audio tramite ethernet per poi essere riprodotto sul browser.

Beh.. dipende da vari fattori, soprattutto quale sensori e come è fatto il tuo web server...

ad esempio puoi fare che se un sensore è un sensore di temperatura, puoi scrivere un codice che se il valore è fuori dalla media di tanto (se mediamente legge una temperatura di 20 gradi, e all'improvviso segna sotto i 3 o sopra i 40) allora la pagina web emette un suono. Come far emettere un suono? Questo non dipende da arduino ma dal codice HTML, quindi devi guardare le specifiche del codice HTML...

ciao!

Non dipende da nessun fattore, lo può fare e basta (visto che siamo pignoli).

il Cross-posting è vietato o stai su un tread o stai sull'altro ... decidi tu.
http://forum.arduino.cc/index.php?topic=348451.msg2456937#msg2456937

E quindi? non ho detto che non lo può fare, ho solo detto che dipende da quale sensore è, da come è collegato etc etc, e a seconda di questi FATTORI può realizzare uno sketch con risposte diverse. Saluti.

Riprendo qui la discussione, a parte il si può fare, qualcuno ha una vaga idea di come farlo?
La mia pagina web è sull' SD, nell' SD carico anche il file audio.
Per aggiornare gli stati nella pagina HTML, l'arduino genera un file XML che viene elaborato tramite javascript.Posso ampliare questa funzione per riprodurre il file audio ?

In effetti non sarebbe una questione di Arduino ma di HTML5 e javascript

http://muellerware.org/projects/web-beep/

zoomx:
In effetti non sarebbe una questione di Arduino ma di HTML5 e javascript
How To Add Javascript Beep That Runs in All Browsers | SODEVE
audio - How do I make JavaScript beep? - Stack Overflow
GitHub - luciferous/beepjs: Makes browser beep.
Audio Playground

Ho provato ma niente non funziona, l'html funziona (all'apertura della pagina si sente l'audio) ma quando carico la pagina tramite arduino il file audio non viene processato.

Negli esempi che richiedono un file audio questo dovrebbe essere richiesto all'arduino e l'arduino dovrebbe fornirglielo. Va modificato lo sketch per ottenere questo. Non so come ma immagino sia più o meno lo stesso che per le immagini.
Oppure ti appoggi ad un file audio presente su un server web esterno.

zoomx:
Negli esempi che richiedono un file audio questo dovrebbe essere richiesto all'arduino e l'arduino dovrebbe fornirglielo. Va modificato lo sketch per ottenere questo. Non so come ma immagino sia più o meno lo stesso che per le immagini.
Oppure ti appoggi ad un file audio presente su un server web esterno.

Ho fatto una chiamata nell'arduino come si fa con le immagini

if (StrContains(HTTP_req, "GET beep.mp3")) {
                         webFile = SD.open("beep.mp3");
                         if (webFile) {
                         client.println("HTTP/1.1 200 OK");
                          client.println();
                           }
                       }

ma il risultato non cambia, adesso non so se per i file audio la chiamata è diversa ma penso di no.

Gli esempi che avevo visto usavano il wav ma non dovrebbe fare differenza.
Magari l'Arduino fornisce il file troppo lentamente? E' un file piccino?

Oppure la richiesta da parte del browser non è GET beep.mp3 ma su questo sono sufficientemente ignorante.

zoomx:
Gli esempi che avevo visto usavano il wav ma non dovrebbe fare differenza.
Magari l'Arduino fornisce il file troppo lentamente? E' un file piccino?

Oppure la richiesta da parte del browser non è GET beep.mp3 ma su questo sono sufficientemente ignorante.

Provato, inizio a pensare che non si possa fare come cosa, sono giorni che cerco su internet esempi ma non trovo nulla.

Si che si può caricare un wav, come un pdf, mp3, doc, ma ha poco senso data la sua lentezza, per poterlo fare bisogna avvertire prima il browser che file sta arrivando e allora aprirà il popup adatto o il programma dedicato all'interpretazione
Ti conviene usare un link verso server esterno dove si trova l'wav che ti serve, allora il beep o il suono anche più pesante sarà udito immediatamente, il "preload" ti aiuta a non attendere ulteriormente al primo load

Tra i link ce n'è uno che è solo in codice javascript senza file esterni. Ma non l'ho provato.

pablos:
Si che si può caricare un wav, come un pdf, mp3, doc, ma ha poco senso data la sua lentezza, per poterlo fare bisogna avvertire prima il browser che file sta arrivando e allora aprirà il popup adatto o il programma dedicato all'interpretazione
Ti conviene usare un link verso server esterno dove si trova l'wav che ti serve, allora il beep o il suono anche più pesante sarà udito immediatamente, il "preload" ti aiuta a non attendere ulteriormente al primo load

Il problema è che sia il pc che l'arduino vengono installati in una rete dove non c'e accesso ad internet, o in qualche modo devo prevedere una situazione del genere

Ma allora il file Wav lo puoi mettere sul PC, credo tu lo possa richiamare con un link corrispondente al path, così come si fa con le pagine salvate in locale.

Un webserver arduino non può aprire un file nel pc nemmeno dandone un percorso, www.google.it o un qualunque server a cui mi collego, non può aprire i miei doc, pdf, ecc e girare nel mio HDD, per una questione di autorizzazioni mancanti, firewall, privacy, ne tanto meno scrivere file senza popup di download, ecco perchè esistono i virus, essi sono applicazioni nascoste che fanno da ponte.

Mi pareva troppo facile..... :confused: