Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3D принтеры3D сканерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУЗапчасти 3D принтеров по брендам3D печать на заказ
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3DIY
    Телефоны
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    0
    0
    0
    • Кабинет
    • 0Сравнение
    • 0Избранное
    • 0Корзина
    • Бренды
    • Акции
    • Услуги
      • Услуги
      • 3D печать
        • 3D печать
        • 3D печать пластиком FDM/FFF
        • 3D печать фотополимером
    • Компания
      • Компания
      • О компании
      • Реквизиты
      • Партнеры
      • Клиенты
      • Вакансии
    • Блог
    • Информация
      • Информация
      • Гарантия на товар
      • Возврат товара
      • Положение о персональных данных
      • Политика конфиденциальности
      • Согласие на получение рекламы
      • Пользовательское соглашение
      • Согласие на обработку персональных данных
      • Использование cookie-файлов
      • Договор-оферта
    • Контакты
      • Контакты
      • Как до нас добраться
    8 (800) 500-45-93отдел продаж Россия
    • Телефоны
    • 8 (800) 500-45-93 отдел продаж Россия
    • 8 (495) 565-35-93 отдел продаж Москва
    • info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
    • Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
    • пн - пт 09:00—18:00
    Главная
    Блог
    Arduino платы
    Ethernet shield

    Ethernet shield

    Ethernet shield
    Arduino платы

    Содержание

    • Технические характеристики
    • Подключение к Arduino
    • Пример использования
    • Часто задаваемые вопросы

    Ethernet shield (рис. 1) – это плата для подключения Arduino к сети. Плата основана на чипе Wiznet W5100.

    ethernet-shield-01.jpg

    Рисунок 1.

    Технические характеристики

    • Напряжение питания — 5 В;
    • Контроллер — W5100;
    • Поддержка до 4-х соединений;
    • Скорость подключения — 10 и 100 Мбит/с;
    • Разъем для карт памяти — micro-SD;
    • Протокол обмена данными — SPI;
    • Габариты — 74х54х27 мм.

    Подключение к плате Arduino

    Ethernet shield выпускается в формате шилда, т.е. устанавливается поверх платы Arduino (рис. 2). На плате присутствует разъем для подключения microSD карт. Плата Arduino взаимодействует как с W5100, так и с SD-картой, по протоколу SPI. Вывод 10 используется для выбора W5100 и вывод 4 для выбора SD-карты, одновременно может быть активно только одно устройство.

    ethernet-shield-02.jpg

    Рисунок 2.

    Для подключения платы Arduino к сети, необходимо необходимо загрузить скетч для получения ip-адреса. Что такое ip-адрес? Каждое устройство локальной сети должно иметь свой уникальный адрес, его можно назначить вручную или получить автоматически от устройства (обычно это роутер), на котором выполняется специальная программа – DHCP-сервер.

    Для программирования сетевого взаимодействия используется библиотека Ethernet из стандартного дистрибутива. При использовании библиотеки Ethernet необходимо указывать MAC-адрес платы (уникальный идентификатор любого сетевого устройства). В новых версиях MAC-адрес можно увидеть на плате Ethernet shield на наклейке. Если наклейки нет, то можно использовать любую комбинацию цифр, главное чтобы в вашей сети не было устройств с совпадающими MAC-адресами.

    Скетч для получения IP-адреса по DHCP представлен в листинге 1.

    Листинг 1

    #include <Ethernet.h> #include <SPI.h> #define UART Serial #define ETH Ethernet byte mac[]={0x33, 0x33, 0x33, 0x33, 0x33, 0x33}; void setup() { UART.begin(9600); } // if (ETH.begin(mac) == 0) { UART.println("Failed!"); } else { UART.print("ip="); for (int k = 0; k < 4; k++) { UART.print(ETH.localIP()[k], DEC); UART.print("."); } UART.println(); } } void loop() {;} 

    После загрузки скетча открываем монитор последовательного порта (рис. 3).

    ethernet-shield-03.jpg

    Рисунок 3.

    Скетч для назначения статического адреса IP-адреса представлен в листинге 2. Вам необходимо внести свои параметры шлюза, маски сети и сервера dns.

    Листинг 2

    #include <Ethernet.h> #include <SPI.h> #define UART Serial #define ETH Ethernet byte mac[]={0x33, 0x33, 0x33, 0x33, 0x33, 0x33}; byte ip[]={***,***,***,***}; byte dns[]={***,***,***,***}; byte gtway[]={***,***,***,***}; byte subnet[]={***,***,***,***}; void setup() { UART.begin(9600); ETH.begin(mac, ip, dns, gtway, subnet); delay(1000); UART.println(ETH.localIP()); } void loop() {;} 

    После загрузки скетча открываем монитор последовательного порта (рис. 4).

    ethernet-shield-04.jpg

    Рисунок 4.

    Чтобы проверить, что плата Arduino подключена к сети и имеет связь с компьютером по локальной сети, на компьютере запускаем командную строку (Пуск à Все программы à Стандартные à Командная строка) и набираем команду:

    ping <ip-адрес> -t

    где <ip-адрес> - ip-адрес, полученный платой Arduino

    В командной строке должны приходить ответы от платы Arduino (рис. 5).

    ethernet-shield-05.jpg

    Рисунок 5.


    Пример использования

    Создадим проект использования платы Arduino с Ethernet shield в качестве сервера, который формирует при обращении к нему страницу с показаниями, подключенных к нему датчиков. Для проекта нам понадобятся:

    • Плата Arduino – 1 шт;
    • Плата прототипирования – 1 шт;
    • Ethernet shield – 1 шт;
    • Датчик BMP280 – 1 шт;
    • Провода.

    Схема соединений нашего проекта показана на рис. 6.

    ethernet-shield-06.jpg

    Рисунок 6.

    Приступим к написанию скетча. Запускаем на плате Arduino + Ethernet shield сервер. При обращении к серверу (например из браузера) плата Arduino опрашивает датчик BMP280 и выдает браузеру страницу с данными температуры и атмосферного давления.

    Скетч в листинге 3.

    Листинг 3.

    // подключение библиотек #include <SPI.h> #include <Ethernet.h> #include <Wire.h> #include <Adafruit_Sensor.h> #include <Adafruit_BMP280.h> #define UART Serial #define ETH Ethernet byte mac[]={0x33, 0x33, 0x33, 0x33, 0x33, 0x33}; byte ip[]={***,***,***,***}; byte dns[]={***,***,***,***}; byte gtway[]={***,***,***,***}; byte subnet[]={***,***,***,***}; // сервер EthernetServer srv (80); // создание экземпляра датчика Adafruit_BMP280 sensor; // I2C void setup() { UART.begin(9600); ETH.begin(mac, ip, dns, gtway, subnet); delay(1000); srv.begin(); UART.println(ETH.localIP()); bmp.begin(); } void loop() { // EthernetClient W5100 = server.available(); if (W5100) { int blank = 1; while (W5100.connected()) { if (W5100.available()) { char s = W5100.read(); UART.write(s); if (s == '\n' && blank==1) { // W5100.println("HTTP/1.1 200 OK"); W5100.println("Content-Type: text/html"); W5100.println("Connection: close"); W5100.println("Refresh: 10"); // обновление каждые 10 сек W5100.println(); // W5100.println(""); W5100.println(""); W5100.print("Sensor BMP280

    "); W5100.print("T = "); W5100.print(bmp.readTemperature()); W5100.print(" *C
    "); W5100.print("P = "); W5100.print(bmp.readPressure()/133.3224); W5100.print(" mm hg st
    "); W5100.println(""); break; } if (s == '\n') { blank = 1; } else if (s != '\r') { blank = 0; } } } delay(1); W5100.stop(); } }

    Загружаем скетч на плату Arduino. Теперь набираем в браузере ip-адрес нашего сервера и видим страницу с показаниями температуры и атмосферного давления, полученными с датчика BMP280 (рис. 7). Обновление страницы происходит каждые 10 секунд.

    ethernet-shield-07.jpg

    Рисунок 7.

    ethernet-shield-08.jpg

    Рисунок 8. Схема в сборе 


    Часто задаваемые вопросы

    1. Плата Arduino+Ethernet shield не получает ip-адрес по DHCP.
    • Проверьте исправность сетевого кабеля.
    • Проверьте наличие в сети сервера DHCP.
    • Возможно в сети есть устройство с таким MAC-адресом. Попробуйте ввести другой MAC-адрес.
    2. Отсутствует соединение по сети при назначении статического адреса.
    • Проверьте исправность сетевого кабеля.
    • Проверьте правильность сетевых настроек (ip, gateway, subnet).
    • Возможно в сети есть устройство с таким MAC-адресом. Попробуйте ввести другой MAC-адрес.

    Товары из статьи

    Быстрый просмотр
    Arduino Ethernet Shield W5100imageimageimage
    890 ₽
    1 068 ₽
    -17%
    Arduino Ethernet Shield W5100
    0
    0
    Нет в наличии

    Документы

    Listing_01
    629 байт
    Listing_02
    564 байт
    _46_03
    1,2 Кб
    Adafruit_BMP280_Library-master
    9,2 Кб

    Это интересно

    Arduino LilyPad
    Arduino платы
    Arduino LilyPad
    Arduino Esplora
    Arduino платы
    Arduino Esplora
    Arduino Pro Mini
    Arduino платы
    Arduino Pro Mini
    Ethernet shield
    Arduino платы
    Ethernet shield
    Arduino Uno
    Arduino платы
    Arduino Uno
    Raspberry Pi
    Arduino платы
    Raspberry Pi
    • Комментарии
    Загрузка комментариев...
    Назад к списку
    • Все публикации277
      • 3D принтеры59
      • 3D печать64
      • ЧПУ10
      • Датчики27
      • Модули38
      • 3D сканеры1
      • Arduino механика6
      • Arduino платы8
      • Дисплеи6
      • Кейсы1
      • Компоненты13
      • Мировые новости35
      • Проекты7
      • Сопутствующие2
    Связаться с нами
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Магазин
    Бренды
    Акции
    Каталог
    Услуги
    Компания
    О компании
    Реквизиты
    Партнеры
    Клиенты
    Вакансии
    Информация
    Гарантия на товар
    Возврат товара
    Положение о персональных данных
    Политика конфиденциальности
    Согласие на получение рекламы
    Пользовательское соглашение
    Согласие на обработку персональных данных
    Использование cookie-файлов
    Договор-оферта
    Помощь
    Условия оплаты
    Условия доставки
    Товары под заказ
    Гос. закупки
    Как сделать заказ
    Вопрос-ответ
    2013 - 2026 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
    Конфиденциальность
    Оферта
    ГлавнаяКаталог0Корзина0ИзбранныеКабинет0Сравнение
    d =
    Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
    Согласен