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.
void loop () { 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 (); } }
Đặc tính nổi bật
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
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 ();
}
void loop ()
{
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 ();
}
}
Arduino MEGA2560 R3 Atmega 16u2
Arduino Nano V3.0 ATmega328P (Không kèm dây cáp USB)
Arduino UNO R3 DIP (kèm cáp)
Dây Cáp A-B 50cm
Dây Cáp Mini Usb, Cáp Nano (Cáp Usb to Mini Usb)
KIT RF WIFI ESP32 Nodemcu MCU LuaNode32