Никак не получается завести интернет... Подскажите, что я делаю не так? Код (Javascript): SPI2.setup({baud: 3200000, mosi: B15, miso: B14, sck: B13}); var eth = require('WIZnet').connect(SPI2, P10); // Настраиваю подключение вручную. У меня выключен DHCP. eth.setIP({ ip: "192.168.0.20", subnet: "255.255.255.0", gateway: "192.168.0.1", dns: "192.168.0.1", mac: "05:08:da:36:b6:aa" }); var http = require('http'); http.get('http://ya.ru', function(res) { res.on('data', function(data) { print(data); }); }); Получаю ошибку... Если я правильно понимаю, искра не смогла отрезолвить хост. Вместо своего днс пробовал ставить гугловый и различные опенднс - не помогло. Окей, клиент не получился, пробую поднять http-сервер: Код (Javascript): http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World'); }).listen(80); Иду на http://192.168.0.20/ и получаю: То есть браузер нашёл сервер, но при попытке открыть страницу соединения сбросилось. Это только я такой счастливый или у всех так?
MAC адрес нужно указывать без разделителей ":", а можно вообще не указывать DNS для проверки проще поставить гугловый 8.8.8.8 UPDATE: я не прав по поводу разделителей и наличия MAC адреса - они нужны!
Да, если мак писать без двоеточий, то ошибки резолва хоста нету. Но и никакого контента в косоль не падает, собственно, как и сервер не перестаёт сбрасывать соединение.
А у кого-нибудь вообще работает ethernet на искре? Или пока только на ардуино? Люди отзовитесь. Я пытаюсь понять, это у меня руки не от туда выросли или бага в прошивке...
Разные варианты и их комбинации могут быть. С шилдом не работал, работал с ESP-8266. Может на нем побыстрее будет?
Дошли руки до Искры и решил разобраться глубже что к чему. Сразу же приношу извинения за то, что ввел Вас в заблуждение по поводу разделителей ":" в MAC адресе - они должны быть! Основная проблема в вашем коде, которую я проглядел - это отсутствие кавычек у ключей - "ip", "subnet" и т.д. Вторая проблема - http://ya.ru не даст результат, т.к. оно доступно по https... попробуйте лучше http://amperka.ru Ваш код в рабочем виде: Код (Javascript): SPI2.setup({baud: 3200000, mosi: B15, miso: B14, sck: B13}); var eth = require('WIZnet').connect(SPI2, P10); // Настраиваю подключение вручную. У меня выключен DHCP. eth.setIP({ "ip": "192.168.0.20", "subnet": "255.255.255.0", "gateway": "192.168.0.1", "dns": "192.168.0.1", "mac": "05:08:da:36:b6:aa" }); var http = require('http'); http.get('http://amperka.ru', function(res) { res.on('data', function(data) { print(data); }); }); Шилд у Амперки качественный, на производительном Wiznet 5500.
проверял - data пуст, хотя res не пуст. можете сами попробовать: Код (Javascript): var http = require('http'); http.get('http://ya.ru', function(res) { res.on('data', function(data) { print(data); }); print(res); });
Просто Вы не умеете готовить котов: http://forum.amperka.ru/threads/Синхронизация-времени.10939/#post-105375 Проверено. В смысле, ya отвечает на запрос и от него можно даже добиться время. Правда отвечает в том смысле, что не приставай, этот протокол я говорить не буду.
Простите, конечно, это все здорово, но абсолютно не к месту. Мои комментарии относились к конкретному коду, а не к сферическому коню в вакууме И в данном коде для проверки работоспособности применять ya.ru бесполезно Хотя даже из res можно много чего интересного вытянуть...
Печально, но и этот вариант мне не помог. Причём, с компа сделал ping 192.168.0.20 arp -a и комп правильно вывел мак, значит из сети искру видно, но нифига не работает - ни клиент, ни сервер. Ты из какой оси проверял?