bonjour, jaurai une petite question:
Jai devellopé une app IOS qui actionne des relais pour allumer des lampes à distance.
En actionnant un switch, une action sur l'arduino est donné ( si le switch est sur on -----> PIN2=ON)
Cependant, j'aimerai que le serveur me renvoie une réponse s'il est connecté (sur mon app)
Et c'est la que je bloque
// ---------------------------------------------------------------------------------------------------------
// zimmermann frédéric
// Arduino + ethernet shield control by iOS
// March 2014
// ----------------------------------------------------------------------------------------------------------
// Start ethernet shield webserver
Serial.begin(speedSerial);
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
} // Setup end
// loop Start
void loop() {
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
stringInput = "";
if (client.connected()) {
while (client.available()) {
char c = client.read();
if(stringInput.length() < sizeString) {
stringInput.concat(c);
}
if (c == '\n' && currentLineIsBlank) {
client.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
client.println("<estadoDomotica>");
// You can configure all pins (digitals or analog) here, copy and paste the block, and configure the pin
// --------------------------------------------------------------------------------
// P2
client.print("<Pin>");
client.print("<namePin>Pin 2</namePin>");
client.print("<digitalPin>");
// Digital pin to control
client.print(Pin2);
client.print("</digitalPin>");
client.print("<Estado>");
client.print(digitalRead(Pin2));
client.print("</Estado>");
client.print("</Pin>");
}
if (c == '\n') {
Serial.print(stringInput);
Serial.println();
if(stringInput.indexOf("GET") !=-1) {
//--------------------------------------------------------------------------------------------------------
// You can configure all pins (digitals or analog) here, copy and paste the block, and configure the pin
// -----------------------------------------------------------------------------------------------------
// Pin2
if (stringInput.indexOf("PIN2=ON") != -1) {
digitalWrite(Pin2, HIGH);
}
if (stringInput.indexOf("PIN2=OFF") != -1) {
digitalWrite(Pin2, LOW);
} // End Pin 2
//--------------------------------------------------------------------------------------------------------
}
currentLineIsBlank = true;
stringInput = "";
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
} // End loop