arduino以太网ENC28J60

arduino以太网ENC28J60,arduino,ethernet,Arduino,Ethernet,您好,我是使用ENC28J60的绝对新手,我想将一些数据上传到我的服务器(php): 我从0fees获得了一个php主机,现在我可以使用:将数据发送到我的服务器,并检查表中上传的数据列表,因为--u可以自己查看 我使用UIPEthernet库编写了一个arduino代码(使用ebay.in中的Aruino Uno和ENC28J60模块) #include//用于以太网 //****以太网设置**** //Arduino Uno引脚:10=CS,11=MOSI,12=MISO,13=SCK //以

您好,我是使用ENC28J60的绝对新手,我想将一些数据上传到我的服务器(php):

我从0fees获得了一个php主机,现在我可以使用:将数据发送到我的服务器,并检查表中上传的数据列表,因为--u可以自己查看

我使用UIPEthernet库编写了一个arduino代码(使用ebay.in中的Aruino Uno和ENC28J60模块)

#include//用于以太网
//****以太网设置****
//Arduino Uno引脚:10=CS,11=MOSI,12=MISO,13=SCK
//以太网MAC地址-在您的网络上必须唯一-MAC读取十六进制的T4A001(在您的网络中唯一)
字节mac[]={0x54,0x34,0x41,0x30,0x30,0x31};
//对于其余部分,我们使用DHCP(IP地址等)
以太网络客户端;
字符服务器[]=“ashutest123.0fees.us”;//要将数据转储到的服务器的IP地址(或名称)
整数间隔=5000;//在转储之间等待
无效设置(){
Serial.begin(9600);
以太网开始(mac);
Serial.println(“Tweaking4All.com-Temperature-Drone-v2.0”);
Serial.println(“-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n”);
串行打印(“IP地址:”);
Serial.println(Ethernet.localIP());
串行打印(“子网掩码:”);
Serial.println(Ethernet.subnetMask());
串行打印(“默认网关IP:”);
Serial.println(Ethernet.gatewayIP());
串口打印(“DNS服务器IP:”);
Serial.println(Ethernet.dnsServerIP());
}
void循环(){
//如果您获得连接,请通过串行方式报告:
if(客户端连接(服务器,80)){
Serial.println(“->已连接”);
//发出HTTP请求:
print(“GET/dataupload1.php?”);
client.print(“data=”);
客户。打印(“某些数据”);
client.println(“HTTP/1.1”);
client.print(“主机:”);
client.println(服务器)
client.println(“连接:关闭”);
client.println();
client.println();
client.stop();
}
否则{
//您没有连接到服务器:
Serial.println(“-->连接失败/n”);
}
延迟(间隔);
}
当我在串行监视器中运行它时,它将所有ip、dns、网关等地址显示为0.0.0.0----似乎没有dhcp 然后显示“已连接”

没有数据进入我的服务器

请帮帮我,我需要它


提前感谢

您可能希望尝试此示例代码,它可能会帮助您更好地理解您的问题及其来源

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  // this check is only needed on the Leonardo:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for (;;)
      ;
  }
  // print your local IP address:
  printIPAddress();
}

void loop() {

  switch (Ethernet.maintain())
  {
    case 1:
      //renewed fail
      Serial.println("Error: renewed fail");
      break;

    case 2:
      //renewed success
      Serial.println("Renewed success");

      //print your local IP address:
      printIPAddress();
      break;

    case 3:
      //rebind fail
      Serial.println("Error: rebind fail");
      break;

    case 4:
      //rebind success
      Serial.println("Rebind success");

      //print your local IP address:
      printIPAddress();
      break;

    default:
      //nothing happened
      break;

  }
}

void printIPAddress()
{
  Serial.print("My IP address: ");
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // print the value of each byte of the IP address:
    Serial.print(Ethernet.localIP()[thisByte], DEC);
    Serial.print(".");
  }

  Serial.println();
}
#包括
#包括
//在下面输入控制器的MAC地址。
//较新的以太网屏蔽在屏蔽上的标签上印有MAC地址
字节mac[]={
0x00、0xAA、0xBB、0xCC、0xDE、0x02
};
//初始化以太网客户端库
//具有服务器的IP地址和端口
//要连接到的端口(HTTP的默认端口为80):
以太网络客户端;
无效设置(){
//打开串行通信并等待端口打开:
Serial.begin(9600);
//此检查仅适用于莱昂纳多:
而(!串行){
;//等待串行端口连接。仅本机USB端口需要
}
//启动以太网连接:
if(以太网开始(mac)==0){
Serial.println(“未能使用DHCP配置以太网”);
//继续下去没有意义,所以永远不要做任何事:
对于(;;)
;
}
//打印您的本地IP地址:
printIPAddress();
}
void循环(){
交换机(Ethernet.mainter())
{
案例1:
//再次失败
Serial.println(“错误:更新失败”);
打破
案例2:
//再度成功
Serial.println(“再次成功”);
//打印您的本地IP地址:
printIPAddress();
打破
案例3:
//重新绑定失败
Serial.println(“错误:重新绑定失败”);
打破
案例4:
//重新绑定成功
Serial.println(“重新绑定成功”);
//打印您的本地IP地址:
printIPAddress();
打破
违约:
//什么也没发生
打破
}
}
void printIPAddress()
{
Serial.print(“我的IP地址:”);
对于(字节thisByte=0;thisByte<4;thisByte++){
//打印IP地址每个字节的值:
Serial.print(Ethernet.localIP()[thisByte],DEC);
连续打印(“.”);
}
Serial.println();
}
然后,我允许您使用自定义函数编辑代码,以获取可能需要的所有信息

请注意,如果您设置一个硬编码的IP地址,即使在DHCP范围内,它也会工作

五,