周六要交作品,恳请大神指点有关Ethernet W5100与mega2560的连接-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 渣渣来学习

[已解决] 周六要交作品,恳请大神指点有关Ethernet W5100与mega2560的连接

[复制链接]
 楼主| 发表于 2014-5-16 15:08 | 显示全部楼层
渣渣来学习 发表于 2014-5-16 11:17
唉,我们又买了一个w5100,借助路由器,连上了2560之后,串口老是输出Failed to configure Ethernet usin ...

还有,我们把建立网络服务器的程序烧到Uno里,想实现浏览网页观看dht11数据的目的。程序如下。串口输出如下
server is at 192.168.11.2
浏览器访问ip地址后该网页无法显示。。。。

/*
OpenJumper WebServer Example
建立一个显示传感器信息的Arduino服务器
http://www.openjumper.com/
http://x.openjumper.com/ethernet/
*/

#include <SPI.h>
#include <Ethernet.h>
#include <dht11.h>
dht11 DHT11;

#define DHT11PIN 2

// 设定MAC地址、IP地址
// IP地址需要参考你的本地网络设置
byte mac[] = {
  0x10, 0x6f, 0x3f, 0x44, 0x0d, 0xe0  };
IPAddress ip(192,168,11,2);

// 初始化Ethernet库
// HTTP默认端口为80
EthernetServer server(80);

void setup() {
// 初始化串口通信
  Serial.begin(9600);

  // 开始ethernet连接,并作为服务器初始化
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // 监听客户端传来的数据
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // 一个Http请求结尾必须带有回车换行
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // 如果收到空白行,说明http请求结束,并发送响应消息
        if (c == '\n' && currentLineIsBlank) {
          // 发送标准的HTTP响应
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // 添加一个meta刷新标签, 浏览器会每5秒刷新一次
          // 如果此处刷新频率设置过高,可能会出现网页的卡死的状况
          client.println("<meta http-equiv=\"refresh\" content=\"5\">");
          // 输出每个模拟口读到的值
            client.print("Humidity (%): ");
            client.print(DHT11.humidity);
            client.println("<br />");
            client.print("Temperature (oC): ");
            client.print(DHT11.temperature);
            client.println("<br />");      
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // 已经开始一个新行
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // 在当前行已经得到一个字符
          currentLineIsBlank = false;
        }
      }
    }
    // 等待浏览器接收数据
    delay(1);
    // 断开连接
    client.stop();
    Serial.println("client disonnected");
  }
}
[img][/img]
 楼主| 发表于 2014-5-16 16:45 | 显示全部楼层
.oο麽麽茶㊣ 发表于 2014-5-16 09:46
我的W5100和UNO、2560都试过。用的是例程里的UDP和TCP两个,都没什么问题啊。。就换了个IP。什么都没改。 ...

请问您用的ip是从哪里获得的呢,是不是ip地址出了问题。。。。
发表于 2014-5-16 16:56 | 显示全部楼层
渣渣来学习 发表于 2014-5-16 15:08
还有,我们把建立网络服务器的程序烧到Uno里,想实现浏览网页观看dht11数据的目的。程序如下。串口输出如 ...

如果是老w5100扩展板,那10号引脚是cs脚,把这个引脚接到2560的53号脚上
发表于 2014-5-16 16:58 | 显示全部楼层
渣渣来学习 发表于 2014-5-16 15:08
还有,我们把建立网络服务器的程序烧到Uno里,想实现浏览网页观看dht11数据的目的。程序如下。串口输出如 ...

首先确定程序是否有问题,另外确定路由器是否有问题。
路由器上有个XXXX设置(忘了叫什么),可以阻止客户端之间的通信。
或者换个路由器试试
发表于 2014-5-19 16:54 | 显示全部楼层
渣渣来学习 发表于 2014-5-16 16:45
请问您用的ip是从哪里获得的呢,是不是ip地址出了问题。。。。

ip地址 自己设置啊。只要和你的上位机网关一样就可以了。
 楼主| 发表于 2014-5-21 10:25 | 显示全部楼层
.oο麽麽茶㊣ 发表于 2014-5-19 16:54
ip地址 自己设置啊。只要和你的上位机网关一样就可以了。

哦哦,好的,谢谢您啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 03:39 , Processed in 0.094488 second(s), 11 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表