salve
finlmente ho iniziato a smanettare con il mio nuovo arduino uno + etherneth shield.
guardate il mio codice:
#include <SPI.h>
#include <Ethernet.h>
int indexByteMessaggio;
byte inByte;
byte messaggio[] = {
0, 0,};
EthernetClient client;
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x77, 0x4b };
IPAddress server(192,168,0,253); // server cucina
void setup()
{
Serial.begin(9600);
delay(1000);
//////////////////////////////////////////////////////////////////
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop()
}
}
void loop()
{
if (Serial.available() > 0) {
inByte = Serial.read();
if (inByte=='K'){
indexByteMessaggio=0;
}
else
if (inByte=='k'){
indexByteMessaggio=0;
}
messaggio[indexByteMessaggio] = inByte;
indexByteMessaggio = indexByteMessaggio + 1;}
if (messaggio[0] == 'k' && messaggio[1] == 'x'){
Serial.println("connecting...");
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
for(;; ) ;
}
if (client.connect(server, 80)){
Serial.println("connected");
client.println("GET /login.htm?usern=e&passw=e HTTP/1.0");
client.println(); }
messaggio[0]='0';
messaggio[1]='0';
}
if (messaggio[0] == 'k' && messaggio[1] == 'c'){
Serial.println("connecting...");
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
for(;; );
}
if (client.connect(server, 80)){
Serial.println("connected");
client.println("GET /index.htm?out1on=ON HTTP/1.0");
client.println(); }
messaggio[0]='0';
messaggio[1]='0';
}
if (client.available()) {
char c = client.read();
Serial.print(c);}
}
inviando tramite seriale " kx " il server 192,168,0,253 mi risonde correttamente e visualizzo
la rispettiva pagina html
se invio una seconda volta il codice " kx " o " kc " si blocca tutto. Se premo reset sull'arduino
il primo codice inviato tutto procede regolarmente ma al secondo codice inviato al client arduino si blocca
tutto come mai?
ringrazio anticipatamente per l'aiuto