运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

Arduino以太网的库IPAddress()有什么好处?

运维开发网 https://www.qedev.com 2020-07-05 17:36 出处:网络 作者:运维开发网整理
Arduino默认值 Ethernet library class包含 IPAddress变量类型.这是什么IPAddress?我为什么要使用它?为什么它不用于 official example中的网关和子网IP? 就像你说的那样,它只是一种可以存储IP地址的变量(例如int(整数)).使用整数,您无法添加IP地址中所需的.s.此外,该库只接受整数,因为对于字符串,事情“可能变得混乱”.例如,如果
Arduino默认值 Ethernet library class包含 IPAddress变量类型.这是什么IPAddress?我为什么要使用它?为什么它不用于 official example中的网关和子网IP? 就像你说的那样,它只是一种可以存储IP地址的变量(例如int(整数)).使用整数,您无法添加IP地址中所需的.s.此外,该库只接受整数,因为对于字符串,事情“可能变得混乱”.例如,如果字符串中有1,则无法将其与另一个数字相加.但是,如果您具有值为1的整数变量类型,则可以轻松添加.

我该怎么用?:

在Arduino’s EthernetIpAdress page,有这个代码:

#include <Ethernet.h>

 // network configuration.  gateway and subnet are optional.

  // the media access control (ethernet hardware) address for the shield:
 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  
 // the router's gateway address:
 byte gateway[] = { 10, 0, 0, 1 };
 // the subnet:
 byte subnet[] = { 255, 255, 0, 0 };

 EthernetServer server = EthernetServer(23);

 //the IP address is dependent on your network
 IPAddress ip(192,168,1,1);
 void setup()
 {
   // initialize the ethernet device
   Ethernet.begin(mac, ip, gateway, subnet);

   // start listening for clients
   server.begin();
 }
 void loop()
 {
   //print out the IP address
   Serial.println(myIPaddress);
 }

在IPAddress ip(192,168,1,1);行上,它创建一个保存IP地址的变量.在线路Ethernet.begin(mac,ip,gateway,subnet);查找变量并将其提供给以太网库.我不知道它的优点是什么,除了试图阻止人们使用整数类型并使其看起来更干净.它可以查找自动发出的IP地址,然后将其存储以供日后使用,如果它进入“空闲模式”,它可以要求相同的IP地址,因此它几乎就像一个不会干扰其他设备的动态IP并在按下重置按钮时重置.我确信它有一些用处,但我想不出一个.我只想告诉你它是什么以及如何使用它.我想虽然如果你想让它易于更改或者更易于用户阅读,那么使用#define IPadress 192.168.1.1或类似的东西会更容易.

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消