Help-me with String and Ethernet


hi guys, i'm big problem, make webserve java , arduindo via tcp/ip, needed send standard message via socket, well, can doing in arduino can't capture message, i'm using client.read () this, in output, string showing char char, going paste code can help...sorry english.

code: [select]

#include<ethernet.h>
#include<spi.h>
#include<string.h>

byte mac[] = { 0xde, 0xad, 0xbe, 0xef, 0xfe, 0xed }; 
ipaddress ip( 10, 1, 1, 18 ) ;   
ethernetserver server(90); 
int frente = 9;
int meio = 10;
int atras = 11;


void setup()
{

serial.begin(9600);
ethernet.begin(mac, ip);   
server.begin();       
serial.print("server at\n");
pinmode(frente, output);
pinmode(meio, output);
pinmode(atras, output); 

}

void loop()
{
ethernetclient client = server.available();   

if (client)
{   
                int = 0;
while(client.connected())
{       
                        char aux[3] = ""; 
if (client.available())
{
int = 0;
                                while(i<1){
                                  char c = client.read();
                                  aux[i] += c;
                                  i++;
                                }
//int k = atoi(aux);
                                aux[2] = '\0';
                                int codigo = atoi(aux);
                                if (strcmp(aux, "31") == 0){
                                  serial.println("sou 31");
                                }
                                int grupo = codigo / 3;
                                int estado = codigo % 3;
                             
                                //msg[1] = client.read();
                                //char grupo = msg[0];
                                //char  estado = msg[1];
                                serial.println("31");
                                //if (c == '3')serial.println("sou 3");
                                switch(grupo){

case 10: //frente
serial.println("entrei no 10");
                                        if (estado == 1)
{
digitalwrite(frente, high);
//serial.println("ligando");
client.println("1");
}
else
{
digitalwrite(frente, low);
//serial.println("apagando");
client.println("0");
}
break;

case 20: //meio
serial.println("entrei no 20");
                                        if (estado == 1)
{
digitalwrite(meio, high);
//serial.println("ligando");
client.println("1");
}
else
{
digitalwrite(meio, low);
//serial.println("apagando");
client.println("0");
}
break;

case 30: //atras
serial.println("entrei no 30");
                                        if (estado == 1)
{
digitalwrite(atras, high);
//serial.println("ligando");
client.println("1");
}
else
{
digitalwrite(atras, low);
//serial.println("apagando");
client.println("0");
}
break;
}
delay(1);

}

}
client.stop();   
}
}

code: [select]
while(i<1){
                                  char c = client.read();
                                  aux[i] += c;
                                  i++;
                                }

why use while loop iterate once? looks clueless, me.

why adding c value in aux[ 0 ]? 0th element can hold 1 character, not appending character there.

code: [select]
                                if (strcmp(aux, "31") == 0){
since reading 1 character, , mangling array element, there not snowballs chance in hell ever true.


Arduino Forum > Using Arduino > Programming Questions > Help-me with String and Ethernet


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62