以太网插板--你的Arduino通信信道

来源:互联网 发布:java短链接生成原理 编辑:程序博客网 时间:2024/04/28 18:41

 

 添加以太网!

        想让你的Arduino查看邮件吗?或者说发一个twitter怎么样?(而且可以通过短信轻松地转发到手机上?)想从网页上抓取数据?或者说提取全球传感器的数据?连接因特网从而获取数据的项目有着太多太多的可能性,现有一个简单的利用Arduino实现的方式。

        这种插板允许你增加使用一个XPort或者四个引脚的XPort direct(+)以太网模块(30-50美元)或者一个WIZnet 以太网模块(16-25美元)。所有的那些艰涩的TCP/IP协议栈都已经在模块中为你做好,所以你可以非常简单地连接任意服务器。XPort 甚至有一个DHCP客户端,所以移动到不同网络时不需要重新配置固件。

规格详述

  • 插板允许使用XPort, XPort Direct, XPort Direct+或者WIZnet 811MJ
  • 当使用WIZnet模块时,与官方Arduino 以太网函数库和样例完全兼容
  • 3.3V 250mA板载电源负责给模块供电
  • Arduino复位按钮和ISP接口6脚排针使得其开发起来更加简易快捷

        在此点击查看Xport(http://www.ladyada.net/make/eshield/examples.html)以及 Arduino以太网/WIZnet(http://arduino.cc/en/Reference/Ethernet) 例子,你将体会到实现以太网其实可以很轻松!

        注意,这个插班不是为Wiport/Marchport模块(无线802.11)或者其他以太网模块设计的,诸如, Rabbit等

 

关于XPort

        XPort模块是一种任何项目简便的拓展以太网方式。这个方案已经有很长一段时间了,一些人应该对之很熟悉。有很多XPort的范例代码,其中一个好处是它预置了MAC地址和内置了DHCP。这意味着很容易将你的项目应用到新的网络上,不用配置并避免路由的混乱。XPort 使用串口协议通信,最适合直接通过因特网主机或者客户机设置。然而一次你只能有一个连接。

        模块连接到微控制器上(例如在Arduino上),使用2个引脚的串口通信。这也有一些额外的引脚允许数据流控制,这同样必须通过一个像Arduino一样的微控制器才可以。

若果想要建立连接,只要简单的按照格式发送一个C127.0.0.1/80命令就可以,其中C代表Connect(连接),127.0.0.1是你要连接的机器的IP地址(XPort不支持DNS),/80是需要连接的端口号。XPort一次只能建立一个连接,但是通常对于大多数项目已经足够了。

XPort也可以接收一个连接,XPort和XPort Direct+模块有一个内置的网络服务器可以运行java小程序。

 

关于WIZnet

         WIZnet模块和官方Arduino以太网函数库是兼容的,并且强大易用。然而它没有内置的DHCP,如果你的网络不太友好,设置时它的时候会有点让你沮丧。

 

翻译原文链接http://www.ladyada.net/make/eshield/

 -------------------------------------------------------------------------------------------------------------------------------------------

        该文章发布在国外一家名叫ladayada的开源硬件的网站上。该文作者文中观点颇有见地,为广大电子爱好者及工作者,提供了很好的参考价值。小编看后,抱着开放及分享的理念,略表拙见,随之附合一下:

        首先,不得不说现在以太网已经深入到我们生活的方方面面,而随着信息化社会的不断推进及物联网的概念逐渐成熟并投入实践,越来越多的产品或项目中需要拓展以太网功能。

        此文中提及的2个以太网模块,是目前市面上具有代表性的2款产品。

        其中Xport是将微控制器(MCU)与以太网MAC+PHY及网络变压器集成封装在一个RJ-45里面的高集成度网络模块。其工作原理基本上可以理解为,Xport使用了一个内部微控制器运行软件TCP/IP协议栈专门负责处理以太网协议栈部分。使得用户本身的微控制器无需再处理以太网协议栈部分,只需和Xport内部MCU通信即可。

        其中WIZnet的WIZ811MJ是由全硬件TCP/IP协议栈+以太网MAC+PHY及集成网络变压器的RJ-45共同组成。相比Xport的来说,WIZ811MJ区别在于内部没有微控制器(MCU)去运行软件TCP/IP协议栈。而相对新鲜的,提到了一个全硬件TCP/IP协议栈。其实这个并不难理解,顾名思义就是用一些硬件逻辑电路去实现软件的语言逻辑功能。

我们看到,以上2款产品均是为了极大简化用户拓展以太网功能,减低技术门槛及开发周期而衍生出产品。他们都想到了利用专有的芯片去实现相对艰涩且固定的TCP/IP协议栈。

        不过,二者的解决方向确有不同:Xport是使用一个另外的MCU专门负责协议栈部分,而WIZ11MJ是将协议栈硬件化,用硬件逻辑电路实现相关功能。这大大减低了客户端微控制器的以太网负载,从而提升产品网络通信表现力。平台亲和度上,WIZ811MJ更容易的与8/16/32位单片机,FPGA,DSP,CPLD等通信。就DHCP而言,在WIZ811MJ的样例中带有DHCP的代码,只不过其是基于8位AVR单片机开发的。用户在具体使用中只需再略作改动即可。

        当然,就这两种产品,也代表着两种不同的思路。众说纷纭,就不用的情况而言,二者适用情况也当别论。小编在此就个人而言,认为目前行业发展及标准硬件描述语言(VHDL)的成熟,就一些固有的协议或代码将其硬件化,由专门的硬件逻辑芯片去解决已经逐渐获得更多的认可,形成一种行业趋势。

--WIZnet Katrina编辑