Ciao,
innanzi tutto grazie per le risposte!!
Mi rendo conto di essere stato molto vago nel primo post,quindi cerco di rettificare un po le cose:
-l'interfaccia web che sto creando è un'interfaccia di controllo/monitoraggio dei segnali provenienti da sensori.
In particolare dovrò acquisire un certo numero di campioni del segnale per poi ricostruirlo,quindi plottarne l'andamento(la forma d'onda);
per questo motivo sto utilizzando javascript,in particolare jQuery.
Tuttavia come qualcuno ha suggerito sarebbe meglio postare il codice.Allo scopo per focalizzare l'attenzione sul mio problema,ho creato questo codice che rappresenta una soluzione semplificata di un modulo del mio programma:
#include <TextFinder.h>
#include <Ethernet.h>
#include <SPI.h>
byte mac[]={0x90,0xA2,0xDA,0x00,0x77,0x6B};
byte ip[]={192,168,1,177};
Server server(80);
void rispondi(Client obj);
void web_page(Client obj);
void setup()
{
Serial.begin(9600);
Ethernet.begin(mac,ip);
server.begin();
}
void loop()
{
char buffer[4];
Client client=server.available();
if(client)
{
while(client.available())
{
TextFinder trova(client);
trova.getString("","/",buffer,sizeof(buffer));
if(strcmp(buffer,"GET")==0)
{
rispondi(client);
web_page(client);
}
}
}
client.stop();
}
void rispondi(Client obj)
{
obj.println("HTTP/1.1 200 OK");
obj.println();
}
void web_page(Client obj)
{
obj.println("<html>");
obj.println("<head>");
obj.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
obj.println("<title>Flot Examples</title>");
obj.println("<script language='javascript' type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'></script>");
obj.println("<script language='javascript' type='text/javascript' src='http://flot.googlecode.com/svn/trunk/jquery.flot.js'></script>");
obj.println("<script language='javascript' type='text/javascript' src='http://flot.googlecode.com/svn/trunk/jquery.flot.selection.js'></script>");
obj.println("</head><body><h1>Flot Examples</h1><div style='float:left'><div id='placeholder' style='width:500px;height:300px'>");
obj.println("</div></div><div id='miniature' style='float:left;margin-left:20px'>");
obj.println("<div id='overview' style='width:166px;height:100px'></div><p id='overviewLegend' style='margin-left:10px'></p>");
obj.println("</div>");
obj.println( " <script id='source'>$(function () { " );
obj.println("function getData(x1, x2) {var d = [];for (var i = 0; i <= 100; ++i) {var x = x1 + i * (x2 - x1) / 100;");
obj.println("d.push([x, Math.sin(x * Math.sin(x))]); }return [{ label: 'sin(x sin(x))', data: d }];}var options = {");
obj.println("legend: { show: false },series: {lines: { show: true },points: { show: true }},yaxis: { ticks: 10 },selection: { mode: 'xy' }");
obj.println("};var startData = getData(0, 3 * Math.PI);");
obj.println("var opt = {legend: { show: true, container: $('#overviewLegend') },");
obj.println("selection : {mode: 'xy'},xaxis: { ticks:4}, yaxis: { ticks: 3 , min: -2, max: 2}, series: { shadowSize: 0 } } ;");
obj.println("var plot = $.plot($('#placeholder'), startData, options);");
obj.println("var overview = $.plot($('#overview'), startData,opt);");
/********************** INSERIRE IL RESTO COME COMMENTO PER VISUALIZZARE LA PAGINA **** */
obj.println("$('#placeholder').bind('plotselected', function (event, ranges) {");
obj.println("if (ranges.xaxis.to - ranges.xaxis.from < 0.00001)");
obj.println("ranges.xaxis.to = ranges.xaxis.from + 0.00001;");
obj.println("if (ranges.yaxis.to - ranges.yaxis.from < 0.00001)");
obj.println("ranges.yaxis.to = ranges.yaxis.from + 0.00001;");
obj.println("plot = $.plot($('#placeholder'), getData(ranges.xaxis.from,ranges.xaxis.to),");
obj.println("$.extend(true,{},options,{");
obj.println("xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to },");
obj.println("yaxis: { min: ranges.yaxis.from, max: ranges.yaxis.to }");
obj.println("})");
obj.println(");");
obj.println("overview.setSelection(ranges, true);");
obj.println("});");
obj.println("$('#overview').bind('plotselected', function (event, ranges) {");
obj.println("plot.setSelection(ranges);");
obj.println("});");
/* *********************** FINE COMMENTO ******* */
obj.println("});");
obj.print("</script>");
obj.print("</body></html>");
}
Per poter visualizzare la pagina,si deve "tagliare" un po di codice, quindi vi ho
inserito due commenti per indicare la parte che va oscurata!
Come vi spieghereste questo comportamento?!