shield - libreria ethernet arduino
¿Cuál es el beneficio de la biblioteca Arduino Ethernet IPAddress()? (1)
Simplemente, como dijiste, un tipo de variable (como int
(integer)) que puede almacenar una dirección IP. Usando números enteros, no puedes agregar el .
s necesario en la dirección IP. Además, la biblioteca solo acepta números enteros, porque con cadenas, las cosas "pueden desordenarse". Por ejemplo, si tiene 1
en una cadena, no puede agregar eso con otro número. Sin embargo, si tiene el tipo de variable entera con el valor de 1
, se agregaría fácilmente.
¿Cómo puedo usar esto ?:
En la página EthernetIpAdress de Arduino , hay este código:
#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);
}
En la línea IPAddress ip(192,168,1,1);
, crea una variable que contiene la dirección IP. En la línea Ethernet.begin(mac, ip, gateway, subnet);
la variable se busca y se le da a la biblioteca de Ethernet
. No sé cuál sería la ventaja, además de tratar de evitar que las personas usen el tipo de entero y que se vea más limpio. Podría buscar la dirección IP emitida automáticamente y luego almacenarla para más adelante, de modo que si entra en un "modo inactivo", puede solicitar la misma dirección IP, por lo que es casi como una dirección IP dinámica que no interferiría con otros dispositivos. y se restablecería cuando se presione el botón de reinicio. Estoy seguro de que hay algún uso para eso, pero no puedo pensar en uno. Solo quería decirte de qué se trata y cómo usarlo. Sin embargo, creo que sería más fácil usar #define IPadress 192.168.1.1
o algo similar si quisiera que se pueda cambiar fácilmente o ser más legible para el usuario.
La clase de biblioteca Ethernet predeterminada de Arduino contiene un tipo de variable IPAddress
. ¿Para qué es esta dirección IPAddress
? ¿Por qué debería usarlo y por qué no se usa para las IP de la puerta de enlace y la subred en el ejemplo oficial ?