Arduino中国 | Flamingo EDA

Sep/08

4

Arduino Ethernet 网络扩展板

在越来越离不开网络的今天,让Arduino具有连网能力估计能做出许多有意思的东西出来。前一段时间自已就一直在想如何将Cruisecontrol的状态通过熔岩灯表现出来,其中就需要通过网络往放在实验室里的Arduino发送相应的命令。

在为微控制器提供联网能力的解决方案中,以ENC28J60为核心的做法是一个相对来讲比较容易实现做法,应用也非常广泛。虽然基于XPort的方案也可以考虑,但考虑到XPort模块的价格实在是不菲,因此最后决定还是先开发一个基于ENC28J60的扩展板。

网络扩展板可以直接同Arduino相连:

这一扩展板采用了可堆叠的设计,也就是即使接到Arduino上后,也能够很好地使用其余的各种接口,并且还能够再接其它的扩展板,如传感器扩展板。

网上提供了ENC28J60模块的前辈也不少,我参考了其中的一些资料,将其封装在一个Ethernet库中,你可以将其下载并解压缩到你的Arduino安装目录下的hardware\libraries里面:

然后就可以测试下面这个经典的webserverpde的例子了,在将代码中的MAC地址和IP地址设置好之后,下载到Arduino里面,就可以通过游览器来访问你的Arduino了。没错,此时你的Arduino俨然已经是一台超小型的Web服务器了:

调试这个网络扩展板的时候并不是一帆风顺的,刚开始插上网线的时候,RJ45座上的状态灯一直不亮,但是电路其它部分都工作正常,着实花了一些时间和精力去找问题所在。后来偶然换了另外一根网络再试,居然一切正常!我想可以是因为对网线的接法有相应的要求吧,仔细观察了一下发现不能正常工作的那根网络是交叉的,能正常工作的那根网络是一对一非交叉的。

另外,对于RJ45座上两个灯的使用标准还有待进一步确定,现在的电路用的是黄灯表示连接,绿灯表示有数据传输,不知会不会有误;-)

No tags

9 comments

  • Yeung_bt · 2008/09/05 at 12:04 AM

    Excellent.
    But I need time to understand.
    Can you provide more details / info on how to do the input and output through the Arduino to the Web.
    Thanks for your effort.

  • howie · 2008/09/06 at 1:22 AM

    嘿嘿,更好玩了

  • feng · 2008/09/09 at 5:47 PM

    厉害 太厉害了 肖同学 !牛!

  • dominic · 2008/10/01 at 10:09 AM

    “如何将Cruisecontrol的状态通过熔岩灯表现出来”

    跟我完全想到一起去了。。。。。。o(∩_∩)o…

  • james · 2009/03/25 at 5:02 AM

    一般情况下,同种设备间用交叉线,不同设备间用直连线。

  • jacob · 2009/07/06 at 1:26 AM

    灯错了,应该是黄色数据,绿色连接状态!

  • Author comment by flamingoeda · 2009/07/07 at 5:25 PM

    V2.1换过来了,绿色是连接状态:-)

  • CouldHll’s Blog » Blog Archive » 我的Arduino装备 · 2010/01/07 at 2:55 PM

    [...] Ethernet 网络扩展板:http://blog.flamingoeda.com/2008/09/04/arduino-ethernet-%e7%bd%91%e7%bb%9c%e6%89%a9%e5%b1%95%e6%9d%b… [...]

  • 购买者 · 2010/09/04 at 10:39 AM

    各个代码和模块是根本永不了的

Leave a Reply

<<

>>