Меню

Arduino ethernet shield своими руками

Ethernet Shield

Ethernet Shield — это плата расширения, позволяющая Arduino или Iskra работать в локальных вычислительных сетях для приёма и передачи данных в сети Интернет.

На платы с разъёмом USB-B шилд может встать не ровно. Контакты разъёма ethernet прижимаются к металлическому разъёму микроконтроллера. Чтобы всё работало стабильно приклейте кусочек изоленты на разъём между шилдом и микроконтроллером или используйте специальные проставки

Шилд Ethernet позволит управлять удалёнными объектами через web-браузер со своего компьютера, планшета или телефона.

Подключение и настройка

Убедитесь в наличии и правильности соединения джамперов SPI-интерфейса на плате Ethernet Shield.

Примеры работы для Iskra JS

Для общения Ethernet Shield с платой Iskra JS воспользуемся библиотекой WIZnet. Она скрывает в себе все тонкости протокола, предоставляя простые и понятные функции.

Примеры работы для Arduino

Для общения Ethernet Shield с платами Arduino воспользуемся библиотекой Ethernet 2. Она скрывает в себе все тонкости протокола, предоставляя простые и понятные функции.

Пример WebClient

Пример WebServer

Создадим HTTP-сервер на порту 80, на который будем передавать значения всех аналоговых портов с A0 — A5 .

Элементы платы

Микросхема Wiznet 5500

Чип wiznet 5500 — аппаратный контроллер TCP/IP, позволяющий легко подключиться к Интернету.

Светодиодная индикация

Имя светодиода Назначение
ON Информационный светодиод о наличии питания

Разъём RJ45S

Стандартный разъём для подключения Ethernet-кабеля.

Джамперы SPI

Коммутируют пины интерфейса SPI на Ethernet Shield и управляющей плате. Пины можно изменить, сняв джамперы и припаяв свободные металлические контакты к другим пинам с помощью проводков.

Источник

Ethernet Shield и Arduino – основы

Ethernet Shield дает вам возможность подключать Arduino к интернету. Этот шилд расширяет возможности Arduino и позволяет отсылать и принимать данные из любой точки мира, где есть интернет.

Например, можно удаленно управлять вашим роботом с веб-сайта или реализовать какой-то сигнал, когда приходит новое сообщение в ваш твиттер. Ethernet Shield открывает перед вами бесконечное количество новых возможностей.

Ссылки для заказа необходимого оборудования, которое использовалось в статье из Китая

Установка Ethernet шилда

Устанавливается все предельно просто. Как и любой другой шилд, Ethernet Shild просто садится коннекторами на Arduino сверху.

Обратите внимание, что некоторые шилды могут быть несовместимы с более ранними версиями Arduino. Так что рекомендуется использовать именно платы Arduino версии Rev 3.

Технические характеристики Ethernet шилда

Ethernet Shield основан на чипе W51000, который имеет внутренний буфер на 16К. Скорость подключения достигает 10/100Мб. Это не самое быстрое соединение, но этого вполне достаточно, поверьте.

Шилд работает с использованием библиотеки Arduino Ethernet library, которая по умолчанию интегрирована в оболочку Arduino IDE.

На Ethernet шилде есть слод для установки micro SD карты, с помощью которой можно хранить большие массивы информации и загружать веб-сайты непосредственно с Arduino. Не забудьте, что в этом случае надо использовать дополнительную библиотеку. Более детально про: использование SD карты.

Кроме того, можно запитывать Arduino с помощью Ethernet соединения. Для этого надо использовать Power over Ethernet (PoE) модуль, место для установки есть на Ethernet шилде.

Сводный список технических характеристик Ethernet шилда:

  • Для работы необходима плата Arduino
  • Рабочее питание – 5 В (питается от платы Arduino)
  • Ethernet контроллер: W5100 с буфером 16Kб
  • Скорость подключения: 10/100Мб
  • Подключается к Arduino через SPI порт

Первые шаги

Подключите Arduino к персональному компьютеру с помощью USB кабеля, а Ethernet Shield к вашему роутеру (или непосредственно вашему интернет-кабелю).

После этого откройте Arduino IDE. В версиях Arduino IDE после 1.0 есть встроенная поддержка DHCP и нет необходимости в ручной настройке IP адреса.

Для того, чтобы определить какой IP адрес присвоен вашей плате, откройте скетч DhcpAddressPrinter. Найти его можно в меню:

File —> Examples —> Ethernet —> DhcpAddressPrinter

