Ethernet library – библиотека для работы с Ethernet-шилдом
Ethernet-шилд – это дополнительная плата, которая подключается к ардуино и позволяет этой замечательной плате посылать и получать данные через локальную сеть и даже работать с Интернетом.
Работа с протоколами TCP/IP в шилде реализована аппаратно на микросхеме W5100.
Для работы с данным шилдом ничего дополнительно скачивать не нужно, т.к. в составе Arduino IDE уже есть удобная библиотека (\libraries\Ethernet\).
Библиотека содержит три класса: EthernetClass ,Client и Server.
Чтобы начать работать с библиотекой – её нужно сначала подключить; для этого можно написать
#include <Ethernet.h>
или выбрать в меню Arduino IDE:
Sketch – Import Library… — Ethernet
и в Ваш скетч автоматически добавятся строчки:
Библиотека позволяет выступать не только в качестве клиента, но и как сервер и поддерживает до четырёх одновременных подключений (входящих или исходящих).
Рассмотрим функции, которые реализуют этот функционал.
Первым делом необходимо инициализировать работу с библиотекой функцией begin, которая принимает от двух до четырёх параметров:
void begin(uint8_t *, uint8_t *);
Описание:
Инициализирует работу с библиотекой Ethernet и устанавливает сетевые настройки.
Параметры:
mac — MAC-адрес — физический адрес устройства (массив из 6 байт)
ip — IP-адрес – сетевой адрес Вашего устройства (массив из 4 байт)
gateway – IP-адрес Вашего сетевого шлюза (массив из 4 байт) (по-умолчанию – IP-адрес устройства с 1 в последнем октете)
subnet – маска подсети. (массив из 4 байт) (по-умолчанию 255.255.255.0)
если Вы не помните свои сетевые параметры, то на компьютере под управлением ОС Windows их можно посмотреть через
Пуск – Панель управления – Сетевые подключения
Щёлкнуть правой кнопкой мышки на «Подключение по локальной сети» и выбрать «Свойства»
В появившемся окошке выделить в списке «Протокол Интернета TCP/IP» и нажать кнопку «Свойства»
или же просто набрать в консоли команду
Как уже отметили – библиотека позволяет работать в двух режимах – серверном или клиентском.
Рассмотрим серверные функции.
Server(uint16_t);
Описание:
Это конструктор класса Server – при вызове данной функции создаётся объект типа Server, для обработки входящих подключений по указанному порту.
Описание:
Возвращает объект типа Client, который представляет клиентское подключение к серверу и имеет данные для считывания (запрос). Объект сохраняется при выходе из области видимости; его можно закрыть вызовом client.stop().
Т.к. класс Server наследуется от класса Print возможен так же вызов функций print()
println()
Печатает данные для всех подключённых клиентов. Числа печатаются, как последовательность цифр, в виде ASCII-символов (например, число 123 будет передано как три символа: '1', '2', '3').
Функции println печатают данные с последующим переводом на новую строчку.
Параметры:
data – данные для печати (char, byte, int, long или строка)
BASE (опционально): основание представления числа: BIN -двоичное (основание 2), DEC десятичное (основание 10), OCT — восьмеричное (основание 8), HEX — шестнадцатеричное(основание 16).
Теперь рассмотрим клиентские функции.
Client(uint8_t);
Client(uint8_t *, uint16_t);
Описание:
Это конструктор класса Client – при вызове данной функции создаётся объект типа Client, который может подключаться к указанному IP-адресу и порту.
Синтаксис:
Client(ip, port);
Параметры:
ip: IP-адрес к которому клиент должен подключиться (массив из 4 байт)
port: номер порта для поключения (int)
Описание:
Запись данных для передачи к подключенному серверу.
Синтаксис:
client.write(data);
Параметры:
data – байт или строка символов
Возвращаемое значение:
ничего
Как и класс Server – класс Client наследуется от класса Print и так же возможен вызов функций print()
println()
Печатает данные для сервера, к которому подключён клиент. Числа печатаются, как последовательность цифр, в виде ASCII-символов (например, число 123 будет передано как три символа: '1', '2', '3').
Функции println печатают данные с последующим переводом на новую строчку.
Параметры:
data – данные для печати (char, byte, int, long или строка)
BASE (опционально): основание представления числа: BIN -двоичное (основание 2), DEC десятичное (основание 10), OCT — восьмеричное (основание 8), HEX — шестнадцатеричное(основание 16).
Спасибо, коротко и понятно :)
(замечание, парсер скушал в текстах конструкцию (Ц) решил, что это копирайт :) может имеет смысл переменную по другому назвать?
Такое ощущение, что автор копипастил шаблон и даже не пытался править.
begin может взращать int для случая с DHCP.
available возвращает количество байт в буфере.
write возвращает количество записанных байт.
Ну и далее по тексту.
Комментарии (5)
RSS свернуть / развернуть(замечание, парсер скушал в текстах конструкцию (Ц) решил, что это копирайт :) может имеет смысл переменную по другому назвать?
bobaqpe
noonv
Radjah
Такое ощущение, что автор копипастил шаблон и даже не пытался править.
begin может взращать int для случая с DHCP.
available возвращает количество байт в буфере.
write возвращает количество записанных байт.
Ну и далее по тексту.
Radjah
noonv
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.