Доброго времени суток. Купила Controllino Maxi и пытаюсь создать веб сервер на этом устройстве. Но никакие готовые тексты результата не приносят. Железка не пингуется и страницу не открывает. В общем ни как не работает. У меня есть предположения, что проблема в нестандартном соединение w5100 с контроллером. В документации есть серые описания ног к которым нужно как-то по особенному подключаться. Задача у меня сейчас простая. Вывести на страницу хотя бы одну букву. Дальше я думаю подхватила бы. Один из стандартных используемых мною примеров: Код (C++): //#include <Ethernet.h> #include <SPI.h> #include <UIPEthernet.h> // определяем конфигурацию сети byte mac[] = {0xAE, 0xB2, 0x26, 0xE4, 0x4A, 0x5C}; // MAC-адрес byte ip[] = {10, 3, 1, 55}; // IP-адрес EthernetServer server(80); // создаем сервер, порт 80 EthernetClient client; // объект клиент boolean flagEmptyLine = true; // признак строка пустая char tempChar; void setup() { Ethernet.begin(mac, ip); // инициализация контроллера server.begin(); // включаем ожидание входящих соединений Serial.begin(9600); Serial.print("Server address:"); Serial.println(Ethernet.localIP()); // выводим IP-адрес контроллера Serial.print(""); } void loop() { client = server.available(); // ожидаем объект клиент if (client) { flagEmptyLine = true; Serial.println("New request from client:"); while (client.connected()) { if (client.available()) { tempChar = client.read(); Serial.write(tempChar); if (tempChar == '\n' && flagEmptyLine) { // пустая строка, ответ клиенту client.println("HTTP/1.1 200 OK"); // стартовая строка client.println("Content-Type: text/html; charset=utf-8"); // тело передается в коде HTML, кодировка UTF-8 client.println("Connection: close"); // закрыть сессию после ответа client.println(); // пустая строка отделяет тело сообщения client.println("<!DOCTYPE HTML>"); // тело сообщения client.println("<html>"); client.println("<H1> Первый WEB-сервер</H1>"); // выбираем крупный шрифт client.println("</html>"); break; } if (tempChar == '\n') { // новая строка flagEmptyLine = true; } else if (tempChar != '\r') { // в строке хотя бы один символ flagEmptyLine = false; } } } delay(1); // разрываем соединение client.stop(); Serial.println("Break"); } }
Это что за IP адрес? Может лучше начать со стандартного пула локальных адресов? У компа адрес какой в сети?
Подсеть просто 10.3.1.X поэтому и сделала таким адрес. По идее да. Но меня все равно, что то смущает.
INT - это запрос на прерывание, SCS - выбор чипа в случае, когда на шине SPI более одного устройства. Ну то бишь в отсутствии этих выводов никакого криминала нет.
А какой там сетевой чип в точности? Сейчас я вижу, что Вы драйвер от Microchip ENC28J60 пытаетесь приложить к чипу Wiznet.
Тогда вычёркиваем: Код (C++): #include <UIPEthernet.h> и вписываем Код (C++): #include <Ethernet.h> А вообще сам девайс как? Впечатления, то-сё.
Сейчас еще раз попробую библиотеку стандартную. Пока сложно сказать, 3 дня назад купила. Пока прикольно. ))))