ESP8266使用W5100以太网模块

ESP8266使用W5100以太网模块

  • 概述
  • 程序
  • 连线
  • 结果

概述

实验项目,希望用一个以太网模块来实现以太网通讯,没有使用WiFi网络,而是用连线的以太网。
采用一个ESP8266模块做主处理器,采用Arduino IDE做开发环境。首先选择了一个W5500模块连接以太网。结果通过SPI连接W5500,不成功。程序跑不起来。也没有添加其他的库,感觉现在的Arduino不是很友好,下载程序非常慢。就上某宝又购买了一个W5100模块。(因为看Ethernet.h和Ethernet.cpp发现库与W5100模块兼容。这次实验,一切正常,在这里分享一下使用情况。

程序

/*
  A simple server that answer the ping message. 
  Using an ESP8266 .
*/

/* Circuit:
 *  Ethernet shield attached to pins : 
 *  D6: GPIO12 - MISO
 *  D7: GPIO13 - MOSI
 *  D8: GPIO15 - CS
 *  D5: GPIO14 - SCLK
 */

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

#define MACADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xDE, 0xED
IPAddress ip(192,168,6,29);
IPAddress gateway(192, 168, 6, 1);
IPAddress subnet(255, 255, 255, 0);

// telnet defaults to port 23
EthernetServer server(23);

#define RST     4    //W5100 RST
void setup() 
{
  pinMode(BUILTIN_LED, OUTPUT);
  pinMode(RST, OUTPUT);  
  digitalWrite(RST,HIGH);  //Reset this module
  delay(200); 
  digitalWrite(RST,LOW); 
  delay(200);
  digitalWrite(RST,HIGH);  
  delay(200);     

  Serial.begin(115200);
  Serial.println();

  byte mac[] = { MACADDRESS };

  Ethernet.begin(mac, ip, gateway, subnet);  

  // print your local IP address:
  Serial.print("My IP address: ");
  Serial.println(Ethernet.localIP());
  
  server.begin();
}

void loop()
{
}

连线


模块和ESP8266连线不要发生错误一次成功

W5100 ESP8266
+5V
NSS SS
MO MOSI
GND GND
RST GPIO4I
SCK SCKI
MI MISO

结果

ESP8266使用W5100以太网模块_第1张图片
实验成功,可以使用以太网和ESP8266通讯了。一个经验是当不清除SPI的接线时可以用打印的方法获取SPI的端口。

你可能感兴趣的:(ESP8266,arduino)