W5100 網卡跟 UNO 板子大小一樣, 針腳對準 UNO 排針插座直接疊上去, 插上 IP 分享器來的網路線, 再送電即可 :
# Arduino Ethernet Shield W5100 乙太網路擴充版,使用 DHCP 取得 IP 位址
#include <SPI.h>
#include <Ethernet.h>
byte mac[]={0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02};//指定網路卡 MAC 位址 (隨便設)
EthernetClient client;// 建立乙太網物件 EthernetClient
void setup() {//設定初始值
Serial.begin(115200);//初始化序列埠
//啟用 Ethernet 連線,預設會以 DHCP 取得 IP 位址
if (Ethernet.begin(mac)==0) {
Serial.println("Cannot get IP Address!");
for(;;);// 無法取得 IP 位址,不做任何事情
}
Serial.print("IP Address ");//輸出 IP 位址
Serial.println(Ethernet.localIP());
}
void loop() { } //無限迴圈
直接上傳到 UNO 執行, 並打開串列埠監控視窗 :
這樣就可以得知 DHCP 分配了 192.168.2.114 給 W5100 網卡 :
連線到 IP 分享器的管理介面也可以看到, 我用的是 EDIMAX 的分享器, 連線到其網址 http://192.168.2.1 如下 :
勾選最底下的 "開啟已配置的IP使用列表" 即列出現用中的 IP, 找到我們隨便給 W5100 設的 MAC 00:aa:bb:cc:de:02, 其 IP 為 192.168.2.114 :
初步測試顯示此網卡是 OK 的.
參考 :
# finding the Mac address from Ethernet shield (W5100)
# http://goods.ruten.com.tw/item/qa_full?21105315794952&page=2
6 則留言 :
我是用mega2560的板子,序列埠顯示Cannot get IP Address!
那我該如何才能取得板子的IP位置
這表示連線失敗, 是否 MAC 位址與網域內其他設備沖到? 改用別的 MAC 看看 (若乙太擴充板上面有標 MAC 的話就要輸入該 MAC).
tony:晚安
我看了你很多文章內容,覺得寫的很好,為此請問一下Arduino+W5100 相關程式請教!!
我想透過Arduino去執行TCPIP 程式撰寫,但試了很多都無法使用,為此詢問你:
我程式要透過網路IP:169.254.224.116 Port:10000 且購過字 D+CR 指定船過去,即可
接收輸出的16bits ASCII字串,請問這要如何編寫,是否有可指導嗎?! 謝謝大師
您好, 感謝您留言, 我曾想買 w5100, 但因價格較貴所以沒有用這塊, 改為使用 ESP8266, 便宜又好用, 寫 TCP/IP 或 HTTP 都很方便, 可參考我之前寫過的 ESP8266 系列測試紀錄.
您好,想請教您關於Arduino乙太網擴充卡的問題:
我有多個電話孔共用同一個電話號碼,其中有一個沒有用到
想利用這個空位做一個有線電話來電顯示的LCD小玩具
目前好像有現成的解碼卡像是HT9032D能夠使用
但找尋過程看到您的網站受益很多
因為我對通訊一竅不通
請問像您這樣的高手
有用過乙太接口轉接讀取過電話線路的訊號並用解碼器成功解碼嗎
或是您有其他建議的方法呢 十分感謝您
電話來電顯示需要解碼 FSK 或 DTMF 調變訊號, FSK 可用 HT9032 晶片, DTMF 可用 HT9170 或 MT8880 晶片, 但我沒有這方面實作經驗, HT9032 可參考 :
https://blog.csdn.net/JacksonLiang/article/details/4832597
MT8880 可參考 :
https://forum.arduino.cc/index.php?topic=146131.0
張貼留言