Tosduino Uno R3 + Ethernet Shield
- Войдите на сайт для отправки комментариев
Всем доброго времени суток! Недавно пиобрел себе
Tosduino Uno R3 http://www.odduino.com/shop/78/desc/arduino-uno-tosduino
и Ethernet Shield (HanRun HR911105A 12/11) на базе WIZnet W5100 http://www.odduino.com/publ/shildy_shields/set_ethernet/arduino_ethernet_shield_w5100_set_dlja_arduiny/13-1-0-20 .
Попытки запустить тестовые скетчи (соединение с гуглом и т.д.) с библиотеки Ethernet не увенчались успехом. Сам шилд подключал к ADSL Wi-Fi роутеру DSL-2600U (провайдер Укртелеком) по витой паре, а к роутеру ноутбук через Wi-Fi. Вот к примеру скетч DHCP Address Printer
/* DHCP-based IP printer This sketch uses the DHCP extensions to the Ethernet library to get an IP address via DHCP and print the address obtained. using an Arduino Wiznet Ethernet shield. Circuit: * Ethernet shield attached to pins 10, 11, 12, 13 created 12 April 2011 modified 9 Apr 2012 by Tom Igoe */ #include <SPI.h> #include <Ethernet.h> // Enter a MAC address for your controller below. // Newer Ethernet shields have a MAC address printed on a sticker on the shield byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; // Initialize the Ethernet client library // with the IP address and port of the server // that you want to connect to (port 80 is default for HTTP): EthernetClient client; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); // this check is only needed on the Leonardo: while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } // start the Ethernet connection: if (Ethernet.begin(mac) == 0) { Serial.println("Failed to configure Ethernet using DHCP"); // no point in carrying on, so do nothing forevermore: for(;;) ; } // print your local IP address: Serial.print("My IP address: "); for (byte thisByte = 0; thisByte < 4; thisByte++) { // print the value of each byte of the IP address: Serial.print(Ethernet.localIP()[thisByte], DEC); Serial.print("."); } Serial.println(); } void loop() { }
в нем прога зависает вот на вот этой строчке if (Ethernet.begin(mac) == 0). Так точно происходит во всех примерах. Пробовал устанавливать настройки TCP протокола так как я это делаю на компе
ip 192. 168.1.3
маска 255.255.255.0
шлюз 192.168.1.1
предпочтительный DNS сервер 192.168.1.1.
При таких настройках комп нормально конектился с интернетом через витую пару, а при использовании этих настроек к шилду результат нулевой - зависает в том же месте. Нашел тему в которой обсуждается даная проблема http://forum.arduino.cc/index.php?topic=131171.0, но в силу слабого знания португальского языка (язык поределил гугл транслейт) и не очень понятных коментариев в теме, информацию осилить не смог. Может быть проблема с SPI интерсфейсом, потому что, примеры работы с SD картой тоже не работают. Пробовал делать как предлагают здесь http://arduino.ru/forum/programmirovanie/ethernet-shield-c-sd-kartoi-ne-pishet-na-kartu результат нулевой "initialization failed". Пробовал разные карты, форматировал в формате FAT, попробовал даже библиотеку SDfat, а результата никакого. Меня еще не много настораживает обозначение пинов на шилде, там 13,12,11 пины обозначены прямой линией а 10 пунктиром, а 4-й пин вообще никак не обозначенй. Может быть такое, что алгоритм выбора режима работы с картой или Ethernet контроллером как то изменены? Прошу прощения за мой слабоватый русский язык и грамматику:)
Вот пропробовал еще такой пример
в Serial Monitore IDE пишет
My address:0.0.0.0
connecting...
Ниже представлена информация с роутера
Таблица DHCP http://pixs.ru/showimage/DHCPstatus_9154813_8585862.png
LAN клиеты http://pixs.ru/showimage/LanClients_3612453_8585882.png
Таблица маршрутизации http://pixs.ru/showimage/talbMrshpn_1798203_8585891.png
Результат пинга http://pixs.ru/showimage/pingResult_7704240_8585956.png
вас ничего не смущает тут?
05
byte
ip[] = { 192, 168, 1, 1 };
06
byte
dnS[] = { 192, 168, 1, 1 };
07
byte
gateway[] = { 192, 168, 1, 1 };
я исправил на 192.168.1.4 пробовал и 192.168.1.177
ну так попинайте свой роутер.. там может у вас ограничение по ИП по МАС адресам.. по количеству клиентов...
ну так попинайте свой роутер.. там может у вас ограничение по ИП по МАС адресам.. по количеству клиентов...
как определить доступные адреса?
мак фильтр в роутере отключен
настройки роутера постьте. :)