I have an Arduino Mega connected via Ethernet cable I also have a Sain Smart 16 relay board connected via Ethernet cable. I have the Arduino talking to the relay board via Ethernet. I now need to implement an ASP NET APP to control the relay board by talking to the Arduino. I cannot find anything that gives a good example how to do this. Any help would be great. I provided my arduino code I just need some help in the direction of the ASP APP talking to the Arduino.
//address http://192.168.1.177:30000
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
IPAddress ip(192,168,1,177); // ip in lan
IPAddress gateway(192,168,1,1); // internet access via router
IPAddress subnet(255,255,255,0); //subnet mask
IPAddress myserver(192,168,1,167);
EthernetServer server(30000); //server port
EthernetClient client;
String readString;
void setup(){
Ethernet.begin(mac, ip, subnet, gateway);
server.begin();
//Serial.begin(9600);
}
void loop(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == '\n') {
//print to serial monitor for debuging
//Serial.println(readString);
//now output HTML data header
if(readString.indexOf('?') >=0) { //don't send new page
client.println("HTTP/1.1 204 ");
client.println();
client.println();
}
else {
//send new page
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<TITLE>Web Server Test</TITLE>");
client.println("</HEAD>");
client.println("<BODY>");
client.println("<H1></H1>");
client.println("<p>Relay 1</p>");
client.println("<p>--------</p>");
client.println("<a href=\"/?R1on\" target=\"inlineframe\">ON</a>");
client.println("<a href=\"/?R1off\" target=\"inlineframe\">OFF</a>");
client.println("<p>--------</p>");
client.println("<p>Relay 2</p>");
client.println("<a href=\"/?R2on\" target=\"inlineframe\">ON</a>");
client.println("<a href=\"/?R2off\" target=\"inlineframe\">OFF</a>");
client.println("<IFRAME name=inlineframe style=\"display:none\" >");
client.println("</IFRAME>");
client.println("</BODY>");
client.println("</HTML>");
}
delay(1);
//stopping client
client.stop();
if(readString.indexOf("R1on") >0)
{
sendGETR1OFF()
}
if(readString.indexOf("R1off") >0)
{
sendGETR1ON()
}
if(readString.indexOf("R2on") >0)
{
sendGETR2OFF()
}
if(readString.indexOf("R2off") >0)
{
sendGETR2ON()
}
//clearing string for next read
readString="";
}
}
}
}
}
void sendGETR1ON()
{
if (client.connect(myserver, 80)) {
client.println("GET /30000/01 HTTP/1.0");
client.println("Connection: close");
client.println();
}
}
void sendGETR1OFF()
{
if (client.connect(myserver, 80)) {
client.println("GET /30000/00 HTTP/1.0");
client.println("Connection: close");
client.println();
}
}
void sendGETR2ON()
{
if (client.connect(myserver, 80)) {
client.println("GET /30000/03 HTTP/1.0");
client.println("Connection: close");
client.println();
}
}
void sendGETR2OFF()
{
if (client.connect(myserver, 80)) {
client.println("GET /30000/02 HTTP/1.0");
client.println("Connection: close");
client.println();
}
}