0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ENC28J60以太网模块与Arduino的连接方案介绍

454398 来源:一板网 作者:风筝 2020-11-01 10:38 次阅读

在本篇文章中,我们将学习如何将ENC28J60以太网模块与Arduino Web服务器进行连接,以在LAN局域网或无线网络中的计算机与Arduino之间建立通信。我们将ENC28J60以太网控制器与Arduino连接,以便我们的Arduino成为该网络的成员之一。一旦完成,arduino可以控制该网络中的事物,或者arduino可以由该网络的其他设备控制。 ENC28J60以太网模块与Arduino的连接将进一步为我们提供在Arduino上自由使用互联网。

ENC28J60以太网模块简介

ENC28J60以太网模块使用Microchip ENC28J60独立式以太网控制器IC,具有许多功能,可满足大多数网络协议要求。该板通过标准SPI接口直接连接到大多数微控制器,传输速度高达20MHz。

该以太网网模块是向基于微控制器产品和项目添加LAN连接的最简单方法。

1.使用此模块为您的产品启用以太网接口。它可与任何工作于3. 3V或5V的微控制器一起使用。

2.该模块工作在3.3V电压下,并与5V接口兼容。

3.使用SPI进程与其他连接。

4.托管Web服务器,对模块执行ping操作或通过Internet将其添加到家庭自动化中。

5.该模块的核心是Microchip的ENC28J60以太网控制器。

6.使用集成磁性装置的RJ45网口可以减小电路板的尺寸。

框图和连接方式:

以下是一个简单的框图,介绍了Arduino和ENC28J60模块如何与路由器和计算机连接。

路由器应与LAN连接,并应具有多个输入输出端口。从路由器将一根以太网电缆连接到计算机系统,将另一根以太网电缆连接到ENC28J60模块。同样,ENC28J60模块连接到Arduino。 Arduino和ENC28J60之间的连接如下。

如何将ENC28J60以太网模块与Arduino Web服务器连接:

1.从此处下载ENC28J60库:ENC28J60库

2.将库文件添加到您的Arduino IDE库中:

3.添加完成后,打开示例,然后从 Master Library中选择以下示例:

4.编译代码,然后将代码上传到Arduino UNO开发板:

5.打开串口监视器并复制IP地址:

6. 打开网络浏览器并粘贴IP地址,然后按下Enter:

Arduino连接ENC28J60以太网模块的示例代码:

#include

#define STATIC 0 // set to 1 to disable DHCP (adjust myip/gwip values below)

#if STATIC

// ethernet interface ip address

static byte myip[] = { 192,168,1,200 };

// gateway ip address

static byte gwip[] = { 192,168,1,1 };

#endif

// ethernet mac address - must be unique on your network

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[500]; // tcp/ip send and receive buffer

const char page[] PROGMEM =

"HTTP/1.0 503 Service Unavailable "

"Content-Type: text/html "

"Retry-After: 600 "

" "

""

""</p> <p style="text-indent: 2em;"> "Service Temporarily Unavailable"</p> <p style="text-indent: 2em;"> ""

""

"

This service is currently unavailable

"

"

"

"The main server is currently off-line.
"

"Please try again later."

"

"

""

""

;

void setup(){

Serial.begin(57600);

Serial.println(" [backSoon]");

if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

Serial.println( "Failed to access Ethernet controller");

#if STATIC

ether.staticSetup(myip, gwip);

#else

if (!ether.dhcpSetup())

Serial.println("DHCP failed");

#endif

ether.printIp("IP: ", ether.myip);

ether.printIp("GW: ", ether.gwip);

ether.printIp("DNS: ", ether.dnsip);

}

void loop(){

// wait for an incoming TCP packet, but ignore its contents

if (ether.packetLoop(ether.packetReceive())) {

memcpy_P(ether.tcpOffset(), page, sizeof page);

ether.httpServerReply(sizeof page - 1);

}

}
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5065

    浏览量

    166166
  • ENC28J60
    +关注

    关注

    0

    文章

    35

    浏览量

    21479
  • Arduino
    +关注

    关注

    184

    文章

    6425

    浏览量

    184775
  • 控制器IC
    +关注

    关注

    0

    文章

    16

    浏览量

    5808
