Сервер на ардуино уно

Используя плату расширения Ethernet Shield, вы можете превратить Arduino в веб-сервер

Оснастив Arduino платой расширения Ethernet Shield, вы можете превратить её в простой веб-сервер, и с помощью доступа к этому серверу через браузер, запущенный на любом компьютере, который подключен к той же сети, что и Arduino, вы сможете:

  • управлять аппаратной составляющей вашего проекта с веб-страницы (с помощью кнопок, использующих JavaScript);
  • считывать состояние кнопки (используя простой HTML);
  • считывать значение датчика (используя простой HTML).

Arduino Ethernet Shield R3 (вид сверху) Arduino Ethernet Shield R3 (вид снизу)

Необходимое оборудование

Чтобы использовать Arduino в качестве веб-сервера, вам необходимо следующее:

  • напряжение 5В от Arduino;
  • плата расширения Ethernet shield;
  • скорость подключения: 10/100 Мбит;
  • соединение с Arduino через SPI порт.

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

Эксперимент

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

Необходимые комплектующие

  • 1 x кабель Ethernet cable
  • 1 x Wi-Fi роутер
  • 1 x Arduino Mega2560
  • 1 x плата расширения Ethernet Shield
  • 1 x макетная плата
  • 3 x перемычка
  • 1 x резистор 1 кОм
  • 2 x блок питания 9В
  • 1 x кнопка

Схема соединений

Соедините компоненты, как показано на рисунке выше. Вывод 8 Arduino соединен с кнопкой. Этот вывод настроен, как вход, и, когда кнопка нажата, Arduino будет считывать высокий уровень на этом выводе. После чего Arduino установит состояние выхода в значение ON. Когда кнопка отпущена, выход будет установлен в значение OFF. Состояние кнопки будет доступно веб-серверу.

Конфигурация Ethernet

Для управления платой расширения Ethernet будем использовать библиотеку Ethernet.h .

Плате расширения должны быть присвоены MAC и IP адреса с помощью функции Ethernet.begin() . Для конкретного устройства MAC адрес представляет собой глобальный уникальный идентификатор. Современные платы расширения Ethernet приходят с наклейкой, указывающей MAC адрес. Для старых плат расширения должен присваиваться какой-либо случайный адрес, но не используйте один и тот же адрес для нескольких плат. Правильность IP адресов зависит от конфигурации сети. Если используется DHCP, IP адрес может быть присвоен плате расширения динамически.

Читайте также:  Река ватап на карте россии

IP адрес

IP адрес является числовой меткой, присваиваемой каждому устройству в компьютерной сети, использующей межсетевой протокол IP. Указать IP адрес в скетче просто:

И изменить его под собственную сеть. Например, если IP адрес роутера 192.168.0.60, а у сканера 192.168.0.40, то плате расширения можно назначить IP адрес 192.168.0.50:

Первые три байта должны быть одинаковыми.

MAC адрес

MAC адрес (адрес Media Access Control — адрес управления доступом к среде) представляет собой уникальный идентификатор, присвоенный каждому устройству, участвующему в физической сети. Каждая составляющая сетевого оборудования имеет уникальный серийный номер, чтобы идентифицировать себя в сети, и который жестко зашит в прошивку оборудования. Тем не менее, для Arduino мы можем задать MAC адрес сами:

Вы можете задать подсеть и шлюз с помощью следующего кода:

Ниже показан блок кода с настройками платы расширения Ethernet Shield:

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

Программа

Ниже приведен блок кода, выводящего HTML код простой веб-страницы.

Эта программа будет отображать веб-страницу в веб-браузере при обращении к IP адресу, присвоенному Arduino. Следующая строка указывает браузеру на необходимость обновления страницы:

Когда страница будет запрошена снова, Arduino снова считает состояние кнопки и отобразит его.

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

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

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

Используя плату расширения Ethernet Shield, вы можете превратить Arduino в веб-сервер

Оснастив Arduino платой расширения Ethernet Shield, вы можете превратить её в простой веб-сервер, и с помощью доступа к этому серверу через браузер, запущенный на любом компьютере, который подключен к той же сети, что и Arduino, вы сможете:

  • управлять аппаратной составляющей вашего проекта с веб-страницы (с помощью кнопок, использующих JavaScript);
  • считывать состояние кнопки (используя простой HTML);
  • считывать значение датчика (используя простой HTML).

Arduino Ethernet Shield R3 (вид сверху) Arduino Ethernet Shield R3 (вид снизу)

Необходимое оборудование

