Use Arduino Ethernet Shield

Hi everyone I have a exercise as follow: "Transfer data from C #(client) to Arduino (server)", use Arduino Ethernet Shield. Can you help me? please Thank everyone

Do you have an arduino with a w5100 ethernet shield? The C #(client) you will need to develop.

@zoomkat

Yes, I have a Arduino Ethernet Shield, a Arduino Uno R3 and a servo motor.

Requirements: - Creat client in Visual C# and servo in Arduino Uno - Transfer data from C #(client) to Arduino (server) to control servo motor. - Use protocol TCP / IP

using serial port communication c# with arduino after Serail.begin(9600) read variable and go to client.write(variable);

@Arlove
Thank you but I want to use protocol TCP/IP

Thank you but I want to use protocol TCP/IP

Feel free. A C# application can make a GET request, using appropriate code. This is NOT the place to ask for that code. This is for asking questions about code FOR THE ARDUINO.

The Interfacing With Software On the PC part of the forum is for PC software related questions.

@ Pauls:

thanks you!

Can you give me the example of this my exercise?

Can you give me the example of this my exercise?

For the Arduino? Sure. What is it that the Arduino should do?

@PaulS

Yes, for the Arduino and Visual C#.

Yes, for the Arduino and Visual C#.

This part of the forum is NOT for C# issues.

Here is the Arduino code that meets the requirements in your last reply:

void setup()
{
}

void loop()
{
}

Requirements:

  • Creat client in Visual C# and servo in Arduino Uno
  • Transfer data from C #(client) to Arduino (server) to control servo motor.
  • Use protocol TCP / IP

Some test code that might be of use.

//zoomkat 12-8-11
//simple button GET with iframe code
//for use with IDE 1.0
//open serial monitor to see what the arduino receives
//use the \ slash to escape the " in the html 
//address will look like http://192.168.1.102:84/ when submited
//for use with W5100 based ethernet shields

#include <SD.h> //for SD card use
#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(){

  //enable serial data print 
  Serial.begin(9600); 
  Serial.println("server LED test 1.0"); // so I can keep track of what is loaded

  // disable w5100 while setting up SD
  pinMode(10,OUTPUT);
  digitalWrite(10,HIGH);
  Serial.print("Starting SD..");
  if(!SD.begin(4)) Serial.println("failed");
  else Serial.println("ok");
  
  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 co

}

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 

          //now output HTML data header
             if(readString.indexOf('?') >=0) { //don't send new page
               client.println("HTTP/1.1 204 Zoomkat");
               client.println();
               client.println();  
             }
             else {
          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=\"/?on1\" target=\"inlineframe\">ON</a>"); 
          client.println("<a href=\"/?off\" target=\"inlineframe\">OFF</a>"); 

          //client.println("<IFRAME name=inlineframe src=\"res://D:/WINDOWS/dnserror.htm\" width=1 height=1\">");
          client.println("<IFRAME name=inlineframe style=\"display:none\" >");          
          client.println("</IFRAME>");

          client.println("</BODY>");
          client.println("</HTML>");
             }

          delay(1);
          //stopping client
          client.stop();

          ///////////////////// control arduino pin
          if(readString.indexOf("on1") >0)//checks for on
          {
            myservo.write(20);
            digitalWrite(5, HIGH);    // set pin 4 high
            Serial.println("Led On");
          }
          if(readString.indexOf("off") >0)//checks for off
          {
            myservo.write(160);
            digitalWrite(5, LOW);    // set pin 4 low
            Serial.println("Led Off");
          }
          //clearing string for next read
          readString="";

        }
      }
    }
  }
}