Ethernet Shield построенная на чипе Ethernet W5500, является популярной платой расширения в мире Arduino, и предоставляет вашему устройству проводное подключение к локальной сети или интернету. Плата также известна как “Ethernet Shield 2.”
Его физическое подключение тривиально:
Программирование требует некоторых усилий.
Когда вы подключаете ПК к маршрутизатору с помощью кабеля, в большинстве случаев он автоматически связывается с локальной сетью (LAN), и вы готовы к просмотру. Вам не нужно ничего делать, потому что ваша операционная система (ОС), работающая под управлением Windows, MacOS или Linux выполняет все шаги, необходимые для входа в ЛВС. Микроконтроллеры не имеют ОС, поэтому вы сами несете ответственность за установление соединения.
К счастью, в XOD есть ноды для Ethernet Shield to которые упрощают работу. Специфические для него ноды находятся в xod-dev/w5500
библиотеке а ноды с аппаратной нейтралью находятся в xod/net
.
В простейшем случае, когда у вас есть плата Ethernet Shield, и это единственное DIY-устройство в вашей локальной сети, достаточно разместить один xod-dev/w5500/ethernet-shield
на своем патче.
У ноды есть CONN
импульс, который инициирует процесс соединения. Убедитесь, что CONN
соединена On Boot
так, чтобы shield пытался подключиться к маршрутизатору при запуске программы.
Нода имеет пины INET
, которая передаёт результат подключения к Интернету ,а также OK
и ERR
импульсы , которые сигнализируют на успехе или неудаче.
Когда enthernet-shield
получает импульс на CONN
, он начинает согласовывать сетевые параметры с маршрутизатором и автоматически устанавливает IP-адрес устройства, адрес шлюза, маску сети и IP-адрес DNS-сервера. При успешном соединении нода испускает импульс OK
и устанавливает INET
значение, ожидаемое другими узлами, предназначенными для сетевой связи.
Самый простой способ проверить, работает ли ссылка, - вывести собственный локальный IP-адрес. xod-dev/w5500/lan-ip
может извлекать IP-адрес из INET
объекта и xod/net/format-ip
способен форматировать IP как удобочитаемую строку, такую как “192.168.1.101”. Вы можете использовать ЖК-дисплей или ноду watch, чтобы увидеть результат:
Для демонстрационных целей мы также используем format-progress
ноду, которая выводит строку “…”, “OK” или “ERR” во вторую строку дисплея, показывающую ход соединения.
Загрузите патч на свою плату. В обычной сети он покажет:
Остерегайтесь, описанный здесь быстрый способ имеет некоторые недостатки:
Если с базовым соединением все в порядке, вы можете начать сетевое общение. Например, fetch some data from the web with HTTP GET. Или вы можете сделать ваше соединение более надежным, используя unique MAC and static IP setup.