ethernet shield w5100 не работает как сервер

shaman900
Offline
Зарегистрирован: 27.09.2011

Добрый день, есть ethernet shield с чипом w5100 ардуино, соединяю их, включаю шилд в роутер, у роутера ip 192,168,1,1, шилду програмно пишу ip 192.168.1.14, запускаю скетч веб сервер и никакой реакции, сведодиоды мигают а из браузера перейти по адресу 192.168.1.14 не могу, не найдено пишет. сериал порт выдаёт server is at 0.0.0.0

Подскажите, что не так делаю???
sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Код для нетелепатов привели бы :)

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Как минимум шилд должен тем или иным способом получить ненулевой IP и начать откликаться на команду ping.

shaman900
Offline
Зарегистрирован: 27.09.2011

код стандартный из библиотеки

shaman900
Offline
Зарегистрирован: 27.09.2011

Не пингуется, rx мигает tx нет

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Там же все программно. Нормального TCP стека нет. Не отвечаете на пинг, вот и не пингуется

shaman900
Offline
Зарегистрирован: 27.09.2011

Как тогда у всех остальных работает, у меня нет, на ютубе кучу рольков посмотрел, всё делаю тоже самое , заливаю скеч, включаю в роутер, моску dns ip mac всё указываю, смотрю в сериал а там  server is at 0.0.0.0. Ну как так. Что за х... с ним. Подскажите ктонить чёнить разумное.

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

shaman900 пишет:

....  rx мигает tx нет.....

Помню летом пришли Визнеты, так вот у них была перепутана разводка одного из диодов в Ханране...

А дорожки были под коннектором. Пришлось их выпаивать и переворачивать диод.

Правда плата работала и так, просто не было одной индикации.

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

bav33
Offline
Зарегистрирован: 25.03.2014

Похожая проблема.

Достал с полки MEGA 2560 + w5100. Точно помню, что работало.

Сейчас: заливаю стандартный пример, в итоге: server is at 0.0.0.0, но пинги проходят, rx tx отчаянно мигают при ping

В браузере тишина и покой..... 

Есть Идеи?

shaman900
Offline
Зарегистрирован: 27.09.2011

У меня всё заработало, Просто контакты были плохие. проверяйте контакты, пишите тестовые программы. Посомтрите что на выходах. В общем продебажить нужно. 

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

bav33 пишет:

Похожая проблема.

Достал с полки MEGA 2560 + w5100. Точно помню, что работало.

Сейчас: заливаю стандартный пример, в итоге: server is at 0.0.0.0, но пинги проходят, rx tx отчаянно мигают при ping

В браузере тишина и покой..... 

Есть Идеи?

Именно такая же проблема ,но ардуино у меня UNO .Не понимаю почему не подключается в браузере 

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012
Надо в сетапе отключить остальные устройства на SPI

т.к. Ethernet висит на 10 пине:

void setup()
{
  ...
  pinMode(53, OUTPUT); // для MEGA
  digitalWrite(53, HIGH);
  pinMode(52, OUTPUT); // для DUO
  digitalWrite(52, HIGH);
  pinMode(4, OUTPUT);   // для UNO
  digitalWrite(4, HIGH);
 ...
}

 

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

А причем тут пин 4 ардуино?Не допонял..

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

4й пин используется на w5100 шилде для работы с sd картой, если она не используется - надо её отключить задав 1.

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Сделал как сказали-но не в какую...

Может с роутером что-то не то..А подключив к компу можно как-то проверить работы шилда?

Бублик
Бублик аватар
Offline
Зарегистрирован: 05.12.2012

Пропиши IP вручную

byte mac[] = { 0xDA, 0xAD, 0xEE, 0xEF, 0xFE, 0xE6 };
byte ip[] = { 192, 168, 1, 141 };
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 255, 0);


void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
}
fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Прописал как Вы сказали код сейчас выглядит вот так

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDA, 0xAD, 0xEE, 0xEF, 0xFE, 0xE6 };
byte ip[] = { 192, 168, 1, 141 };
IPAddress gateway(192,168,1, 1);
IPAddress subnet(255, 255, 255, 0);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  pinMode(4, OUTPUT);   // для UNO
  digitalWrite(4, HIGH);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("<br />");
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}

Но снова тишина. 

В сом порт выдает server is at 0.0.0.0

 
curat0r
Offline
Зарегистрирован: 28.08.2014

Уважаемые, помогите - есть Arduno Uno R3 и Ethernet W5100, софт-Arduino 1.5.8. Такая же картина, как описана выше - File->Examples->Ethernet->WebServer, прописываю IP: 192.168.1.177, гружу скетч, в мониторе пишет - server is at 0.0.0.0, пинги на 192.168.1.177 идут, из браузера зайти не могу, пишет: "This webpage is not available". Уже голову сломал, куда копать?!

