Ethernet
Conecte o seu projeto à internet
- Chip Wiznet W5500, a evolução do W5100
- Memória EEPROM com endereço MAC registrado
- Buffer de 32Kb e até 8 conexões simultâneas
- Modo power down para economia de energia
- Biblioteca de software com as mesmas funções da biblioteca Ethernet padrão do Arduino
O Nanoshield Ethernet permite a conexão de seu projeto diretamente à Internet. Algumas coisas que você pode fazer são:
- Acessar sites e serviços na Internet.
- Comunicar-se com outros dispositivos na sua rede local.
- Rodar um servidor web simplificado no seu Arduino ou Alevino.
- Enviar dados locais para a Internet, como dados de sensores por exemplo.
- Enviar e-mails.
O Nanoshield Ethernet utiliza o chip W5500 da Wiznet, que é um controlador de rede Ethernet e comunica-se com o microcontrolador do seu projeto via uma interface SPI. Este chip é uma versão mais moderna do que o chip utilizado pelo Arduino Ethernet Shield oficial, possuindo mais memória (32Kb contra 16Kb) e maior número de conexões simultâneas (8 contra 4).
A programação é feita por meio da nossa biblioteca Nanoshield_Ethernet que é compatível com a biblioteca Ethernet padrão do Arduino, fornecendo acesso às mesmas funções, além de uma funções para economia de energia (modo power down).
Uma grande vantagem do controlador W5500 em relação a outros controladores do mercado é que ele possui uma implementação (stack) de protocolo TCP/IP interna. Isso reduz muito as tarefas a serem executadas pelo microcontrolador, deixando o software mas rápido e reduzindo o consumo de memória. O buffer interno de 32Kbytes permite armazenar os dados enviados e recebidos enquanto o microcontrolador executa outras tarefas.
Uma outra característica do Nanoshield Ethernet é que ele já vem com um endereço MAC próprio no chip de memória EEPROM integrado à placa. Esse é um endereço único global, registrado exclusivamente para a sua placa. Isso impede conflitos de endereço entre o seu Nanoshield Ethernet e outros equipamentos da rede, e você pode inclusive incluí-lo em um produto final sem ter que comprar endereços MAC da entidade de registro.
!Conexão com Arduino + Base Board Uno
O jeito mais fácil de utilizar o Nanoshield Ethernet juntamente com um Arduino é usando a Base Board Uno ou Base Board L Uno. Basta encaixar as placas e depois carregar o nosso código de exemplo para verificar o funcionamento (veja a seção de código de exemplo no final da página). Esta montagem pode ser utilizada com o Arduino UNO, Mega R3, Duemilanove entre outras (entre em contato caso tenha dúvidas sobre compatibilidade com outras versões). A figura abaixo mostra como fica a montagem do conjunto.
!Conexão com Base Boarduino
Também é possível conectar o Nanoshield Ethernet diretamente à nossa placa compatível com Arduino, a Base Boarduino. A conexão é feita da mesma forma com que é feita na Base Board, conforme ilustra a figura abaixo. Basta encaixar as placas e depois carregar o nosso código de exemplo para verificar o funcionamento (veja a seção de código de exemplo no final da página).
!Conexão direta com Arduino
Os seguintes esquemas mostram como conectar o Nanoshield Ethernet diretamente a um Arduino UNO ou Arduino Mega.
!Pinagem
Ethernet | Arduino | Função |
---|---|---|
/INT | D2 | Saída interrupção W5500 (opcional) |
/SCS | D10# | Chip Select W5500 |
SDI | D11# | Linha de dados barramento SPI |
SDO | D12 | Linha de dados barramento SPI |
SCLK | D13 | Linha de clock barramento SPI |
SDA | A4 | Linha de dados barramento I2C |
SCL | A5 | Linha de clock barramento I2C |
VCC | VCC | Entrada de alimentação 5V |
VIN | VIN | Entrada de alimentação externa |
GND | GND | Tensão de referência (terra) |
Características
- Implementado com o CI W5500 fabricado pela Wiznet.
- Stack TCP/IP interno.
- Suporta 8 sockets simultâneos.
- Suporta os protocolos TCP, UDP, ICMP, IPv4 ARP, IGMP e PPPoE.
- 10BaseT/100BaseTX com auto negotiation e auto MDI/MDIX.
- Buffer interno de 32Kbytes para transmissão e recepção.
- LEDs de status:
- Indicador de alimentação da placa (PWR)
- Full duplex ou half duplex (DUPLEX)
- Velocidade 10/100 (SPEED)
- Atividade da rede (LED verde no conector RJ-45)
- Link ativo (LED amarelo no conector RJ-45)
- Memória EEPROM I2C com 2Kbits e MAC address interno individual para cada placa.
- Regulador de 3V3 próprio, não adicionando carga extra ao regulador interno do Arduino.
- Seleção de tensão de alimentação EEPROM e operação do barramento I2C entre 5V ou 3,3V (via jumper de solda).
- Jumper para seleção do endereço I2C para a memória EEPROM.
- Velocidade máxima de comunicação na interface SPI de 14,3 Mbps.
Especificações elétricas
-
Alimentação: pode ser feita tanto pelo pino VIN como pelo pino VCC. O intervalo de tensão para o pino VIN é de 7V até 12V (limite máximo até 20V); para o pino de VCC o intervalo é de 4,5 até 5,5V (valor típico de 5V). Quando houver alimentação presente nos pinos VIN e VCC simultaneamente, a alimentação do pino VIN tem prioridade e será selecionada automaticamente para alimentar o módulo. A memória EEPROM vem configurada de fábrica para ser alimentada com 5V, utilizando a tensão presente no pino VCC.
-
Consumo: o consumo máximo de corrente é de aproximadamente 125mA durante a transmissão de dados e de aproximadamente 70mA quando o módulo não está transmitindo. Quando o modo de economia de energia (power down) é acionado via software, a comunicação é desativada e o consumo cai para aproximadamente 25mA.
-
Níveis lógicos: os pinos de entrada referentes à SPI (SDI, SCKL e /SCS) funcionam com níveis lógicos de 5V ou 3,3V. As saídas referentes à SPI (SDO e /INT opcionalmente) têm nível lógico de 3,3V e são 100% compatíveis com os níveis de tensão aceitos pelo Arduino. A comunicação I2C com a memória EEPROM vem configurada de fábrica para operar com nível lógico de 5V.
!Código de exemplo
O Nanoshield Ethernet possui o chip Wiznet W5500, e pode ser programado da mesma forma que o Ethernet Shield padrão (chip W5100). Basta instalar a biblioteca de código aberto Nanoshield_Ethernet que disponibilizamos no GitHub, e no código do programa substituir a linha:
#include<Ethernet.h>
por:
#include<Nanoshield_Ethernet.h>
Se você estiver usando no seu programa alguma outra biblioteca que faz uso do Ethernet.h
, também precisará modificar o seu código para que use o Nanoshield_Ethernet.h
.
Rode os exemplos da nossa biblioteca para ver como funciona:
- Nanoshield_Ethernet - Biblioteca Arduino de código aberto para uso do Nanoshield Ethernet, incluindo exemplos de uso
Versões anteriores
- Versão 1.0 - Documentação da versão 1.0 do Nanoshield Ethernet.