Ethernet Shield W5100 подключение к Arduino

Опубликовано 02.07.2013 11:09:00


В данной статье разберем работу популярного Ethernet Шилда на базе контроллера W5100. В качестве итогового примера, который может пригодиться при сборке "умного дома", поуправляем четырехканальным реле модулем через локальную сеть либо Интернет.  

Система управляемого через интернет реле модуля на базе Arduino, Ethernet шилда и реле модуля

 

 

Arduino Ethernet Shield W5100 одна из интереснейших плат расширения позволяющая управлять платой Arduino через локальную сеть или интернет. Это может пригодиться, если вам нужно получать какую-то информацию для работы из сети, разместить свой собственный веб сайт или управлять ардуино по сети, что и будет рассмотрено в данной статье. На данной плате расширения также имеется слот для microSD карты памяти. Для управления платой используется базовая библиотека Arduino IDE - Ethernet library, а для работы microSD картой - SD library. Для работы, помимо ардуино и собственно шилда вам также понадобится сетевой кабель (Витая пара), причем, если вы будете подключать плату непосредственно компьютеру (а не через роутер), то он должен быть обжат по схеме Crossover.

Чтобы разобраться в принципе работы ethernet шилда, введем 2 понятия: клиент и сервер. 

Роль клиента играет броузер, посредством которого вы будете подключаться к серверу. Основное назначение клиента - это посылать различные запросы серверу, например запрос на отображение какой-то информации (GET) или запрос о передаче каких-либо данных (POST). В простейшем случае вам не нужно беспокоиться об их структуре, за вас все сделает броузер. Например для того, чтобы послать GET запрос вам просто нужно перейти по ip адресу сервера, заданному в скетче и сервер выдаст вам заранее сформированную страничку с необходимой для вас информацией, а для отправки POST запроса - заполнить соответствующую форму и данные попадут на сервер где будут обработаны в соответствие с указанным алгоритмом. 

Сервер - это собственно ethernet шилд. Он работает в соответствии с HTTP протоколом. В скетче должен быть указан ip адрес, по которому вы будете получать к нему доступ (например 192.168.0.2).

Основные функции сервера - это отслеживание запросов клиента, выполнение различных функций на основании принятых данных и отображение результата в виде HTML кода.

Разберем цикл работы устройства для нашего примера. После того, как вы залили скетч и подключили его к компьютеру посредством сетевого кабеля, ethernet shield находится в режиме ожидания. Как только вы перейдете по заданному ip адресу, на сервер попадет GET запрос, который говорит о том, что необходимо выдать страничку. Сервер формирует эту страницу и отдает обратно на клиента, где броузер преобразовывает HTML код в соответствующий текст и элементы управления, а сервер опять переходит в режим ожидания. В нашем случае формируется форма, которая позволяет включить выбранные реле. После того, как вы отметите галочками соответствующие реле и нажмете на кнопку "Refresh", на сервер отправляется POST запрос, в котором передаются соответствующие данные о реле, которые необходимо включить. Далее эти данные выделяются и сохраняются, а нужные реле включаются. После этого пользователю опять выдается HTML страница, но теперь на ней заранее отмечены галочками реле, которые включены на данный момент. 

Поскольку мы сами формируем HTML код, то мы можем выдавать информацию о значениях любых датчиков, а также получать любую нужную нам управляющую информацию.

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


 

Итак, от теории переходим к практике. Как уже говорилось, данный пример на наш взгляд будет интересен людям желающим сделать умный дом своими руками т.к. с помощью Ethernet shield'a мы будем управлять четырехканальным реле модулем, который в свою очередь способен включать/выключать мощные потребители (до 10 Ампер) такие как свет, чайник и т. д. 

Более подробно о подключении реле модуля можно прочитать здесь.

HTML код в броузере будет отображаться следующим образом:

Внешний вид в броузере

 

Для включения релюшек ставим галочки напротив нужного номера и нажимаем кнопку "Refresh"

 

 
Пример программного кода

 


 

Использованное в статье железо:

Плата Arduino, Ethernet Shield W5100, Реле модуль 4 канала

Соединительные провода "папа-мама"


 

Купить Купить в России Ethernet Shield W5100


А как же комментарии?