Невозможно подключить IP-адрес Arduino Ethernet Shield к Raspberry

Мой Arduino Uno с Ethernet Shield подключен к Raspberry (rasp1), а Ethernet Shield подключен к другому Raspberry (rasp2) с помощью кабеля Ethernet; rasp2 имеет частный IP-адрес (192.168.10.0). Я хочу узнать IP-адрес Arduino.

Я использовал пример скетча DHCPAddressPrinter, но при его запуске последовательный монитор остается пустым (в качестве Mac-адреса я использовал адрес, расположенный под экраном).

Используемый код:

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

// Введите MAC-адрес вашего контроллера ниже.
// Более новые экраны Ethernet имеют MAC-адрес, напечатанный на наклейке на экране.
byte mac[] = {
    0x90, 0xA2, 0xDA, 0x11, 0x32, 0x49
};


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

void setup() {
    // Открытие последовательной связи и ожидание открытия порта:
    Serial.begin(9600);
    // эта проверка необходима только на Leonardo:
    while (!Serial) {
        ; // ждем подключения последовательного порта. Требуется только для Леонардо.
    }


    // запускаем Ethernet-соединение:
    if (Ethernet.begin(mac) == 0) {
        Serial.println("Failed to configure Ethernet using DHCP");
        // нет смысла продолжать, поэтому ничего не делайте навсегда:
        for (;;)
        ;
    }
    // распечатываем ваш локальный IP-адрес:
    Serial.print("My IP address: ");
    for (byte thisByte = 0; thisByte < 4; thisByte++) {
        // распечатываем значение каждого байта IP-адреса:
        Serial.print(Ethernet.localIP()[thisByte], DEC);
        Serial.print(".");
    }
    Serial.println();
}

void loop() {

, 👍0

Обсуждение

как вы подключаете два кабеля Ethernet к сетевому экрану?, @jsotola


1 ответ


1

192.168.10.0 — недопустимый IP-адрес (если только он не находится в подсети /32, что не имеет смысла в Ethernet).

Вам необходимо выделить правильный IP-адрес в правильной подсети, например, 192.168.10.1/24 (т. е. IP 192.168.10.1 и сетевая маска 255.255.255.0), и либо вручную предоставить аналогичный IP-адрес Arduino (например, 192.168.10.2/24 [IP 192.168.10.2 сетевая маска 255.255.255.0]), либо установить и настроить DHCP-сервер на Raspberry для выдачи IP-адресов в этом диапазоне подсети (например, 192.168.10.100/24 - 192.168.10.200/24) для Arduino затем сможет использовать режим DHCP.

Хотя большая часть этого выходит за рамки сайта Arduino SE.

,