Arduino Nano + WIZ550io = 简易上网

Picture of Arduino Nano with WIZ550io = Easy Internet

我爱Arduino Nano – 这是一个很好外形小巧却功能齐全的Arduino Uno。然而,当我去将它连接到互联网,所有的干净利落小巧也消失在大尺寸的以太网盾底下了。

不过,我最近发现了一个更好的,更紧凑的方式给我的nano连接到互联网 – 通过使用WIZnet公司小巧得多(且更便宜)的WIZ550io模块!

如果你想方便连接,你可以找到一个可连接该模块和Arduino Uno的适配器板,但我想保持小巧的子板;通过我的Nano把它们直接连接在一起。然而,如果你没有适配板,你可以利用相同的方法用来直接连接到一个Uno板。

第一步:零件

Picture of Parts 
这个教程,我使用了如下零件:
1个Arduino Nano(或者其他可兼容的)
1个WIZ550io模块(可以直接从WIZnet买到)
1个面包板(我使用30排的,就够大了)
5 m-m跳线
4 f-m跳线
步骤2:连接
Picture of Making the Connections
注意:在连线前,最好首先将WebServer 例程下载到Arduino中,确保其上没有存在的固件,不然可能在你的WIZ550io上引起其他问题。
1. 将Arduino Nano和WIZ550io模块 放到面包板上。我将他们背对背摆放(见图),这样可以使USB供电线 和 以太网线 都容易连接。正如图中看到的那样,我的面包板还余出一排。
2. 连接9个引脚:
Arduino – WIZ550io (5 M-M 跳线)

3v3 – J1.8

GND – J1.1

D2 – J2.5 (INT)

D7 – J2.2 (RDY)

D10 – J1.6 (SCS)

(SPI 需要 4 F-M 跳线)

spi.1 – J1.4 (MISO)

spi.3 – J1.5 (SCK aka SCLK)

spi.5 – J2.3 (RST)

spi.4 – J1.3 (MOSI)

注意:spi.2 (VDD) – 不要连接!因为他是5v的,wiz 板需要3.3v的
请参考SPI图,看一下Arduino Nano上的引脚顺序。同时,这个板子本身应该是1号引脚有一个数字1.这应该是VIN引脚侧最外面的引脚。
步骤3:更新以太网库
Picture of Update the Ethernet Library
WIZnet模块 使用了一个全新的芯片,需要更新一下库。不要担心,你的旧以太网板也一样可以用。
1. 下载WIZnet以太网库:
https://github.com/Wiznet/WIZ_Ethernet_Library 这有一个按钮,底部标有“Download ZIP”,可以一键下载整包文件。
2. 复制以太网文件夹到Arduino库文件夹中 (在Mac上是Documents/Arduino/Libraries)。这将重写内置以太网库,这是Arduino app的一部分。如果你也需要使用其他以太网插板和模块,见“注意”中的内容。注意以太网文件夹有两个版本,这取决于你的ArduinoIDE的版本。我使用Arduino IDE版本是 1.0.6,所以我从WIZnet文件夹复制到以太网文件夹的时候,标记为1.0.x
3. 在Libraries/Ethernet/utility 文件夹中,打开w5100.h并只需修改一处 #define 行(其中3行)取消注释。我的WIZ550io是这样的:
//#define W5100_ETHERNET_SHIELD // Arduino Ethernet Shield and Compatibles ...
//#define W5200_ETHERNET_SHIELD // WIZ820io, W5200 Ethernet Shield
#define W5500_ETHERNET_SHIELD   // WIZ550io, ioShield series of WIZnet</p>
4.在同样的文件中,(可选) 也取消注释,这样板子就能用预先分配的硬件MAC地址了:
#define WIZ550io_WITH_MACADDRESS // Use assigned MAC address of WIZ550io
图片展示的是我的设置(我使用XCode来编辑文件,因此格式和颜色都很美观!)
步骤4:运行一个WebServer并测试!
都设置好后,最好测试一下是不是都调对了。感激的是,以太网库包含了一套非常棒的例程。我们就用简易的WebServer例程就行了。
1. 打开Arduino IDE 并打开File/Examples/Ethernet 中名为WebServer的例程。
2. 如果你用苹果网络(通过Apple’s Airport wireless hubs),你将需要改一下IP地址,来引起你网络中其他电脑的注意。我使用的:
IPAddress ip(10,0,1,177);  // on an Apple wifi network
注意,多数网络大概是不必须的,只要前3个数字匹配你的IP地址就行了。
3. 保存并赋予它一个新名字
4. 用网线将WIZ550io连入网络
5. 连接Arduino到你的电脑,并跑WebServer例程
6. 打开一个浏览器窗口,键入你在WebServer例程中设置的IP地址匹配的url。我的例子中是 http://10.0.1.177
浏览器窗口应该显示的是一串数字,与每一个模拟输入一一对应。注意我们没有 连接任何的模拟输入,那些数字会有点随机。当然如果你感兴趣,可以添加一些传感器!
步骤5:注意及参考
注意:
(a)如果你还有其他的以太网插板,在用特殊的插板工作的时候,需要需要修改w5100.h(再用WIZ550io的时候再改回来)。例如,基于以太网插板的Wiz5100插板,我将首行取消注释:
#define W5100_ETHERNET_SHIELD // Arduino Ethernet Shield and Compatibles ...
//#define W5200_ETHERNET_SHIELD // WIZ820io, W5200 Ethernet Shield
//#define W5500_ETHERNET_SHIELD   // WIZ550io, ioShield series of WIZnet
(b)没有其他注意了
参考:
更多信息,请参考: