Сетевой модуль для Arduino Uno/Mega W5100

!!!Здесь позднее будет статья по работе с модулем . Пока есть только общие сведения!!!

Предназначен для подключения к IP-сети Arduino Nano.

Используемые пины

ПинНазначениеКомментрарий
VCC3V3
GNDGND
CS(SS)10(8) На шилде для Nano используется 10 пин, в остальных случаях(по-умолчанию) - 8
SI(MOSI)11
SO(MISO)12
SCK13

Используемые библиотеки и проблемы при сборке

Есть три варианта библиотек для работы с этим модулем. По результатам:

  • для обучения идеален ether_28j60.zip;
  • для серьезного кодинга - ethercard;
  • для серьезного использования на системах с большой памятью - uip-ethernet.

ether_28j60 и EtherShield

  • Иногда при первом использовании библиотек ether_28j60 и EtherShield может возникнуть ошибка:
      error: ‘prog_char’ does not name a type
    

    Для ее исправления необходимо во всех файлах библиотек ether_28j60 и EtherShield заменить все строки prog_char и char PROGMEM на char.

  • Также заметил, что при работе с этой библиотекой более часа-двух модуль может зависнуть. Дополнено: виснет как миленькая. Не используем.
  • + самая компактная библиотека
  • + самый простой в написании код
  • - Годится только для вывода простой веб-страницы.
  • - Довольно тормозная
  • - Неоднократно было замечено зависание после 1-2 часов работы

EtherCard

Если же мы используем библиотеку EtherCard, то стоит обратить внимание на строку инициализации. В примерах она выглядит как

ether.begin(sizeof Ethernet::buffer, mymac)

Эту строку надо поменять следующим образом:

ether.begin(sizeof Ethernet::buffer, mymac,10)

, где 10 - это пин Arduino, покдлючаемый к CS модуля. По-умолчанию, если он не указан, пин подклчается к 8 пину Adruino. В нашем случае, при использовании Nano пин должен быть 10-м.

По стабильности - зависаний не наблюдал, вроде библиотека годная.

Недостаток -

  • + Стабильность работы
  • + Высокая скорость обработки данных
  • + Большое количество возможностей
  • + Компактный код, но больше чем у ether_28j60.zip
  • - Нет явной функции аналогичной print для вывода на веб-страницу. Страница формируется в буфере и выводится целиком.

UIPEthernet

С этой библиотекой вроде бы проблем не наблюдается. Более того, с ней работают стандартные примеры из комплекта Arduino IDE. В них достаточно просто заменить строку

#include <Ethernet.h>

на

#include <UIPEthernet.h>

.

  • + Самый большой набор функций из всех рассмотренных выше
  • + Самое удобное использование, подходят стандартные примеры, достаточно просто заменить подключаемую библиотеку
  • + Быстрое выполнение
  • - Очень громоздкий код после сборки. В связи с этим для серьезного использования годится только для Arduino Mega или аналогичных плат с большой памятью.

Ссылки

setevoj_modul_dlja_arduino_uno_mega_w5100.txt · Последние изменения: 2015/09/07 18:19 — ansealk
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика