Создайте проект веб-сервера Mini-Arduino с помощью Ethernet Shield

веб-сервер ArduinoНекоторое время назад я показал вам, как настроить систему управления интернетом для вашего Arduino

— но он должен был оставаться подключенным к компьютеру через USB, чтобы поддерживать подключение к Интернету. Однако если у вас есть Ethernet-щит, в этом нет необходимости. Сегодня мы рассмотрим настройку Arduino в качестве основного веб-сервера, чтобы мы могли разместить собственный веб-сайт управления устройствами.

Тебе понадобится:

  • Arduino или Arduino клон, как описано здесь
  • Ethernet Shield (~ $ 35) — убедитесь, что вы получаете версию, соответствующую вашему Arduino, поскольку они не все совместимы
  • Запасной порт на маршрутизаторе или коммутаторе и кабель Ethernet
  • Пример WebServer, предоставленный в приложении Arduino

Настройка

Экран Ethernet использует контакты С 10 по 13 для управления сетевым подключением, поэтому не включайте их в свой проект; контакт 4 также используется для SD-карты, но мы не будем использовать его сегодня.

Перво-наперво — откройте файл->Примеры->Ethernet->Веб сервер это предусмотрено в Arduino IDE. Найдите строки, ссылающиеся на MAC и IP-адрес.

веб-сервер Arduino

MAC адрес для меня был найден на коробке — ваш может быть на самом щите. Настройте первую строку значений — нужно оставить предыдущую 0x хоть немного. Технически говоря, это не имеет значения, что вы помещаете сюда, если у вас нет конфликтующих значений в вашей подсети — но даже в этом случае это был адрес, назначенный производителем, поэтому мы, вероятно, должны придерживаться этого. Просто знайте, что если вы ошибетесь, это все равно будет работать.

Пример веб-сервера Arduino

Далее идет IP-адрес. Нам нужен конкретный фиксированный адрес, чтобы мы могли правильно настроить переадресацию портов — щит способен получать адрес от DHCP, но это полезно только в том случае, если его просто используют в качестве клиента, а не сервера. Введите IP-адрес, который не используется и запоминается в вашей локальной сети, IP-адрес вашего маршрутизатора и 255.255.255.0 (подсеть). Если ничего из этого не имеет для вас смысла, прочитайте наше бесплатное и подробное руководство по домашней сети.

,

Перенаправление порта

Изменить строку, которая говорит Сервер EthernetServer (номер), и измените номер на 8081. Это настроит наш сервер на прослушивание порта 8081 на случай, если ваш провайдер блокирует веб-трафик на традиционном порту 80.

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

Нуб-совет: если вы получаете эту ошибку, это означает, что вы ошибочно поставили капитал O вместо в области MAC-адреса. В шестнадцатеричных значениях нет O! Если вы действительно новичок, возможно, стоит ознакомиться с нашим руководством для начинающих Arduino!

Пример веб-сервера Arduino

Чтобы получить доступ к Arduino, введите адрес и номер порта прямо из браузера.

Пример веб-сервера Arduino

Вы должны увидеть что-то подобное — пока все хорошо. К сожалению, это доступно только на локальная сеть сейчас зайдите на страницу конфигурации порта вашего маршрутизатора, чтобы настроить перенаправление с порта 8081 на тот же порт на IP вашего Arduino (см .: Что такое переадресация портов?

)

учебник по веб-серверу Arduino

Проверьте это с мобильного 3G интернет-устройства с отключенным Wi-Fi; не забудьте использовать свой общедоступный IP-адрес, не адрес вашей локальной сети. Ваш маршрутизатор должен иметь возможность сообщить вам об этом или просто спросить у Google «какой у меня ip».

веб-сервер Arduino

Понимание вывода

Страница, обслуживаемая в демо-версии, считывает значения с аналоговых выводов, но поскольку там ничего не подключено, вы получите ерунду. Попробуйте подключить датчик света (фоторезистор) к порту A0 а также +5v, с Резистор 10к также на A0 а также ЗЕМЛЯ (это делитель напряжения, так как аналоговые выводы могут считывать только напряжение, а не сопротивление) только для подтверждения того, что сервер действительно считывает значения. Обратите внимание, что при изменении интенсивности света значения на других выводах тоже меняются — это потому, что все они не связаны.

Получать Интерактивный

Чтение этих значений — это хорошо, но переход к управлению Arduino отсюда — довольно большой скачок, и сегодня он выходит за рамки этого урока. Вместо того, чтобы заново изобретать колесо, я укажу вам на пользователя форума Arduino Хари, который написал базовый API для взаимодействия с цифровыми выводами. Используя этот код (я изменил его для работы с новейшей библиотекой Ethernet), подключите длинный вывод светодиода (анод) к выводу 8, а короткий вывод — к выводу 7 (с подходящим резистором). Затем вы можете использовать URL-адреса в виде http: // ip: port / digitalWrite / 8/1, чтобы включить индикатор, и http: // ip: port / digitalWrite / 8/0, чтобы выключить его, и прочитать аналоговые значения. с аналогомЧитать / 0.

Этот пример от bildr также научит вас, как управлять последовательностью светодиодов, читая запрос GET.

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

мы построили некоторое время назад.

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

Ссылка на основную публикацию
Adblock
detector