W5100 ethernet shield
Ethernet Shield — это плата расширения, которая устанавливается поверх самого Arduino. Она дает возможность выступать в роли сетевого устройства и общаться по проводной сети с аналогичными устройствами, с обычными компьютерами, принтерами, сервисами в интернете и прочими сетевыми ресурсами. Последняя версия платы Ethernet Shield Rev3 полностью совместима с Arduino Mega 2560.
Плата основана на чипе Wiznet W5100, который поддерживает как TCP, так и UDP протоколы. Одновременно открытыми может быть до четырех подключений.
Плата обладает стандартным 8P8C ethernet-портом для подключения к сети с помощью патч-корда витой пары и набором контактов для подключения к Arduino. Для общения между собой Ethernet Shield и Arduino используют контакты 4-й и с 10-го по 13-й, поэтому их использование в других целях в присутствии платы расширения невозможно. Все остальные контакты соединены с базовой платой напрямую, то есть по сути являются «удлинителями».
Для программирования сетевого взаимодействия используется библиотека «Ethernet» из стандартного дистрибутива. Примеры программ для работы шилда встроены и в Arduino IDE.
На плате размещен слот для флеш-карты формата micro-SD, которая может быть использования для хранения ресурсов, раздаваемых по сети. Для взаимодействия с SD-картой может быть использована библиотека sdfatlib.
В плату встроены следующие индикаторы:
- PWR загорается, когда подведено питание
- LINK загорается, если сеть доступна. Мигает при получении и передачи данных
- FULLD горит, если установлено дуплексное соединение. То есть возможен одновременный прием и передача.
- 100M горит, если соединение осуществлено на уровне 100 Мбит/с (не 10 Мбит/с)
- RX мигает при получении данных
- TX мигает при передаче данных
- COLL мигает при возникновении коллизий в сети. То есть когда в режиме полудуплекса два устройства пытаются одновременно передать пакет.
Также имеется кнопка сброса, соединенная с базовой платой таким образом, что при нажатии перезагружает оба устройства.
Библиотека Ethernet
Данная библиотека позволяет Ардуино выходить в Интернет с использованием платы расширения Arduino Ethernet. При этом Ардуино может выступать как в роли сервера, принимающего входящие соединения, так и клиентом, соединяющимся с удаленным сервером. Библиотека поддерживает до 4 одновременных соединений (входящих, исходящих, либо и тех, и других).
Ардуино взаимодействует с платой расширения по шине SPI, объединяющей в себе выводы 11, 12 и 13 в Arduino Uno и 50, 51 и 52 - в Arduino Mega. На обеих платах в качестве линии SS используется вывод 10. В Arduino Mega аппаратный вывод SS (53) не используется для выбора W5100. Тем не менее, этот вывод должен быть сконфигурирован как выход, в противном случае SPI не будет работать.
Применение Ethernet Shield W5100:
Интернет шилд W5100 может применятся в системе домашней автоматизации для управления вашими устройствами умного дома через интернет. Передача данных через провод по прежнему остается одной из самых надежных в системах автоматизации дома, но данный подход требует заранее позаботится о прокладке кабеля.