Чтобы использовать Arduino в качестве веб-сервера, вам необходимо следующее:

  • напряжение 5В от Arduino;
  • плата расширения Ethernet shield;
  • скорость подключения: 10/100 Мбит;
  • соединение с Arduino через SPI порт.
Читайте также:  Процессор amd a10 сравнение с intel

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

Эксперимент

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

Необходимые комплектующие

  • 1 x кабель Ethernet cable
  • 1 x Wi-Fi роутер
  • 1 x Arduino Mega2560
  • 1 x плата расширения Ethernet Shield
  • 1 x макетная плата
  • 3 x перемычка
  • 1 x резистор 1 кОм
  • 2 x блок питания 9В
  • 1 x кнопка

Схема соединений

Соедините компоненты, как показано на рисунке выше. Вывод 8 Arduino соединен с кнопкой. Этот вывод настроен, как вход, и, когда кнопка нажата, Arduino будет считывать высокий уровень на этом выводе. После чего Arduino установит состояние выхода в значение ON. Когда кнопка отпущена, выход будет установлен в значение OFF. Состояние кнопки будет доступно веб-серверу.

Конфигурация Ethernet

Для управления платой расширения Ethernet будем использовать библиотеку Ethernet.h .

Плате расширения должны быть присвоены MAC и IP адреса с помощью функции Ethernet.begin() . Для конкретного устройства MAC адрес представляет собой глобальный уникальный идентификатор. Современные платы расширения Ethernet приходят с наклейкой, указывающей MAC адрес. Для старых плат расширения должен присваиваться какой-либо случайный адрес, но не используйте один и тот же адрес для нескольких плат. Правильность IP адресов зависит от конфигурации сети. Если используется DHCP, IP адрес может быть присвоен плате расширения динамически.

IP адрес

IP адрес является числовой меткой, присваиваемой каждому устройству в компьютерной сети, использующей межсетевой протокол IP. Указать IP адрес в скетче просто:

И изменить его под собственную сеть. Например, если IP адрес роутера 192.168.0.60, а у сканера 192.168.0.40, то плате расширения можно назначить IP адрес 192.168.0.50:

Первые три байта должны быть одинаковыми.

MAC адрес

MAC адрес (адрес Media Access Control — адрес управления доступом к среде) представляет собой уникальный идентификатор, присвоенный каждому устройству, участвующему в физической сети. Каждая составляющая сетевого оборудования имеет уникальный серийный номер, чтобы идентифицировать себя в сети, и который жестко зашит в прошивку оборудования. Тем не менее, для Arduino мы можем задать MAC адрес сами:

Вы можете задать подсеть и шлюз с помощью следующего кода:

Ниже показан блок кода с настройками платы расширения Ethernet Shield:

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

Читайте также:  Почему нельзя регулировать шаровым краном

Программа

Ниже приведен блок кода, выводящего HTML код простой веб-страницы.

Эта программа будет отображать веб-страницу в веб-браузере при обращении к IP адресу, присвоенному Arduino. Следующая строка указывает браузеру на необходимость обновления страницы:

Когда страница будет запрошена снова, Arduino снова считает состояние кнопки и отобразит его.

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

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

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

In this example, you will use your Ethernet Shield and your Arduino or Genuino board to create a simple Web server. Using the Ethernet library, your device will be able to answer a HTTP request with your Ethernet shield. After opening a browser and navigating to your Ethernet shield’s IP address, your Arduino will respond with just enough HTML for a browser to display the input values from all six analog pins.

Hardware Required

  • Arduino or Genuino Board
  • Arduino Ethernet Shield

Circuit

The Ethernet shield allows you to connect a WIZNet Ethernet controller to the Arduino or Genuino boards via the SPI bus. It uses the ICSP header pins and pin 10 as chip select for the SPI connection to the Ethernet controller chip. Later models of the Ethernet shield also have an SD Card on board. Digital pin 4 is used to control the slave select pin on the SD card.

The shield should be connected to a network with an Ethernet cable. You will need to change the network settings in the program to correspond to your network.

Image developed using Fritzing. For more circuit examples, see the Fritzing project page

In the above image, the Arduino or Genuino board would be stacked below the Ethernet shield.

Schematic

Warning

This example doesn’t require an SD card. If an SD card is inserted but not used, it is possbile for the sketch to hang, because pin 4 is used as SS (active low) of the SD and when not used it is configured as INPUT by default. Two possible solutions:

  • remove the SD card;
  • add these lines of code in the setup()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>