Styra Arduino använder android app (4 / 8 steg)
Steg 4: Arduino skiss
För arduino skiss började jag från exempel webserver skissen.
Jag försökt dokumentera varje sak, men om du har en fråga gärna fråga!
#include < SPI.h >
#include < Ethernet.h >
Ställa in MAC-adress
byte [mac] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Ange IP-adressen
IP-adress ip (192, 168, 1, 177);
Starta en server på port 80 (http)
EthernetServer server(80);
void setup() {
Öppna seriell kommunikation
Serial.BEGIN(9600);
Starta Ethernet-anslutningen och servern
Ethernet.BEGIN (mac, ip);
Server.BEGIN();
PIN-22-24 output (LED)
pinMode (22, OUTPUT);
pinMode (23, OUTPUT);
pinMode (24, OUTPUT);
}
void loop() {
Kontrollera om klienten är ansluten
EthernetClient klient = server.available();
om (klient) {/ / om det finns en klient...
booleska currentLineIsBlank = sant;
Strängbuffert = ""; En buffert för en GET-begäran
samtidigt (client.connected()) {
om (client.available()) {
char c = client.read(); / / läsa data från klienten
buffert += c; Lagra data i en buffert
om (c == '\n' & & currentLineIsBlank) {/ / om 2 x ny linje == > begäran slutade
Skicka ett standard http-svarshuvud
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println ("anslutning: Stäng");
client.println(); Tom rad == > avsluta svar
bryta;
}
om (c == "\n") {/ / om ny rad
currentLineIsBlank = sant;
buffert = ""; Tydlig buffert
} else om (c == '\r') {/ / om cariage återvända...
Läs i bufferten om det fanns skicka "Få /?..."
om (buffer.indexOf ("GET /? led1 = 1") > = 0) {/ / om led1 = 1
digitalWrite (24, hög). ledde 1 > på
}
om (buffer.indexOf ("GET /? led1 = 0") > = 0) {/ / om led1 = 0
digitalWrite (24, låg); ledde 1 > off
}
om (buffer.indexOf ("GET /? led2 = 1") > = 0) {/ / om led2 = 1
digitalWrite (22, hög). led 2 > på
}
om (buffer.indexOf ("GET /? led2 = 0") > = 0) {/ / om led2 = 0
digitalWrite (22, låg). led 2 > off
}
om (buffer.indexOf ("GET /? led3 = 1") > = 0) {/ / om led3 = 1
digitalWrite (23, hög). LED 3 > på
}
om (buffer.indexOf ("GET /? led3 = 0") > = 0) {/ / om led3 = 0
digitalWrite (23, låg). LED 3 > off
}
} annat {
currentLineIsBlank = false;
}
}
}
Delay(1);
client.stop();
}
}
Det var koden för på arduino.
Ganska lätt, rätt? Låt oss gå till app!