用户工具

站点工具


ocrobot:alpha:enc28j60:tutorial05

Web客户端

此程序说明了如何连接到一个网站(http://www.ocrobot.com

搭建电路

1、将ALPHA ENC28J60堆叠于ALPHA MEGA328-U上;

2、用网线连接交换机与ALPHA ENC28J60,在拨码开关中,将10拨上;

3、将ALPHA MEGA328-U通过数据线连接上电脑

代码

/*
  Web客户端
 
 这图连接到一个网站(http://www.ocrobot.com)
 使用一个Arduino WIZNET以太网盾。
 
 创建182009年12月
 由David A.梅利斯
 修改2012年4月9日
 由汤姆Igoe的基础上,由Adrian麦克尤恩工作
 
 */
 
#include <SPI.h>
#include <UIPEthernet.h>
 
//下面控制器输入MAC地址。
//较新的以太网盾有印在贴纸上屏蔽一个MAC地址
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//如果你不想使用DNS(并降低你的草图大小)
//使用数字IP而不是名称服务器:
// IP地址的服务器(74125232128); //数字IP为谷歌(无DNS)
char server[] = "www.ocrobot.com";    //名称地址ocrobot(使用DNS)
//设置静态IP地址使用,如果DHCP无法分配
IPAddress ip(192,168,100,177);
 
//初始化以太网客户端库
//与服务器的IP地址和端口
//你要连接(80端口是HTTP默认):
EthernetClient client;
 
void setup() {
 
  Serial.begin(9600);//设置串口速率
   while (!Serial) {
    ; //等待串口连接,只被Leonardo
  }
 
  //开始以太网连接
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    //没有意义的,所以什么都不做永远:
    //尝试使用IP地址而不是DHCP的配置:
    Ethernet.begin(mac, ip);
  }
  //给以太网一段时间连接:
  delay(1000);
  Serial.println("connecting...");
 
  //如果你得到一个连接,报告通过串口返回:
  if (client.connect(server, 80)) {
    Serial.println("connected");
    //发起一个HTTP请求
    client.println("GET /doku.php?id=en:start HTTP/1.1");
    client.println("Host:www.ocrobot.com");
    client.println("Connection: close");
    client.println();
  } 
  else {
    // 如果连接不上
    Serial.println("connection failed");
  }
}
 
void loop()
{
  //如果有可用的进来的字节
  //从服务器,阅读并打印出来:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
 
  //如果服务器断开连接,停止客户端:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
 
    //什么都不做永远:
    while(true);
  }
}

具体操作

打开IDE的串口监视器,查看所打开网页的源代码。

返回上一级

ocrobot/alpha/enc28j60/tutorial05.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1