注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙粒的博客

 
 
 

日志

 
 

arduino: w5100 测试1  

2015-04-08 22:13:26|  分类: arduino |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、程序功能:

1、测试arduino w5100板。

2arduino作服务器。任一浏览器输入w5100 IP地址,页面显示“you test ok”;

二、线路连接

1、只满足测试,路由器WAN口可不接网线。设置路由器的DHCP服务器“启用”。

2、电脑、w5100分别接路由器任一lan口,

三、代码

#include <SPI.h>

#include <Ethernet.h>

 byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

  //HTTP协议代理服务器默认端口号  

  EthernetServer server(80);

void setup()

{

  Serial.begin(9600);

  //只适用于Leonardo板,串口连接返回 true

//其他板不用此句

  while (!Serial)

  {;} 

   //初始化 Ethernet

  Ethernet.begin(mac);

  Serial.print("server is at ");

  //获取服务器IP地址

  Serial.println(Ethernet.localIP());

//启动服务器

server.begin();

}

void loop()

{

 // 服务器监听状态,返回客户端

  EthernetClient client = server.available(); 

   // 有客户请求

  if (client)

  {

    Serial.println("new client");

    // http 格式请求,用空行结束,

    //此变量为 true 表示未结束

    boolean currentLineIsBlank = true;

     //如果客户端已连接

    while (client.connected())

    {

      //客户端有数据     

      if (client.available())

      {

        //读客户端数据,及客户端http请求信息

        char c = client.read();

        //服务器端串口输出客户端http请求信息

        Serial.write(c);       

        //客户端http请求信息结束,服务器发送http响应信息

        if (c == '\n' && currentLineIsBlank)

        {

          // HTTP响应也由三个部分组成,

          //分别是:状态行、消息报头、空行、响应正文。         

          //状态行格式如下:HTTP-Version Status-Code Reason-Phrase CRLF

          //HTTP-Version表示服务器HTTP协议的版本;

          //Status-Code表示服务器发回的响应状态代码;200

          //Reason-Phrase表示状态代码的文本描述。OK

          //200 OK:客户端请求成功。

          client.println("HTTP/1.1 200 OK");//状态行

          //响应类型为HTML文本          

          client.println("Content-Type: text/html");

          //关闭连接

          client.println("Connection: close");

          //空行

          client.println();

          //浏览器输出信息

          client.println("you web program ok");

          break;         

        }

         if (c == '\n')

         {

           // you're starting a new line;

           currentLineIsBlank = true;

         }

         else if (c != '\r')

         {

           // you've gotten a character on the current line;

           currentLineIsBlank = false;

         }           

      }

    }

    //// 有客户无请求

    delay(2);

    client.stop();

    Serial.println("client disconnected");  

  }

}

四、运行

1、上传程序

2、打开arduino串口监视器,窗口显示:server is at 192.168.1.101;(本例显示此IP地址)

3、打开浏览器输入服务器IP地址192.168.1.101,页面将显示you test ok

  评论这张
 
阅读(375)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017