Ethernet W5100 arduino
185.000₫
Phiên bản shield này có tích hợp khe cắm thẻ micro SD, có thể được sử dụng để lưu trữ các tập tin phục vụ qua mạng. Arduino Ethernet Shield tương thích với Arduino Uno và Mega (sử dụng Ethernet Thư viện). Bạn có thể truy cập vào khe cắm thẻ trên board và sử dụng thư viện SD được bao gồm tích hợp trong bộ thư viện có sẵn trong trình biên dịch arduino.
IC điều khiển W5100 trên Arduino Ethernet Shield có thể thực hiện truyền dữ liệu thông qua 2 giao thức là TCP và UDP. Số đường truyền dữ liệu song song tối đa là 4. Đây chính là điểm mạnh của W5100 so với Microchip ENC28J60. Khả năng truyền song song cùng lúc 4 luồng dữ liệu giúp board có khả năng nhận dữ liệu từ internet với tỉ lệ lỗi thấp hơn (nguyên nhân thường là do mất dữ liệu trên đường truyền hoặc do thời gian truyền vượt quá giới hạn - time out).
Thông số kỹ thuật
- Để sử dụng phải có board mạch Arduino đi kèm
- Hoạt động tại điện áp 5V (được cấp từ mạch Arduino)
- Chip Ethernet: W5100 với buffer nội 16KB
- Tốc độ kết nối: 10/100Mb
- Kết nối với mạch Arduino qua cổng SPI
- Thư viện và code mẫu có sẵn trong chương trình Arduino
Lưu ý rằng bởi vì W5100 và SD card sử dụng chung chuẩn truyền SPI, vì vậy một thiết bị duy nhất có thể được hoạt động tại một thời điểm. Nếu bạn đang sử dụng cả hai thiết bị ngoại vi trong chương trình của bạn, điều này cần được xử lý bởi các thư viện tương ứng.
Tài liệu tham khảo
- W5100 Datasheet.
- Sơ đồ nguyên lý ethernet shield
- Hướng dẫn tạo server với ethernet shield
- Hướng dẫn tạo client với ethernet shield
Code mẫu :
/ *
# Include
* Web Server
*
A simple web server that shows the value of the ANALOG INPUT pins.
* /
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip [] = {192, 168, 0, 15};
Server server (80);
void setup ()
{
Ethernet.begin (mac, ip);
server.begin ();
}
{
Client client = server.available ();
if (client) {
/ / an the http request ends with a blank line
boolean current_line_is_blank = true; the
while the (client.connected ()) {
if (client.available () ) {
char c = client.read ();
/ / if we've gotten to the end of the line (received a newline
/ / character) and the line is blank, the http request has ended,
/ / so we can send a reply
if (c == '\ n' && current_line_is_blank) {
/ / send a STANDARD the http response the header
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text / html") The;
client.println (); / / output the value of each analog input pin client.print ("welcome to tinyos"); client.println (" "); client.print ("/ / ******* ************************************************************ "); client.println (" "); client.print (
www.tinyos.net . cn );
client.println ("
");
client.print ("/ / ******************************* ****** ");
client.println ("
");
for (int i = 0; i <6; i + +) {
client.print ("analog input");
client.print (i);
client. print ("is");
client.print (analogRead (i)); the
client.println ("
");
}
break;
}
if (c == '\ n') {
/ / we're starting a new line
current_line_is_blank = true;
} else if (c! = '\ r') {
/ / we've gotten a character on the current line
current_line_is_blank = false;
}
}
}
client.stop ();
}
}