Для данного примера нам понадобится:
Arduino Uno: http://ali.ski/gC_mOa или Arduino nano: http://ali.ski/rHRbY
Ethernet enc28j60: http://ali.pub/zlhmv
Библиотека EthernetCard: https://yadi.sk/d/t2N2_7Oz3CyPvB
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В данном примере мы получим ip адрес по DHCP от сервера и узнаем информацию о ip адресе шлюза и DNS сервере.
Схема подключения приведена выше в начале статьи.
После подключения всех компонентов по схеме приведенной ниже необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
// Arduino demo sketch for testing the DHCP client code // // Original author: Andrew Lindsay // Major rewrite and API overhaul by jcw, 2011-06-07 // // Copyright: GPL V2 // See http://www.gnu.org/licenses/gpl.html #include <EtherCard.h> static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; byte Ethernet::buffer[700]; void setup () { Serial.begin(57600); Serial.println(F("\n[testDHCP]")); Serial.print("MAC: "); for (byte i = 0; i < 6; ++i) { Serial.print(mymac[i], HEX); if (i < 5) Serial.print(':'); } Serial.println(); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println(F("Failed to access Ethernet controller")); Serial.println(F("Setting up DHCP")); if (!ether.dhcpSetup()) Serial.println(F("DHCP failed")); ether.printIp("My IP: ", ether.myip); ether.printIp("Netmask: ", ether.netmask); ether.printIp("GW IP: ", ether.gwip); ether.printIp("DNS IP: ", ether.dnsip); } void loop () {}
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.