<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>I would guess that the issue is with the IP address.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Here is some code fragment that I use.  Note that I do not set the IP address.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>This is a cut-and-paste-and-slim-down job, so it may not even compile, but you get the idea.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>---> Paul<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>#include <SPI.h><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>#include <Ethernet.h><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>EthernetServer server(80); //server port<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>String clientstring;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>const uint8_t LED_PIN  = 13;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>int led = LOW;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>setup()<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>{<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    pinMode(LED_PIN, OUTPUT);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    led = HIGH;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    digitalWrite(LED_PIN, led);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    delay(200);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    led = LOW;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    digitalWrite(LED_PIN, led);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    // Start up the Serial port<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.begin(9600);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    while (!Serial);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.println(F("Initialized"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Ethernet.begin(mac /*, ip, gateway, subnet*/);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    server.begin();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    IPAddress myIP = Ethernet.EthernetClass::localIP();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(F("IP address: "));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(myIP[0]);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(F("."));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(myIP[1]);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(F("."));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(myIP[2]);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.print(F("."));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.println(myIP[3]);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>loop()<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>{<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  // Create a client connection<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  EthernetClient client = server.available();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  if (client) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    Serial.println(F("Created client"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    while (client.connected()) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      if (client.available()) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        char c = client.read();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        //read char by char HTTP request<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        if (clientstring.length() < 100) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.print(F("Got - "));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.print(c);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.println(F(" !"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            //store characters to string<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            if (c != 0)<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>                clientstring += c; <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        } else {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.println(F("String reset at 100"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            clientstring = ""; // reset<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        //if HTTP request has ended<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        if (c == '\n') {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          ///////////////<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          Serial.println(clientstring); //print to serial monitor for debuging<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          if (clientstring.indexOf("lightoff") >0)//checks for off<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            led = LOW;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            digitalWrite(LED_PIN, led);    // set pin 3 low<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.println(F("LED Off"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          if (clientstring.indexOf("lighton") >0)//checks for on<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            led = HIGH;<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            digitalWrite(LED_PIN, led);    // set pin 3 high<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>            Serial.println(F("LED On"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          // Return the formatted HTML page<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("HTTP/1.1 200 OK"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("Content-Type: text/html"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<HTML>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<HEAD>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<TITLE>Test Page</TITLE>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("</HEAD>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<BODY>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<H1>Onboard LED</H1>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.print(F("LED - "));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          if (led==HIGH) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.print("on");<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.println(F("<br>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.println(F("<a href=\"/?lightoff\"\">OFF</a>&nbsp&nbsp&nbsp"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          } else {<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.print("off");<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.println(F("<br>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>              client.println(F("<a href=\"/?lighton\"\">ON</a>&nbsp&nbsp&nbsp"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("<br>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("</BODY>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.println(F("</HTML>"));<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          delay(10);<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          //stopping client<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          client.stop();<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          //clearing string for next read<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>          clientstring = "";<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>        }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>      }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>    }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>  }<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> TriEmbed [mailto:triembed-bounces@triembed.org] <b>On Behalf Of </b>Dwight Morgan<br><b>Sent:</b> Monday, December 01, 2014 10:48 PM<br><b>To:</b> triembed@triembed.org<br><b>Subject:</b> [TriEmbed] Arduino Topic for Dec 7 Meeting?<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m a newbie and going through the Simon Monk book, “Programming Arduino Getting Started with Sketches”. I am stuck on chapter 10, “Arduino Ethernet Programming”. I have tried numerous things to get the Arduino to act as a server but it just won’t connect. I’m running Windows 7 on my PC and I have a Netgear router for my wireless router with 4 wired ports. I’ve plugged the RJ45 into the router and my PC and tried different IP addresses that are not taken by my router already but nothing works. I cut off the firewall once but that didn’t help. I replaced the Ethernet shield and the UNO but that didn’t help. I’m trying to run the simplest code as best I can tell which is the Monk example code 10-01 copied below for reference:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>// sketch 10-01 Simple Server Example<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#include <SPI.h><o:p></o:p></p><p class=MsoNormal>#include <Ethernet.h><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>// MAC address just has to be unique. This should work<o:p></o:p></p><p class=MsoNormal>byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };<o:p></o:p></p><p class=MsoNormal>// The IP address will be dependent on your local network:<o:p></o:p></p><p class=MsoNormal>byte ip[] = { 192, 168, 1, 30 };<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>EthernetServer server(80);<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>void setup()<o:p></o:p></p><p class=MsoNormal>{<o:p></o:p></p><p class=MsoNormal>  Ethernet.begin(mac, ip);<o:p></o:p></p><p class=MsoNormal>  server.begin();<o:p></o:p></p><p class=MsoNormal>  Serial.begin(9600);<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>void loop()<o:p></o:p></p><p class=MsoNormal>{<o:p></o:p></p><p class=MsoNormal>  // listen for incoming clients<o:p></o:p></p><p class=MsoNormal>  EthernetClient client = server.available();<o:p></o:p></p><p class=MsoNormal>  if (client) <o:p></o:p></p><p class=MsoNormal>  {<o:p></o:p></p><p class=MsoNormal>    while (client.connected()) <o:p></o:p></p><p class=MsoNormal>    {<o:p></o:p></p><p class=MsoNormal>      // send a standard http response header<o:p></o:p></p><p class=MsoNormal>      client.println("HTTP/1.1 200 OK");<o:p></o:p></p><p class=MsoNormal>      client.println("Content-Type: text/html");<o:p></o:p></p><p class=MsoNormal>      client.println();<o:p></o:p></p><p class=MsoNormal>      <o:p></o:p></p><p class=MsoNormal>      // send the body<o:p></o:p></p><p class=MsoNormal>      client.println("<html><body>");<o:p></o:p></p><p class=MsoNormal>      client.println("<h1>Arduino Server</h1>");<o:p></o:p></p><p class=MsoNormal>      client.print("<p>A0="); <o:p></o:p></p><p class=MsoNormal>      client.print(analogRead(0)); <o:p></o:p></p><p class=MsoNormal>      client.println("</p>"); <o:p></o:p></p><p class=MsoNormal>      client.print("<p>millis="); <o:p></o:p></p><p class=MsoNormal>      client.print(millis()); <o:p></o:p></p><p class=MsoNormal>      client.println("</p>"); <o:p></o:p></p><p class=MsoNormal>      client.println("</body></html>");<o:p></o:p></p><p class=MsoNormal>      client.stop();<o:p></o:p></p><p class=MsoNormal>    }<o:p></o:p></p><p class=MsoNormal>    delay(1);<o:p></o:p></p><p class=MsoNormal>  }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>One potential thing I have not covered is the power supply. I’m unplugging the USB as instructed in the book and plugging in a 9 Volt battery pack – all I have right now for power. I have a 9 Volt 1.5 Amp power supply on order to get here Friday. I’m not sure if that is a problem or not. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’m running Arduino IDE 1.0.4. The board is Arduino UNO and the Ethernet shield is made by Seeed. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If this is something someone with more experience could talk about at the meeting I definitely have an interest. I have looked online for solutions but nothing so far has worked. If this topic does not serve the group well, I understand, but maybe someone who has knowledge of this could just give me some directions to get me back on the right path. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks! <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Dwight<o:p></o:p></p></div></body></html>