收藏 人收藏

    评论

    相关推荐

    MX60千兆以太网非接触式连接解决方案简析

    MX60千兆以太网非接触式连接解决方案是无线收发器,可提供高速固态无线连接,以取代传统的机械连接
    的头像 发表于 04-11 16:32 135次阅读
    MX<b class='flag-5'>60</b>千兆<b class='flag-5'>以太网</b>非接触式<b class='flag-5'>连接</b>解决<b class='flag-5'>方案</b>简析

    RTC模块实用模块l;以太网交换机

    模块以太网交换机
    Piezoman压电侠
    发布于 :2023年12月11日 10:02:58

    车载以太网总线基础培训——传输层#车载以太网

    车载以太网
    北汇信息POLELINK
    发布于 :2023年09月21日 10:57:36

    enc28j60芯片内是有协议的吗?

    enc28j60芯片内是有协议的吗
    发表于 09-20 07:39

    车载以太网基础培训——车载以太网的链路层#车载以太网

    车载以太网
    北汇信息POLELINK
    发布于 :2023年09月19日 16:25:21

    车载以太网测试系统测试实例介绍#车载以太网

    车载以太网
    北汇信息POLELINK
    发布于 :2023年09月12日 17:27:48

    车载以太网快速入门#车载以太网

    车载以太网
    北汇信息POLELINK
    发布于 :2023年09月01日 17:54:31

    如何使用NUC240 SPI驱动ENC28J20

    ENC28J20 模块通过网络电缆连接到网络时,用户可以使用序列端口计算机工具和网络辅助工具在同一关下查看执行结果。 您可以在下列时间下载样本代码http://www.nuvot
    发表于 08-30 07:25

    使用NUC240驱动ENC28J60实现uIP/httpd函数

    应用:本样本代码使用 NUC240 驱动 ENC28J60 实现 uIP/httpd 函数。 BSP 版本: NUC240 BSP v3.00.001 硬件: NuTiny-SDK-NUC240V
    发表于 08-30 07:20

    如何使用NUC240驱动ENC28J60实现uIP/httpd函数

    应用:本样本代码使用 NUC240 驱动 ENC28J60 实现 uIP/httpd 函数。 BSP 版本: NUC240 BSP v3.00.001 硬件: NuTiny-SDK-NUC240V
    发表于 08-23 08:10

    如何使用NUC240 SPI驱动ENC28J20

    ENC28J20 模块通过网络电缆连接到网络时,用户可以使用序列端口计算机工具和网络辅助工具在同一关下查看执行结果。 您可以在下列时间下载样本代码http://www.nuvot
    发表于 08-22 06:25

    如何为NodeMCU添加以太网连接

    我正在尝试为我的 NodeMCU 添加以太网连接,因为我使用它的地方并不总是有 WiFi 信号。 我正在使用带有 MNI ENC28J60 的 Lolin v1.0。我使用 Arduino
    发表于 06-02 08:37

    无法将Nodemcu esp8266板与enc28j60以太网模块连接起来怎么解决?

    大家好!很抱歉问这个问题,已经在论坛上看到了,但是我无法将我的 Nodemcu esp8266 板与 enc28j60 以太网模块连接起来。我没有办法让它过去。
    发表于 06-02 08:13

    如何将以太网电缆连接到ESP8266?

    我刚刚完成了将 ENC28J60 与 ESP8266 集成的初始版本。 现在作为开始,我已经将它集成到 Sprites HTTPD 项目中,因此它可以为您的网页提供其他以太网或 wifi 服务。我
    发表于 05-23 06:42

    STM32以太网通讯设计方案

    基础常识:网口芯片选型:W5100,W5500,CH9121,DM9000,DM9000A,ENC28J60,LAN91C111,RTL8019,LAN7820。很多STM32内部不带以太网
    的头像 发表于 05-17 09:28 3646次阅读
    STM32<b class='flag-5'>以太网</b>通讯设计<b class='flag-5'>方案</b>