После открытия скорее всего придется сменить мак-адрес. На более новых официальных версиях Ethernet шилда, адрес указан на стикере, прикрепленном к шилду. Если стикера нет, можно просто сгенерировать новый уникальный мак-адрес. Если вы используете одновременно несколько шилдов, мак-адреса для каждого з них должны быть уникальными.

После настройки мак-адреса, можно загружать скетч на плату Arduino и открывать серийный монитор. В результате должен отобразится используемый IP адрес.

Сервер

Можно использовать Arduino Ethernet shield в качестве веб-сервера для загрузки HTML страницы или функции. Можно отслеживать (парсить) запросы, которые отсылаются клиентом через веб-браузер. В следующих двух примерах показано как использовать наш «пирог» для обслуживания HTML страниц и парсинга URL строк.

Важно помнить: надо внести IP адрес вашей платы Arduino, чтобы приведенные ниже примеры корректно отрабатывали.

Приведенный ниже код изменяет содержимое веб страницы при нажатии кнопки:

Web Server с использованием Ethernet шилда — пример

Простой пример веб-сервера, который изменяет страницу после нажатия кнопки.

* Ethernet shield подключен к пинам 10, 11, 12, 13

* кнопка подключается между пинами D2 and 5V

* резистор на 10 КОм подключается между пином D2 и землей

// ниже необходимо ввести MAC адрес и IP адрес вашего контроллера.

// IP адрес будет зависеть от вашей локальной сети:

else if (buttonPress == 0)<

// начинаем с новой строки

// если получен символ на данной строке

// даем браузеру время для получения данных

Для того, чтобы скетч работал, подключите кнопку между пинами D2 и 5V. Резистор на 10 КОм между землей и пином D2.. После этого укажите IP адрес вашей Arduino в браузере. Должна загрузится страница с черным фоном. Нажмите и удерживайте кнопку, после этого перезагрузите страницу браузера. После этого страница должна загрузится с белым фоном.

Код, который приведен ниже, включает светодиод в зависимости от URL адреса, который отсылается на Arduino:

Web Server — пример

Дает возможность включать и выключать светодиод при вводе разных URL адресов в браузере

Для того, чтобы включить:

Для того, чтобы выключить:

* Ethernet shield подключается к пинам 10, 11, 12, 13

* Подключите светодиод к пину D2, а вторую ногу к земле через резистор 220 Ом

boolean incoming = 0;

// ниже необходимо ввести MAC адрес и IP адрес вашего контроллера.

// IP адрес будет зависеть от вашей локальной сети:

IPAddress ip(191,11,1,1); // Hello Cruel World»)<

if(tweet != «>Hello Cruel World»)<

// close the connection to the server:

else if (millis() — lastAttemptTime > requestInterval) <

// если вы не подключены и с момента последнего подключения прошло

// две минуты, пытаемся подключится вновь:

// пытаемся подключится и ждем миллисекунду:

Serial.println(«connecting to server. «);

if (client.connect(serverName, 80)) <

Serial.println(«making HTTP request. «);

// делаем HTTP GET запрос к twitter:

// отмечаем время попытки этого подключения:

Вероятно, вам захочется считать какие-данные, которые не имеют отношения к последнему посту в Твиттере.

Для того, чтобы считать другие посты из Твиттера, внесите следующие изменения в программу:

client.println(«GET /1/statuses/user_timeline.xml?screen_name=[NEW TWITTER NAME HERE]&count=1 HTTP/1.1»);

Поздравляем! Вы ознакомились с базовыми принципами работы Ethernet шилда и его возможностями. Упомянутых в статье функций более чем достаточно для покорения интернет пространства в компании с Arduino.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

Источник

Ethernet Shield hr91105a (w5100) . Урок 16. Ардуино

Привет! Пришло время подключить Ардуино к интернету. Одно из самых интересных направлений использования Ардуино — это интернет вещей. А управление устройствами на Ардуино через интернет, пожалуй, самое востребованное направление на сегодня. Поэтому сегодня поговорим о дополнительной плате для подключения Ардуино к интернету, об Ethernet Shield.

В предыдущем уроке мы говорили о bluetooth модуле и электромагнитном реле. Это тоже часть проектов на Ардуино, которые помогают в интернете вещей и беспроводной передаче информации от Ардуино к приложениям в телефоне или компьютере. Поэтому, посмотрите его, если пропустили или уже забыли.

А сегодня мы повторим предыдущий урок, но вместо bluetooth модуля используем подключение через ethernet. Напишем сервер, к которому можно будет подключиться из браузера. И простую веб страницу, на которой можно будет зажигать свет.

