Arduino Nano + WIZ550io = 簡易上網
我愛Arduino Nano – 這是一個很好外形小巧卻功能齊全的Arduino Uno。然而,當我去將它連接到互聯網,所有的乾淨利落小巧也消失在大尺寸的以太網盾底下了。
不過,我最近發現了一個更好的,更緊湊的方式給我的nano連接到互聯網 – 通過使用從WIZnet公司小巧得多(和更便宜)的WIZ550io模塊!
如果你想方便連接,你可以找到一個可連接該模塊和Arduino Uno的適配器板,但我想保持小巧的子板;通過我的Nano把它們直接連接在一起。然而,如果你沒有適配板,你可以利用相同的方法用來直接連接到一個Uno板。
第一步:零件
這個教程,我使用瞭如下零件:
1個Arduino Nano(或者其他可兼容的)
1個WIZ550io模塊(可以直接從
買到)
1個麵包板(我使用30排的,就夠大了)
5 mm跳線
4 fm跳線
步驟2:連接
注意:在連線前,最好首先將WebServer 例程下載到Arduino中,確保其上沒有存在的固件,不然可能在你的WIZ550io上引起其他問題。
1. 將Arduino Nano和WIZ550io模塊放到麵包板上。 我將他們背對背擺放(見圖),這樣可以使USB供電線和以太網線都容易連接。 正如圖中看到的那樣,我的麵包板還餘出一排。
2. 連接9個引腳:
Arduino – WIZ550io (5 MM 跳線)
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:更新以太網庫
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。 我的例子中是
瀏覽器窗口應該顯示的是一串數字,與每一個模擬輸入一一對應。 注意我們沒有連接任何的模擬輸入,那些數字會有點隨機。 當然如果你感興趣,可以添加一些傳感器!
步驟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)沒有其他注意了
參考:
更多信息,請參考:
https://github.com/Wiznet/WIZ_Ethernet_Library (見ReadMe文件)
http://arduino.cc/en/Reference/SPI
http://wizwiki.net/wiki/doku.php?id=osh:ioshield-a:updatelib
http://www.wiznet.co.kr
http://wizwiki.net/wiki/doku.php?id=products:wiz550io:start
來源:Instructable