Diferencia entre revisiones de «Ethernet»
(→Client) |
(→Server) |
||
Línea 65: | Línea 65: | ||
=== Server === | === Server === | ||
+ | Es cuando Arduino actúa como servidor y responde alas ordenes de los clientes. | ||
+ | |||
La clase '''server''' crea servidores que pueden enviar y recibir datos a clientes conectados (programas que se ejecutan en otras computadoras o dispositivos). | La clase '''server''' crea servidores que pueden enviar y recibir datos a clientes conectados (programas que se ejecutan en otras computadoras o dispositivos). | ||
<pre> | <pre> |
Revisión del 22:20 30 may 2019
Contenido
Descripción
La libreria Ethernet2.h de Paul Stoffregen están diseñadas para funcionar con Arduino Ethernet Shield (Ethernet.h) o Arduino Ethernet Shield 2 y Leonardo Ethernet (Ethernet2.h).
Esta librerias permiten que una placa Arduino se conecte a Internet. La placa puede servir como un servidor que acepta conexiones entrantes o un cliente que hace las conexiones salientes.
La libreria admiten hasta cuatro conexiones simultáneas (entrantes o salientes o una combinación), gestiona el chip W5100 y W5500; todas las funciones son las mismas siendo sus códigos portables.
Placas aplicables
Actualmente (2018) se comercializan Ethernet Shield W5100 y Ethernet Shield W5500 compatibles con UNO, MEGA y Leonardo. Además disponen de un zócalo para una memoria MicroSD por si se quiere almacenar o recuperar datos de forma masiva.
Sintaxis
#include <SPI.h> #include <Ethernet.h> Ethernet.begin(mac,ip,gateway,subnet);
Parámetros
- mac
- ip
- gateway
- subnet
Métodos
Ethernet
La clase Ethernet inicializa la librería y la configuración de red.
Método | Descripción |
---|---|
Ethernet.begin(mac,ip,dns,gateway,subred) | Inicializa la biblioteca de ethernet y la configuración de red. |
Ethernet.dnsServerIP() | |
Ethernet.gatewayIP() | |
Ethernet.hardwareStatus() | |
Ethernet.init() | |
Ethernet.linkStatus() | |
Ethernet.localIP() | |
Ethernet.MACAddress() | |
Ethernet.maintani() | |
Ethernet.setDnsServerIP() | |
Ethernet.setGatewayIP() | |
Ethernet.setLocalIP() | |
Ethernet.setMACAddress() | |
Ethernet.setRetransmissionCount() | |
Ethernet.setRetransmissionTimeout() |
Server
Es cuando Arduino actúa como servidor y responde alas ordenes de los clientes.
La clase server crea servidores que pueden enviar y recibir datos a clientes conectados (programas que se ejecutan en otras computadoras o dispositivos).
EthernetServer server = EthernetServer(puerto);
Método | Descripción |
---|---|
server.begin() | |
server.available() | |
server.write() | Escribir |
server.print() | |
server.println() |
Client
Es el modo por el cual el Arduino pide información a un servidor.
La clase de client crea clientes que pueden conectarse a servidores, enviar y recibir datos.
EthernetClient client;
Método | Descripción |
---|---|
client.connect() | |
client.connect() | |
client.connected() | |
client.write() | Escribir |
client.available() | |
client.read() | |
client.flush() | |
client.print() | |
clinet.println() | |
client.flush() | |
client.stop() | Desconecta el cliente |
UDP
El protocolo UDP (Protocolo de Datagrama de Usuario), es ligero por lo que no tiene la parte de seguridad. No existe un control del envio de paquetes, es decir no se preocupa de el estado como lleguen los datos. Su puerto esta abierto a cualquier dispositivo. Se usa para transmitir datos a alta velocidad como en resolución de DNS, streaming, VoIP y juegos online.
La clase EthernetUDP permite enviar y recibir mensajes UDP.
Método | Descripción |
---|---|
EthernetUDP.begin(puerto) | Inicializa la biblioteca de ethernet UDP y la configuración de red. |
status() | |
hardwareStatus() | |
status() | |
remoteIP() | |
remotePort() | |
remoteIP() | |
getSocketNumber() | |
localIP() | |
localPort() | |
MACAddress() | |
setConnectionTimeout() | |
setRetransmissionCount() | |
setLocalIP() | |
setSubnetMask() | |
setGatewayIP() | |
setDnsServerIP() | |
stop() |
Advertencias
- Arduino se comunica con el mudulo (shield) usando el bus SPI con los pines digitales 11, 12 y 13 en el UNO y los pines 50, 51 y 52 en el MEGA. En ambas placas, el pin 10 se usa como SS.
- En el MEGA el pin de hardware SS (53) no se usa para seleccionar el W5100, pero debe mantenerse como salida o la interfaz SPI no funcionará.
Ejemplo
Al modulo (shield) se le debe asignar una dirección MAC y una dirección IP fija utilizando la función Ethernet.begin(). Una dirección MAC es un identificador global único para un dispositivo en particular. Los blindajes Ethernet actuales vienen con una pegatina que indica la dirección MAC que debe usar con ellos. Las direcciones IP válidas dependen de la configuración de su red. Es posible usar DHCP para asignar dinámicamente una IP al escudo. Opcionalmente, también puede especificar una puerta de enlace de red y una subred.
- ChatServer Configura un chat server.
- WebClient Hace una petición a HTTP.
- WebClientRepeating Hace petición HTTP repetitiva.
- WebServer Alojar (host) una página HTML simple que muestra valores de sensores analógicos.
- UDPSendReceiveString: Envía y recive texto via UDP.
- UdpNtpClient: Query a Network Time Protocol (NTP) server using UDP.
- DnsWebClient: DNS and DHCP-based Web client.
- DhcpChatServer: A simple DHCP Chat Server
- DhcpAddressPrinter: Get an IP address via DHCP and print it out
- TelnetClient: A simple Telnet client
Vea también
Referencias externas
- All libraries
- Ethernet
- Tutorial Ethernet - Naylamp
- Arduino Ethernet - Rincon Ingenierial
- Conexion de Arduino a internet - El profe Garcia