Для того, чтобы выполнить этот урок нам понадобиться

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • Ethernet Shield
  • Реле SRD-05VDC-SL-C
  • Лампа на 220 вольт и патрон к ней
  • Ethernet провод
  • Кабель USB

Об электромагнитном реле мы в прошлый раз мы говорили более подробно. В этом плане сегодняшний проект не измениться. Нам нужно получить на Ардуино управляющий сигнал. И в зависимости от него, включить или выключить реле.

Управляющий сигнал будем получать от платы расширения Ethernet shield и веб страницы, которая будет генерироваться внутри кода. Когда пользователь нажмет на кнопку, чтобы включить свет, сервер получит данные и использует, для управления реле.

Ethernet Shield

В нашем распоряжении оказался ethernet shield hanrun hr91105a или w5100. Он имеет форм фактор для подключения к плате Ардуино Uno.

Он предоставляет доступ к TCP и UDP стекам. А библиотека для работы с ethernet shield позволяет быстро подключить устройство и настроить скетч.

Контакты сверху платы позволяют подключать дополнительные устройства и использовать контакты Ардуино как обычно.

Имейте в виду, при подключении платы, пины 4, 10, 11, 12 и 13 используются для взаимодействия платы с Ардуино. Использовать их для других устройств уже нельзя.

Так же на плате есть слот для карты micro-SD. С его помощью можно сохранять необходимую информацию на карту памяти. Или загружать на нее веб страницы. Памяти внутри Ардуино хватит только на небольшую страницу с парой кнопок.

На плате расширения есть несколько индикаторных светодиодов

  • PWR: показывает, что платы подключены к питанию
  • LINK: показывает, подключение к сетевому устройству и мигает когда плата получает или отправляет данные
  • FULLD: показывает, что интернет соединение full duplex
  • 100M: показывает, что скорость соединения поддерживает 100 Mb/s (а не 10 Mb/s)
  • RX: мигает, когда плата получает данные
  • TX: мигает, когда плата отправляет данные
  • COLL: мигает, когда обнаружены интернет коллизии

Принципиальная схема

Подключим Ethernet shield к материнской плате Ардуино. А электромагнитное реле уже к плате расширения. Используем питание 5 вольт и землю. А для управление реле возьмем 7 цифровой пин.

Принципиальная схема подключения Ethernet shield и реле

Программа

Смысл проекта такой же как и с bluetooth. Плата должна получить от нас сигнал и установить реле в нужное состояние. Тогда подключенное к реле оборудование включится или выключится соответственно.

Используем пример из библиотеки Ethernet.

Откроем скетч из Меню File -> Examples -> Ethernet -> WebServer

Здесь используются библиотеки и

Вы можете задать mac адрес и ip адрес для вашей платы. Ip адрес должен подходить для вашей локальной сети. HTTP сервер будет работать на 80 порту как обычно. А реле подключим к 7 пину.

В функции setup() настраиваем все необходимые функции для работы через интернет. И раскомментируем строку Ethernet.init(10);

Настроим пин для реле на вывод и выключим его.

Теперь разберемся с циклом loop(). Каждый раз, когда к серверу подключается новый клиент, мы должны передать ему веб страницу с необходимой информацией. Используем монитор последовательного порта для отладки программы. Информацию от клиента мы будем получать через http заголовки и для этого считаем всю информацию, которую мы можем получить при соединении к серверу.

Таким образом мы получили строку, в которой будет вся имеющаяся информация. В том числе о хосте, рефферере и данных о браузере. Из-за того, что данные в рефферере и хосте будут дублироваться, а нам нужна только строка хоста, уберем лишнюю информацию.

Теперь мы можемиспользовать информацию о состоянии реле и сформировать нужную веб страницу для пользователя.

В итоге получим кнопку со ссылкой на включение реле, если реле выключено. И наоборот, на выключение, если свет включен в настоящий момент.

Полный текст программы

Если все настроено правильно, то зайдя по адресу указанному в настройках IPAddress ip(192, 168, 0, 177) мы увидим веб страницу.

И нажав на кнопку мы сможем управлять реле, соединенным с платой Ардуино.

Web страница на Ардуино Управление светом через интернет на Ардуино

Заключение

Мы использовали Ethernet shield для Ардуино, чтобы подключить устройство к интернету. И настроили управление светом через веб страницу сгенерированную на Ардуино.

Естественно, вы можете использовать такую схему для управления любыми устройствами. А использование электромагнитного реле дает возможность включать и выключать электрические приборы с любой нагрузкой.

Источник

Читайте также:  Дачные домики сборка своими руками
Adblock
detector