Arduino:Библиотеки/Ethernet/Класс Ethernet/begin()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.

Функция begin()[1]

Инициализирует библиотеку Ethernet и заданные сетевые настройки.

Начиная с версии 1.0, библиотека поддерживает DHCP. Таким образом, чтобы модуль Arduino Ethernet Shield автоматически получил IP-адрес, достаточно функции Ethernet.begin(mac) и правильных сетевых настроек. Это существенно увеличивает размер скетча. Чтобы вовремя продлять аренду DHCP (т.е. использование выделенного IP-адреса), регулярно вызывайте функцию Ethernet.maintain().

Синтаксис

Ethernet.begin(mac);
Ethernet.begin(mac, ip);
Ethernet.begin(mac, ip, dns);
Ethernet.begin(mac, ip, dns, gateway);
Ethernet.begin(mac, ip, dns, gateway, subnet);

Параметры

mac  MAC-адрес (от «media access control», что значит «управление доступом к среде») Ethernet-модуля, также известный как EHA (от «ethernet hardware address», что значит «аппаратный Ethernet-адрес»). Представляет собой массив из 6 байтов. У более новых версий Ethernet-модуля MAC-адрес написан на стикере. Для старых версий можно использовать собственный MAC-адрес.
ip  IP-адрес устройства. Представляет собой массив из 4 байтов.
dns  IP-адрес DNS-сервера. Представляет собой массив из 4 байтов. Опционально: по умолчанию за dns принимается IP-адрес, у которого в последнем октете указана цифра «1».
gateway  IP-адрес сетевого шлюза. Представляет собой массив из 4 байтов. Опционально: по умолчанию за gateway принимается IP-адрес, у которого в последнем октете указана цифра «1».
subnet  маска подсети. Представляет собой массив из 4 байтов. Опционально: по умолчанию  «255.255.255.0».

Что возвращает

Если DHCP-соединение установлено успешно, то DHCP-версия этой функции, т.е. Ethernet.begin(mac), вернет «1», а если нет, то «0». Другие версии не возвращают ничего.

Пример

#include <SPI.h>
#include <Ethernet.h>

// MAC-адрес для Arduino Ethernet Shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  
// IP-адрес для Arduino Ethernet Shield:
byte ip[] = { 10, 0, 0, 177 };    

void setup()
{
  Ethernet.begin(mac, ip);
}

void loop () {}

См.также

Внешние ссылки