I have gone thru the WIFI examples and had seen how to connect to the internet and transmit sensor readings from the arduino device. However I now want to control my arduino remotely. Such that after I upload my sketch I can press A on my labtop and that starts motor 1 on A channel. I press B on my laptop and that starts motor 2. What GUI is there for this kind of simple control?
What GUI is there for this kind of simple control?
If your arduino is internet/network capable, a web page might be used.
i've only done examples where I send data to a web page, but I want to send values from a web page to arduino device to adjust the controls of a motor or 2. I found this
"Drive RC Cars Over the Web" Arduino Playground - HomePage but the guy's website doesn't work. How can I use a web server to post new values to a rc device?
bump!
Simple web page control.
//zoomkat 4-1-12
//simple button GET for servo and pin 5
//for use with IDE 1.0
//open serial monitor to see what the arduino receives
//use the \ slash to escape the " in the html, or use ' instead of "
//address will look like http://192.168.1.102:84 when submited
//for use with W5100 based ethernet shields
#include <SPI.h>
#include <Ethernet.h>
#include <Servo.h>
Servo myservo;Â // create servo object to control a servo
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 102 }; // ip in lan
byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(84); //server port
String readString;
//////////////////////
void setup(){
 pinMode(5, OUTPUT); //pin selected to control
 //start Ethernet
 Ethernet.begin(mac, ip, gateway, gateway, subnet);
 server.begin();
 myservo.write(90); //set initial servo position if desired
 myservo.attach(7); //the pin for the servo control
 //enable serial data print
 Serial.begin(9600);
 Serial.println("server servo/pin 5 test 1.0"); // so I can keep track of what is loaded
}
void loop(){
 // Create a client connection
 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') {
     ///////////////
     Serial.println(readString); //print to serial monitor for debuging
     client.println("HTTP/1.1 200 OK"); //send new page
     client.println("Content-Type: text/html");
     client.println();
     client.println("<HTML>");
     client.println("<HEAD>");
     client.println("<TITLE>Arduino GET test page</TITLE>");
     client.println("</HEAD>");
     client.println("<BODY>");
     client.println("<H1>Zoomkat's simple Arduino button</H1>");
    Â
     client.println("<a href=\"/?on\">ON</a>");
     client.println("<a href=\"/?off\">OFF</a>");
     client.println("</BODY>");
     client.println("</HTML>");
     delay(1);
     //stopping client
     client.stop();
     ///////////////////// control arduino pin
     if(readString.indexOf("on") >0)//checks for on
     {
      myservo.write(40);
      digitalWrite(5, HIGH);  // set pin 5 high
      Serial.println("Led On");
     }
     if(readString.indexOf("off") >0)//checks for off
     {
      myservo.write(140);
      digitalWrite(5, LOW);  // set pin 5 low
      Serial.println("Led Off");
     }
     //clearing string for next read
     readString="";
    }
   }
  }
 }
}