Опыта мало, сразу скажу. Был куплен набор матрешка и успешно игрался с датчиком температуры DS1820. Сейчас прикупил и вставил ethernet shield, как его проверить? загрузил пару примеров из среды программирования (в частности UDPSendReceive), но модуль не "аллё". он вообще должен пинговаться или как... как его проверить самым простым способом?
Стандартный пример DHCP-клиент, если в сети есть DHCP сервер (на роутере, например). Если нет, тогда HTTP-сервер на ручном IP, тоже из примеров.
о. с этого момента поподробнее. я на купленном шилде ничего не менял. наверно я ослеп, но описание перемычек на этот шилд нигде тут не нашел. все они замкнуты, кроме CS. А как правильно? как проверить "CS на правильном пине"
Извините что в вмешиваюсь, будет лучше, если Вы дадите описание оборудование которое Вы подключаете. Из Вашего сообщения понятно, что Вы используете Arduino UNO. Но не понятно, что за Ethernet Shield Вы используете. Их не мало, есть на базе чипа W5100, W5200, W5500 и т.д., либо укажите чип, либо дайте ссылку на магазин где Вы его покупали. От этого завит выбор библиотеки для работы с шильдом.
W5500 такой: http://amperka.ru/product/arduino-ethernet-shield-v2 перемычки стоят так в приложенном рисунке. Набор такой: http://amperka.ru/product/matryoshka-x соответственно библиотеки и среда программирования, то что указано тут.
Спросил, так как не сталкивался с Ethernet Shield, на которых есть перемычки. Это собственная разработка Амперки, на странице описания нет ни информации по данным перемычкам, как и схемы данной платы. Но все они подписаны, вероятно, при использовании перемычек SPI подключается следующим образом 10 (SS/CS), MOSI, MISO, SCK (последние 3, вероятнее всего соединены на ICSP). Их можно прозвонить и убедиться в этом. Возможно, это сделано чтобы подключать данный шилд к платам у которых нет ICSP. Это лишь мое предположение. Для данной платы нужна библиотека Ethernet2, ее можно скачать отсюда - https://github.com/adafruit/Ethernet2.
перемычку установил. без результата. что значит "пин CS по умолчанию 10-й,"? что с чем должно быть соединено?
т.е. на офиц форуме нельзя получить поддержку по продукции фирмы? нужно гадать, особенно неопытным. я пока (без схемы) не врубаюсь во фразу "SPI подключается следующим образом 10 (SS/CS), MOSI, MISO, SCK (последние 3, вероятнее всего соединены на ICSP)."
Это шина SPI, на ней может быть несколько устройств, пин CS определяет с каким устройством мы работает, в Вашем случае он подключен на 10 пин. Не буду глубоко вдаваться в описания самой шины SPI, Вы можете почитать о ней в сети. По сути, с установленными перемычками, прозвоните мультиметром пин 10 и CS, 11 и MOSI, 12 и MISO, 13 и SCK. Если они все прозваниваются, установите библиотеку Ethernet2. Залейте данный пример - https://github.com/adafruit/Ethernet2/blob/master/examples/WebServer/WebServer.ino и подключите данный шилд на прямую к компьютеру (настройте сетевое соединение). После чего проверьте пинг на данном IP. Можно и нужно, но я не являюсь представителем компании Амперка. Мое предположение, что они использовали такую же схему подключения как у оригинального шильда - https://www.arduino.cc/en/uploads/Main/arduino-Ethernet-Shield2-V2-sch.pdf. Если это так, то можно использовать библиотеку Ethernet2, если намудрили, то ее нужно будет допилить. UPD. Совсем забыл, позванивать пины 10,11,12,13 нужно на Ардуине, а CS, MOSI, MISO, SCK на шилде. Для этого установите на Ардуину данный шилд. UPD2. @acos, присоединяйтесь.
это уж я сообразил. тут вы правы - все звонится. Загрузил библиотеку Ethernet2, пример UDPSendReceiveString и он заработал. Радуюсь как ребенок, включая UDP пакетами светодиодики)) Спасибо!
Не за что, тут все помогают по мере времени и знаний. Конечно, данной проблемы не появилось бы, если бы Амперка опубликовала бы схему и библиотеку на странице товара. Хотя мне не совсем понятно, зачем там перемычки, использовать к примеру с Nano не удобно, новые Arduino на ARM имеют рабочее напряжение 3.3V, шилд работает с 5V, возможно для STM32 Nucleo.
Хотел еще задействовать гору ИТшного хлама в виде LPT принт-серверов для удаленного управления контактами через сеть. Т.е. ардуино подключается к LPT порту и имитирует принтер, а на деле управляя релюшками. А удаленное управление осуществляется с помощью отправки на "печать" небольших файликов. Но видимо использовать ethernet shield красивее.
Это фича для проброски сигналов шилда на произвольные пины. На GPRS Shield, Motor Shield и Relay Shield такая же штука сделана. SPI шилда наружу работает по IOref, а не по 5V, так что с 3.3V платами тоже можно использовать.
Это понятно. Подумал, что она работает только с платами 5V, а таких немного и у всех есть ICSP, кроме STM32 Nucleo. Учитывая что данный шилд работает с 3.3V, тогда фича полезная. У той же Arduino M0 есть 2 SPI.