DF Robot W5200 Ethernet Shield для Arduino Uno не работает?

Я уже пару недель работаю над использованием ethernet-щита для своего Arduino Uno. Я перебирал проблемы одну за другой и теперь понимаю, что, кажется, ничего не передается. Запуск кода, похожего на DHCPAddressPrinter, ни к чему не приводит, и любой веб-сервер, который я настроил, вообще не работает. Кто-нибудь может помочь? Запуск приведенного ниже кода приводит к выходу "Скорость передачи данных установлена!" и ничего больше. Следует отметить, что MAC-адрес, который я использую, можно получить, войдя в командную строку и используя MAC-адрес, указанный в ipconfig /all, так как на самом ethernet-щите нет наклейки.

    /*
    IP-принтер на основе DHCP

     Этот скетч использует расширения DHCP для библиотеки Ethernet
     получить IP - адрес можно через DHCP и распечатать полученный адрес.
     использование Arduino Wiznet Ethernet shield. 

     Схема:
     * Ethernet Shield, подключенный к контактам 10, 11, 12, 13

     создано 12 апреля 2011 года
     изменено 9 апреля 2012 года
     Том Айго

     */

    #include <SPI.h>
    #include <EthernetV2_0.h>

    // Введите MAC - адрес вашего контроллера ниже.
    // Новые щиты Ethernet имеют MAC-адрес, напечатанный на наклейке на щите
    byte mac[] = {  
      /*MAC-адрес здесь*/ };

    // Инициализация клиентской библиотеки Ethernet
    // с IP-адресом и портом сервера 
    // к которому вы хотите подключиться (порт 80 по умолчанию используется для HTTP):
    EthernetClient client;

    void setup() {
     // Откройте последовательную связь и дождитесь открытия порта:
      Serial.begin(9600);
      Serial.println("Baud rate set!");

      // запустите подключение Ethernet:
      if (Ethernet.begin(mac) == 0) {
        Serial.println("Не удалось настроить Ethernet с помощью DHCP");
        // нет смысла продолжать, так что ничего не делай:
        for(;;)
        Serial.println("FAIL");
          ;
      }
      // печать локального IP-адреса:
      Serial.print("Мой IP-адрес: ");
      for (byte thisByte = 0; thisByte < 4; thisByte++) {
        // выведите значение каждого байта IP-адреса:
        Serial.print(Ethernet.localIP()[thisByte], DEC);
        Serial.print("."); 
      }
      Serial.println();
      Serial.println("Loop");
    }

    void loop() {

    }        

, 👍2

Обсуждение

запустите скетч примера WebClient , @jsotola


1 ответ


1

Не используйте MAC-адрес вашего компьютера, считанный с вывода ipconfig. Это создает конфликт в локальной сети. Используйте MAC - адрес из примеров.

Для устранения неполадок Ethernet shield используйте библиотеку Ethernet новейшей версии 2.00. Он поддерживает W5100, W5200 и W5500 и имеет лучшую диагностику в примерах.

И для устранения неполадок всегда подключайте кабель локальной сети к маршрутизатору или коммутатору, а не к компьютеру, потому что прямое подключение к компьютеру требует ручной настройки адресов (без DHCP).

,