И да, вот это добавлял в код:

pinMode(4, OUTPUT);   // для UNO
digitalWrite(4, HIGH);

 

bav33
Offline
Зарегистрирован: 25.03.2014

curat0r пишет:

Уважаемые, помогите - есть Arduno Uno R3 и Ethernet W5100, софт-Arduino 1.5.8. Такая же картина, как описана выше - File->Examples->Ethernet->WebServer, прописываю IP: 192.168.1.177, гружу скетч, в мониторе пишет - server is at 0.0.0.0, пинги на 192.168.1.177 идут, из браузера зайти не могу, пишет: "This webpage is not available". Уже голову сломал, куда копать?!

И да, вот это добавлял в код:

pinMode(4, OUTPUT);   // для UNO
digitalWrite(4, HIGH);

 

Я решил проблему покупкой нового шилда((((

smcrim
Offline
Зарегистрирован: 14.11.2014

У меня была связка код на яве и ардуина на этом же шилде но в паре с мегой, работало замечательно. После слёта системы потерялся скетч, код проги на яве был продублирован на флешке.... Так вот теперь при работе ардуины как сервер наблюдается седующий глюк, можно отправлять данные на ардуину только сразу после создания сокета в яве, создал сокет и тут же нужно передавать, если сделать паузу ровно в 5 сек  ардуина отваливается и повторно на неё завязатся не получается. Предавать можно сколько угодно пакетов, главное без таймаута, что за фигня и как её побороть я так и не вкурил.....

Maverik
Offline
Зарегистрирован: 12.09.2012

тем у кого W5100 "вроде работает а вроде нет" - советую подключить его к компу коротким сетевым шнурком и дать адреса шилду и сетевой карте компа из одной подсети, без dhcp.  удивительное рядом.

PACH174
Offline
Зарегистрирован: 25.02.2015
Здравствуйте!
 
Специально зарегистрировался, вдруг кому-то поможет. 
Бился с W5100 Ethernet Shield не один день. Адрес шилда пинговался, но через браузер я зайти не мог. Перепробовал все - патчкорды различной длинны, кроссы, источники питания, кабеля, USB порты, Linux, Windows, разные ПК. Подрезал контакты у шилда на несколько мм, как кто-то рекомендовал на заграничном форуме. Скетчи из Ethernet библиотеки не отрабатывали. WebServer, WebClient - все мимо. Либо в мониторе порта пусто, либо ip адрес 0.0.0.0 и больше никакой информации.
 
Присмотрелся к контроллеру и обнаружил 3 пары спаянных между собой ножек. Предположил, что так не должно быть. Расковырял припой иголкой от капельницы и.. заработало!  )
 
Единственное, я не понял, почему шилд долго стартует. Когда при подаче питания сетевой кабель подключен, начинает мигать индикатор FULLD. Мигать он может и несколько секунд, и несколько минут. Позже, плата начинает работать без каких-либо нареканий. Правда при попытке зайти в монитор порта, перестают гореть все индикаторы, кроме Power на Ethernet шилде. Но снова подождав - все восстанавливается. Почему так, я не понял. Но, думаю разберусь, я только начал! )
 
 
Nafanya
Offline
Зарегистрирован: 09.03.2015

День добрый. 

Есть проблема с изернет-шилдом. Сервер работает, но как то странно. Выдаёт в браузер пару- тройку строк с данными, а затем набор нечитаемых символов. Каждый раз количество правильно переданной информации- разное. Может кто сталкивался с такой бедой. Программно перепробовал кучу вариантов. Сбои происходят даже на статических страничках. Начинаю грешить на конкретный, доставшийся мне от китайцев, экзумпляр. Что скажете?

 

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Это  у вас где то выхлд за пределы массива. Короче код вы криво написали.

В декабре из "шанхая" пришло пять плат W5100. Четыре вроде работают, а одна мертвая была. Как раз IP не получала. Чип дохлый оказался :( И еще, в процессе ковыряния выяснилось, что встречаюся маршрутизаторы/коммутаторы, стемящиеся поднять скорость до гигабита, ну вот кажется им, что должна плата с такой скоростью работать. Нужно либо запретить автоопределение скорости на хабе, либо смениь его на другой.

Nafanya
Offline
Зарегистрирован: 09.03.2015

За пределы массива влядли вышел, эксперементировал на оф. примере. Всего пять строк по десятку символов.... , но попробую урезать. А вот хабик поменяю. Спасибо.

art100
Offline
Зарегистрирован: 09.03.2014

Nafanya пишет:

За пределы массива влядли вышел, эксперементировал на оф. примере. Всего пять строк по десятку символов.... , но попробую урезать. А вот хабик поменяю. Спасибо.

Можете не так сложно. Поменяйте длинну UTP5. У меня любит коротышки 20см на TP-link 1000Mbit/s, а на работе подавай моток 5 метров на неком плюгавом zyxel100Mbite/s. Дешевле и быстрей. Свичами развлекаться это мне не интересно было. Это все из области танцев с бубуном. ;) Но работает. Все с одной бухты откусываю Ж-) Скоро буду думат в направлении "avr/wdt.h"  когда подвисает. Иногда 2-ое стуок на ура а иногда за день глюкнет. Короче буду думать как код "вилизать". По коду пока не въехал как правильно "казнить нельзя помиловать" wdt_reset();..или...wdt_disable(); ;)

 

Nafanya
Offline
Зарегистрирован: 09.03.2015

День добрый! 

Я решил свою проблему, всё оказалось и проще и сложнее одновременно. Не там искал....

По порядку: У меня шилд с SD-картой. Первоначально отладил кусок кода работы с картой и занялся веб-сервером. Как говорил выше, он работал странно и пока я с ним ковырялся не обратил внимания, что перестала работать SD-карта. Чего на неё смотреть? Отладил ведь.

Ан нет! Шилд не умеет работать одновременно как накопитель и веб. Проблема обсуждалась и решена во здесь: 

http://arduino.ru/forum/programmirovanie/ethernet-shield-c-sd-kartoi-ne-...

Вем спасибо, всё заработало.

mice777
Offline
Зарегистрирован: 27.12.2015

Доброго времени суток всем!

Проблема схожая с вышеописанными: есть ардуино уно и ethernet shield родные итальянские. Заливаю стандратный скетч из примеров: светодиод on горит, АСТ мигает, но даже в Serial port пусто. Физический линк на сетевом интерфейсе RJ-45 есть (на ethernet shield горит сетевая индикация (оба светодиода), но не моргает!). В чем может быть проблема?

zoltaria
Offline
Зарегистрирован: 18.01.2016

Добрый день. 

Ещё только разбираюсь с ардуино, но не смог найти такой проблемы как у меня.
Имеется свежая MEGA 2560 R3, с десяток программ тестовых заливал, всё работало. Тут приехал Ethernet Shield W5100. Если поставить его на мегу, то мега как будто перестает работать - при заливке скетча IDE подвисает, а потом выдает "timeout communicating with programmer". Убираем W5100 и всё прошивается, работает.

Думаю не стоит говорить, что если с отключенным шилдом залить стандартный пример вебсервера (с изменением кода на pinMode (53, OUTPUT) под мегу), то он зальется, но после установки шилда мега как будто виснет, программа не выполняется. На W5100 из всей индикации горит только PWR. При подключении к свитчу индикация активности как на свитче, так и на шилде отсутствует.

Подозреваю, что прислали неисправный шилд? Продавец открещивается, говорит всё новое в упаковке, рабочее. Ещё есть время открыть диспут, но как ему доказать?

W5100 брал тут http://ru.aliexpress.com/item/FreeShipping-Ethernet-Shield-W5100-only-W5100-Development-boardor-For-Ardu-UNO-Mega-2560-1280-328/910888728.html

MWazowski
Offline
Зарегистрирован: 31.01.2016

Доброго времени суток. Почти та же проблема со связкой Mega2560 R3 и W5100. W5100 брал здесь: http://ru.aliexpress.com/item/Ethernet-Shield-W5100-R3-Network-Expansion...

Проблема в том, что при подключённом W5100 Ардуина не может принять скетч. Зависает с ошибкой в передаче по СОМ порту. Но при снятом W5100 прошил тсандартный пример WebServer-а со своими параметрами и сервер поднялся. Виден через Web-интерфейс и выдаёт данные по аналоговым входам. Кто-нибудь сталкивался с таким? Просто в дальнейшем для написания/отладки сетевых параметров как-то не очень греет каждый раз вынимать и вставлять шилд.

 

MWazowski
Offline
Зарегистрирован: 31.01.2016

MWazowski пишет:

Проблема в том, что при подключённом W5100 Ардуина не может принять скетч. Зависает с ошибкой в передаче по СОМ порту. Но при снятом W5100 прошил тсандартный пример WebServer-а со своими параметрами и сервер поднялся. Виден через Web-интерфейс и выдаёт данные по аналоговым входам. Кто-нибудь сталкивался с таким? Просто в дальнейшем для написания/отладки сетевых параметров как-то не очень греет каждый раз вынимать и вставлять шилд.

Вопрос снят. Проблема решена выпайкой конденсатора, ближайшего к кнопке Reset. Решение взято отсюда: http://arduino.ru/forum/apparatnye-voprosy/adminy-zakrepite-gde-nibud-te..., где идёт ссылка на http://forum.arduino.cc/index.php?topic=99880.15

Всем спасибо.

xarconen
Offline
Зарегистрирован: 24.09.2016

Не хотелось бы быть некрофилом, но тем не менее. Имею точно такую же проблему, китайскую UNO R3 и w5100. Правда исполнена она не в виде шилда, а извращенским модулем.

Пинг успешно проходит, даже на максимально допустимом размере пакета в 119 байт, но при этом скетч web-server'а из примера выдает адрес 0.0.0.0 и на вебку, соответственно не пускает. Пару раз отловил неадекватные адреса в стиле 24.168.0.1. Но затем и они пропали. При пинге RX и TX успешно отмаргиваются о получении-отправке пакета. Может я что-то упустил?

sadman41
Offline
Зарегистрирован: 19.10.2016

Пару дней назад закрыл диспут возвратом половины суммы за лот из двух таких шилдов W5100 Mini Red. Пинг не проверял, но стандартный пример так же выдавал "0.0.0.0", пару раз показал нормальный адрес и совершенно произвольный. На шилде горела одна лампочка, стабилизатор выдавал нормальное напряжение. Логический анализатор показал, что на MISO данные отсутствуют у обоих экземпляров. Продавец из Shen Zhen Blue Sky technology выставил рефунд на $2 с условием возврата этого мусора и майку на себе рвал, доказывая, что "goods brand new original only" и ''buyer do not know how its work", несмотря на то, что я предъявил скриншоты с анализатора, фото шилдов с размазанным флюсом, каплями припоя по всей плате, вручную паянными SMD и отпечатками китайских пальцев. Словом - полным набором признаков подвальной сборки.

В итоге, исследование с помощью увеличительного стекла, иголки, мультиметра и datasheet'а показало, что на первом вывод (#27) MISO имел микроскопическое соединение с одним из двух ближних к краю платы залитых припоем групп выводов (#21..#26). На втором болталась одна из лап DATA в той же группе. Соответственно - замыкание сковырнул иглой, а в лапы ткнул паяльником. Шилды замигали как люстры, chatserver.ino показал то, что полагается. Кстати, группы спаянных контактов посажены на GND, так что если мультиметр запищит при проверке участка MISO-GND - тоже доставайте микроскоп и начинайте искать лишний припой. Ну и прогрейте паянные группы контактов на всякий случай.

xarconen
Offline
Зарегистрирован: 24.09.2016

В итоге проблемной оказалась сама дуина. Привез с работы оригинальную UNO и на ней этот шилд поднялся без проблем, данные отдает на ура и вообще демонстрирует всяческую готовность к взаимодействию...

pix_l
Offline
Зарегистрирован: 19.02.2017

А у меня вообще шилд не завелся. Есть вот такая ардуинка и вот такой модуль. Сама по себе ардуинка работает (сейчас релюшкой играет), но стоит нацепить шилд, и в ардуинку уже ни один скетч не загрузится. На шилде горит только один светодиод и все. Не пойму, это бракованный шилд или есть какие то варианты его запуска?

arDubino
Offline
Зарегистрирован: 12.01.2017

там же написано она для гиков. :)))

pix_l
Offline
Зарегистрирован: 19.02.2017

и что это должно означать?

все, отбой, 2 контакта ICSP замыкали на корпус от microSD - паяльником убрал капли - все запустилось. Даже учитывая, что 511 резистор на RG45 стоит вместо 510 - у меня через роутер доступ к шилду прокатил (думал что и там придется париться). WebServer грузанулся при наличии шилда на ардуинке (раньше загрука не производилась).

Muhammed Isakov
Muhammed Isakov аватар
Offline
Зарегистрирован: 03.03.2017

здравствуйте дорогие друзяья! у нас есть проблема с ethernet shield w5100.
мы подключили его к arduino uno. подключили к WiFi роутору и загрузили стандартный скетч на плату из (Ethernet->WebServer). они работают, если мы переходим на страницу по ip адреса через именно этот WiFi роутер(котори он подключон к ethernet shield w5100). а если переходим с непосредственностьи этого роутера не будет возможносьти переходит на страницу. Пожолюста помагите ?

Muhammed Isakov
Muhammed Isakov аватар
Offline
Зарегистрирован: 03.03.2017

здравствуйте дорогие друзяья! у нас есть проблема с ethernet shield w5100.
мы подключили его к arduino uno. подключили к WiFi роутору и загрузили стандартный скетч на плату из (Ethernet->WebServer). они работают, если мы переходим на страницу по ip адреса через именно этот WiFi роутер(котори он подключон к ethernet shield w5100). а если переходим с непосредственностьи этого роутера или через другою мобильный не будет возможносьти переходит на страницу. Пожолюста помагите ?

xarconen
Offline
Зарегистрирован: 24.09.2016

Я думаю, что этот бред можно перевести примерно так: что при попытке зайти на ардуину через роутер, подключенный напрямую к компу и ардуине, то все работает. При попытках подключиться извне или зайти с мобильного инет, то крах и печаль. Я угадал?