хотя бы запустить связку ESP32-C3 super mini + W5500, чтоб он отвечал на пинг, подключал внешнего клиента из по TCP/IP и отвечал.
Такая система у меня работает на обычной Arduino Nano. Однако при переносе в скетч с ESP32-C3 - сервер не готов…
/***************** Ethernet support *******************************/
// для Ethernet module
#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.
// gateway and subnet are optional:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };
// The IP address will be dependent on your local network:
// IPAddress ip(10, 4, 100, 112); // (ЕЕПРОМ)
IPAddress ip(192,168,100,150); // WORK
//IPAddress ip(10, 4, 7, 112); // TEST
//IPAddress myDns(10, 4, 100, 1);
//IPAddress gateway(10, 4, 100, 254);
//IPAddress subnet(255, 255, 255, 0);
EthernetServer server(4001); // port 4001
#define MAX_CLIENT 2
EthernetClient client[MAX_CLIENT];
/******************************************************************/
void setup()
{
// initialize both serial ports:
Serial.begin(115200);
Serial.println(__DATE__);
Serial.println(__FILE__);
Serial.println("Run");
Serial1.begin(19200, SERIAL_8N1, /* RX */ pin_RX1, /* TX */ pin_TX1);
// запуск модуля Ethernet
Ethernet.begin(mac,ip);
server.begin();
if (server)
{
Serial.print("Ethernet Server ready, IP: ");
Serial.println(Ethernet.localIP());
}
else
Serial.println("Ethernet Server NOT ready");
}
```
привер...
Дочитал, что нужно вроде бы использовать библиотеку ETH.H - но пока никак не пойму, как её применять и применима ли она к W5500,…
Для работы простого чат-сервера через W5500, как в примерах от Ethernet2 для W5500 нужно правильно подсоединить пины MISO, MOSI, CLK, SS
Для ESP32-C3 super mini это
библиотека Ethernet2 больше не поддерживается ввиду “типовая ардуиновская и так хорошо работает”… Но у меня не получилось.
Для хорошей работы искал много библиотек, но самой простой показалась Ethernet_Generic, в которой довольно понятно есть описание функций и примеров простого обмена данными.
Мой затык заключался в том, что нужно задать pin_SS отдельно, с помощью
Ethernet.init(pin_SS), который у меня соответственно == 7
… в рассматриваемых примерах это почему то не указывалось.
Может кому-то это будет полезно.
Задача на данный момент в том, чтобы опрашивать и давать комнады на устройство по TCP-IP через Ethernet в локальной сети.
В общем то вопрос решён.