MyTetra Share
Делитесь знаниями!
Ethernet Shield на основе W5100!
Время создания: 03.02.2023 19:52
Автор: alensav
Текстовые метки: Ethernet Shield на основе W5100!
Раздел: ARDUINO
Запись: alensav/MyTetra2/main/base/1675443153pg3jioiypc/text.html на raw.githubusercontent.com

Ethernet shield W5100 – подключение к Arduino

05.03.2018Вольтик.ру ARDUINO ДЛЯ НАЧИНАЮЩИХ ИНСТРУКЦИИ И РЕШЕНИЯ ПРОБЛЕМ Комментариев нет

Для связи с внешним миром и передачи данных в наше современное время удобно использовать сеть Интернет. С появлением Wi-Fi модулей задача упростилась и удешевилась, но всё ещё существуют мета, где не существует беспроводной сети, она загрязняет диапазон частот или просто неудобна, но рядом есть сетевой кабель. В таком случае нам поможет Ethernet Shield на основе W5100!

КРАТКИЙ ОБЗОР W5100

Шилд предназначен для коммуникации микроконтроллера с локальной сетью и реализует физический уровень интерфейса. Подключается к Arduino по интерфейсу SPI. Скорость обмена Internet – 10/100 Mb/s. Напряжение питания – 5В.

Кроме собственно элементов для связи с сетью на плате расположен разъём для microSD карты памяти (для упрощения организации памяти для веб-сервера).

На шилд выведены закрытые им кнопка RESET и служебные светодиоды, в том числе индикаторы работы проводного интерфейса. Шилд совместим с Arduino Mega, так как использует ICSP-разъём (разъём программирования) для подключения.

Обратите внимание – стандартный пин 10, используемый для выбора активного устройства, будет занят и для других устройств придётся выбирать другой пин, чтобы избежать конфликта на линиях данных. Это – одна из самых распространённых ошибок, по причине которой у многих не работают SPI устройства вместе с Ethernet Shield.

ПОДКЛЮЧЕНИЕ В ARDUINO IDE

Шилд был разработан одним из первых и стал стандартом де-факто, поэтому библиотека для работы с ним включена в комплект поставки Arduino IDE и называется она просто – Ethernet library.

Для подключения шилда к Arduino просто наденьте его на плату (возможны проблемы с совместимостью с Arduino Leonardo)

Используйте качественные сетевые провода, поскольку оборудование чуть более привередливое к мелочам, чем компьютерные сетевые кабели. Для стабильной работы желательно обеспечить отдельное внешнее питание.

Откройте среду и загрузите пример WebServer. После чего подключите Arduino к сети и перейдите по IP-адресу 192.168.1.177.  Возможно, это вас удивит, но вы только что зашли на собственный, только что поднятый сервер! А если «пробросить» 80 порт сквозь роутер наружу, то доступ к нему можно будет получить из любой точки света, что позволит удалённо управлять устройством или контролировать его.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

#include "SPI.h"

#include "Ethernet.h"

 

// Enter a MAC address for your controller below.

// Newer Ethernet shields have a MAC address printed on a sticker on the shield

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// if you don't want to use DNS (and reduce your sketch size)

// use the numeric IP instead of the name for the server:

//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)

char server[] = "www.google.com";    // name address for Google (using DNS)

 

// Set the static IP address to use if the DHCP fails to assign

IPAddress ip(192, 168, 0, 177);

 

// Initialize the Ethernet client library

// with the IP address and port of the server

// that you want to connect to (port 80 is default for HTTP):

EthernetClient client;

 

void setup() {

  // Open serial communications and wait for port to open:

  Serial.begin(9600);

  while (!Serial) {

    ; // wait for serial port to connect. Needed for native USB port only

  }

 

  // start the Ethernet connection:

  if (Ethernet.begin(mac) == 0) {

    Serial.println("Failed to configure Ethernet using DHCP");

    // try to congifure using IP address instead of DHCP:

    Ethernet.begin(mac, ip);

  }

  // give the Ethernet shield a second to initialize:

  delay(1000);

  Serial.println("connecting...");

 

  // if you get a connection, report back via serial:

  if (client.connect(server, 80)) {

    Serial.println("connected");

    // Make a HTTP request:

    client.println("GET /search?q=arduino HTTP/1.1");

    client.println("Host: www.google.com");

    client.println("Connection: close");

    client.println();

  } else {

    // if you didn't get a connection to the server:

    Serial.println("connection failed");

  }

}

 

void loop() {

  // if there are incoming bytes available

  // from the server, read them and print them:

  if (client.available()) {

    char c = client.read();

    Serial.print(c);

  }

 

  // if the server's disconnected, stop the client:

  if (!client.connected()) {

    Serial.println();

    Serial.println("disconnecting.");

    client.stop();

 

    // do nothing forevermore:

    while (true);

  }

}

Шилд открывает большой простор для творчества, а вычислительных способностей Arduino вполне хватает на обеспечение работы небольшой странички с техническими данными.

Попробуйте поменять IP-адрес Arduino или изменить содержимое странички (для этого придётся немного изучить HTML).

Удачи вам в ваших проектах!

Вольтик.ру

Вольтик – это слаженная команда амбициозных и заядлых мейкеров. Мы создали этот проект с целью вовлечения вас, талантливых и начинающих профессионалов, в увлекательный мир электроники, который ждет огромное будущее. Каждый проектировщик знает, что успех нового устройства прямо пропорционален качеству расходных комплектующих. Невозможно собрать хорошее устройство, в котором не работает половина компонентов! 5 лет назад мы собрались и решили объединить силы любителей-проектировщиков, чтобы ваши устройства были качественными и успешными! Заходите в наш магазин, так вы найдете множество интересных товаров.

Подключение ENC28J60 (Ethernet LAN) к Arduino

Raspberry Pi 3 Model B+ – новая малина от RPi Foundation


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования