引言
最近接觸到Arduino模塊的開發,並且模塊的主要使用場景是機房,因此選擇使用以太網W5500模組使得數據能夠通過網線穩定而快速地將數據上傳到外網。在開發的過程中發現,Arduino模塊的庫示例代碼配套使用的是W5100模塊。
網上的教程依然五花八門,有的說W5500的API與W5100的是一樣的,也有的說官方WIZ550io與國內W5500模組的設計區別,導致W5500模組不能自動寫入MAC地址,以驅動其獲取IP與聯網。在這裏,我分享一下我的項目經驗,以供相關領域同志參考。
模塊清單
1、Arduino Nano模塊
2、泥人W5500以太網模組
3、網線與數據線
4、路由器
接線介紹
因爲Arduino與W5500使用的是快速SPI連接,因此我們首先要知道Arduino-Nano模塊的SPI接口以及工作原理:
這裏借用一篇詳細的博客說明:Arduino-Nano各個接口的博客:
Arduino Nano 引腳分配圖及定義詳解
(圖片也是借用的)
因此詳細的接線應該爲:
Arduino | W5500 |
---|---|
D10 | SCS |
D11 | MOSI |
D12 | MISO |
D13 | SCLK |
至於INT、RST這兩個引腳,要根據自己的需求去接,我這次開發沒有用到可以置空
關於VCC的話,建議使用5V供電,個人測試,3V3供電會發現W5500工作不正常
Arduino代碼操作
1、下載使用W5500的Arduino庫
2、使用最新下載的Ethernet2庫中的例程即可:
3、例程需要修改的地方:
總結
個人覺得Arduino雖然簡單,簡單就是簡單在Arduino提供了大量的庫以供使用,其實我們更加應該深入去了解以及學習一下Arduino庫裏面是應該怎麼寫,以及怎麼實現的。同時,這也爲什麼很多商家包括泥人,提供的只有51以及STM32的例程原因之一吧。
此博客以作爲一次Arduino項目開發的筆記記錄,希望對你也有幫助。