1 Reply Latest reply on Jul 24, 2014 1:18 PM by mhahn

    Intel Galileo Ethernet connection to PC with C#


      I'm using VS2012 on Windows 7 which is connected by ethernet to my Intel Galileo, whose sketches are uploaded with Arduino 1.5.3. My end goal is to control a motor through a ethernet cable, but I can't establish a simple connecting between the two programs.


      Here is my code on c#:


      using System;

      using System.Collections.Generic;

      using System.Linq;

      using System.Net;

      using System.Net.Sockets;

      using System.Text;

      using System.Threading.Tasks;

      using System.Windows.Forms;



      namespace TemperatureArduinoReader


          static class Program



              /// <summary>

              /// The main entry point for the application.

              /// </summary>



              static void Main()


                  byte[] packetData = System.Text.ASCIIEncoding.ASCII.GetBytes("hello World");



                  string IP = "";


                  int port = 8888;



                  IPEndPoint ep = new IPEndPoint(IPAddress.Parse(IP), port);

                  Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);



                  client.SendTo(packetData, ep);









      Here is my code on Arduino, taken from the arduino webstite:






      #include <SPI.h>         // needed for Arduino versions later than 0018

      #include <Ethernet.h>

      #include <EthernetUdp.h>         // UDP library from: bjoern@cs.stanford.edu 12/30/2008



      byte mac[] = { 0X98 , 0x4F, 0xEE, 0x01, 0x54, 0xB3};

      IPAddress ip(192,168,1,177);

      unsigned int localPort = 8888;     





      char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,

      char  ReplyBuffer[] = "acknowledged";       // a string to send back

      // An EthernetUDP instance to let us send and receive packets over UDP

      EthernetUDP Udp;



      void setup() {

        // start the Ethernet and UDP:









      void loop() {

        // if there's data available, read a packet

        int packetSize = Udp.parsePacket();



          Serial.print("Received packet of size ");


          Serial.print("From ");

          IPAddress remote = Udp.remoteIP();

          for (int i =0; i < 4; i++)


            Serial.print(remote[i], DEC);

            if (i < 3)





          Serial.print(", port ");




          // read the packet into packetBufffer






          // send a reply, to the IP address and port that sent us the packet we received

          Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());







      First, I upload the sketch to the Galileo, then open the Serial, then run the c# program, but nothing appears in the Serial.


      I've been beating my head against a wall trying to figure this out for a couple days. I've tried different combinations of IP addresses and everything else, now I'm looking for your help.


      Thanks, Mark