Ethernet shield client error.
hi, i've problem client connection.
i've arduino ethernet shiled read url , if there's determinate substring arduino turn on led.
this sketch read temperature , sensor pir segnal values , send them on database.
without sendind datas database client connect read url don't problem,but if send datas client problem.
client problem
i've arduino ethernet shiled read url , if there's determinate substring arduino turn on led.
this sketch read temperature , sensor pir segnal values , send them on database.
without sendind datas database client connect read url don't problem,but if send datas client problem.
client problem
code: [select]
ethernetclient client = server.available();
if (client) //se esiste un cliente
{
while (client.connected()) // se il cliente e' connesso
{
if (client.available()) //se e' tutto ok per iniziare
{
char c = client.read(); //leggi singoli caratteri inviati
if (readstring.length() < 100)
{
readstring += c; //concatena caratteri
}
// serial.print(readstring);
if (c == '\n') //vede se c'e' il carattere di fine stringa, per individuare che e' finita
{
if(readstring.indexof("l1=1") > 0) //imposta una variabile di tipo boleana (vero-falso) per gli stati del led
{
ledon1 = true;
}
else if (readstring.indexof("l2=1") > 0)
{
ledon2 = true;
}
else if (readstring.indexof("l3=1") > 0)
{
ledon3 = true;
}
else if (readstring.indexof("l4=1") > 0)
{
ledon4 = true;
}
else if(readstring.indexof("l1=0") > 0)
{
ledon1 = false;
}
else if (readstring.indexof("l2=0") > 0)
{
ledon2 = false;
}
else if (readstring.indexof("l3=0") > 0)
{
ledon3 = false;
}
else if (readstring.indexof("l4=0") > 0)
{
ledon4 = false;
}
else if (readstring.indexof("a=0") > 0)
{
acceso = false;
}
else if (readstring.indexof("a=1") > 0)
{
acceso = true;
}
//crea la pagina html (verra' aggiornata ad ogni istruzione nuova)
client.println("http/1.1 200 ok");
client.println("content-type: text/html");
client.println();
client.println("<html><head>");
//refresh per le temperature
client.print("<meta http-equiv='refresh' content='2'>");
client.println("<title>arduino home</title></head><body>");
client.println("<table border=""2"" width=""100%"" height=""100%""><tr><td align=""center"">");
//titolo led 1
client.println("<h1>luce cucina</h1>");
//operazioni da fare quando si clicca per attivare ledon1:
if (ledon1) {
digitalwrite(ledpin6, high);
client.println("stato: on <br>");
//crea pulsanti relativi led1
client.println("<a href='l1=0'>spegni</a>");
client.println("<a href='l1=1'>accendi</a>");
}
else {
//operazioni da fare quando si clicca per spegnere ledon1:
digitalwrite(ledpin6, low );
client.println("stato: off <br>");
//crea pulsanti relativi led1
client.println("<a href='l1=0'>spegni</a>");
client.println("<a href='l1=1'>accendi</a>");
}
//ttolo led2
client.println("<h1>luce salotto</h1>");
//operazioni da fare quando si clicca per attivare ledon2:
if (ledon2) {
digitalwrite(ledpin7, high);
client.println("stato: on<br>");
//crea pulsanti relativi led1
client.println("<a href='l2=0'>spegni</a>");
client.println("<a href='l2=1'>accendi</a>");
}
else {
//operazioni da fare quando si clicca per spegnere ledon2:
digitalwrite(ledpin7, low);
client.println("stato: off<br>");
//crea pulsanti relativi led1
client.println("<a href='l2=0'>spegni</a>");
client.println("<a href='l2=1'>accendi</a>");
}
//ttolo led3
client.println("<h1>luce bagno</h1>");
//operazioni da fare quando si clicca per attivare ledon2:
if (ledon3) {
digitalwrite(ledpin8, high);
client.println("stato: on<br>");
//crea pulsanti relativi led1
client.println("<a href='l3=0'>spegni</a>");
client.println("<a href='l3=1'>accendi</a>");
}
else {
//operazioni da fare quando si clicca per spegnere ledon2:
digitalwrite(ledpin8, low);
client.println("stato: off<br>");
//crea pulsanti relativi led1
client.println("<a href='l3=0'>spegni</a>");
client.println("<a href='l3=1'>accendi</a>");
}
//ttolo led4
client.println("<h1>luce camera da letto</h1>");
//operazioni da fare quando si clicca per attivare ledon2:
if (ledon4) {
digitalwrite(ledpin9, high);
client.println("stato: on<br>");
//crea pulsanti relativi led1
client.println("<a href='l4=0'>spegni</a>");
client.println("<a href='l4=1'>accendi</a>");
}
else {
//operazioni da fare quando si clicca per spegnere ledon2:
digitalwrite(ledpin9, low);
client.println("stato: off<br>");
//crea pulsanti relativi led1
client.println("<a href='l4=0'>spegni</a>");
client.println("<a href='l4=1'>accendi</a>");
}
client.print("</td>");
client.print("<td align=""center"">");
client.print("<table border='0' width=""100%"" height=""100%""><tr><td align=""center"">");
//output
client.print("<h1>temperatura</h1>");
client.print("<br>temperatura in gradi celsius: ");
client.print(tempc);
client.print(" <br><br>");
client.print("<br>temperatura in gradi fahrenheit: ");
client.print(tempf);
client.print(" <br><br>");
client.print("<br>temperatura in gradi kelvin: ");
client.print(tempk);
client.print(" <br>");
client.print("</td>");
client.print("</tr><tr>");
client.print("<td align=""center"">");
client.print("<hr align=""left"" size=""2"" width=""100%"" noshade>");
client.print("<h1>allarme</h1>");
if (acceso){
client.println("stato: on<br>");
client.println("<a href='a=0'>spegni</a>");
client.println("<a href='a=1'>accendi</a>");
}
else{
client.println("stato: off<br>");
client.println("<a href='a=0'>spegni</a>");
client.println("<a href='a=1'>accendi</a>");
}
client.print("</td></tr></table>");
//chiude tag html per la pagina
client.println("</body></html>");
//si prepara per una nuova istruzione
readstring="";
//termina le operazioni cliente
client.stop();
}
}
}
}else serial.print(" errore connessione luci ");
this connection db
code: [select]
bottone.read();
if (bottone.wasreleased()){
acceso = !acceso;
if (client2.connect(sql_server, 8080)){
if(acceso==true){
// valore = 1 per segnalare che l'allarme è settato ad on
serial.print("\n");
//invio la richiesta al server
client2.print("get /s_allarme.php?valore=1&id=1");
client2.println();
serial.print("acceso");
serial.print("\n");
}
else{
// valore = 0 per segnalare che l'allarme è settato ad off
//invio la richiesta al server
client2.print("get /s_allarme.php?valore=0&id=1");
client2.println();
serial.print("spento");
serial.print("\n");
}
//chiudo la connessione
client2.stop();
client2.flush();
}
}
if (acceso){
digitalwrite(ledallarme,high);
statosensore = analogread(pinpir);
serial.print(statosensore);
// stato allarme suonato
if (statosensore != 0){
tone(pinpiezo,1250);
suonato = suonato + 1;
if(suonato == 1){
if (client2.connect(sql_server, 80)){
//valore = 2 per segnalare che l'allarme è scattato
//invio la richiesta al server
client2.print("get /s_allarme.php?valore=2&id=1");
client2.println();
//chiudo la connessione
client2.stop();
client2.flush();
serial.print("suonato");
serial.print("\n");
}
}
}
}
// stato allarme off
else{
notone(pinpiezo);
digitalwrite(ledallarme,low);
suonato = 0;
}
Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Ethernet shield client error.
arduino
Comments
Post a Comment