Agora finalmente está saindo a segunda aula do Curso Arduino Automation. Acredito que a partir de agora não teremos mais atrasos como dessas duas primeiras aulas do Curso Automation.
Consegui chegar a uma solução bem interessante! Mas vamos voltar um pouco para organizar as coisas. Primeiro, vale a pena conferir a seqüência certa de posts que culminaram no atraso do lançamento deste curso:
- Atraso do Curso Arduino Automation - Dilema do ENC28J60
- Dilema do ENC28J60 - Parte 2
- ENC28J60 - A Reta Final!
- ENC28J60 - Ativando Super Poderes!
Este então é o último post desta série e também o de lançamento das bibliotecas EthernetSup.h (rev3) e Enc28CoreLib.h
Agora não teremos mais versões separadas para o Ethernet Shield W5100 e para o Módulo Ethernet ENC28J60. Pra isso eu criei um "adaptador" que é a biblioteca Enc28CoreLib.h para ser instalado na biblioteca oficial do Arduino.
Dessa forma, quem já possui um código funcionando para o W5100, basta trocar alguns arquivos para compilar o mesmo código para ENC28J60!
Isso mesmo! agora acabou o martírio de ter que fazer um código para o ENC28J60 e outro para o W5100. Ambos agora podem ser implementados através da biblioteca Ethernet oficial do Arduino! Por isso agora teremos uma única versão da EthernetSup.h!
Optei por essa abordagem por dois motivos: a) para quem quiser utilizar a biblioteca sem ter que modificar o código existente seja para W5100 ou ENC28J60; b) para unificar uma versão da EthernetSup.h
Instruções de Instalação EthernetSup
- Faça download da biblioteca EthernetSup.h (clique aqui)
- Efetue a cópia dos arquivos para a pasta libraries
No Windows: Meus Documentos\Arduino\Libraries
No MAC/Linux: /Users/nome_do_usuario/Documents/Arduino/libraries
Para quem utiliza o Ethernet Shield W5100 não precisa fazer mais nada. Para quem utiliza o ENC28J60, precisa também instalar a biblioteca Enc28CoreLib.h
Instruções de Instalação Enc28CoreLib
- Faça download da biblioteca Enc28CoreLib (clique aqui)
- Faça backup da pasta Ethernet que fica dentro da pasta libraries, sob o diretório de instalação do Arduino
No Windows: C:\Arquivos de Programas\Arduino\libraries\Ethernet
No MAC: /Applications/Arduino.app/Contents/Resources/Java/libraries/Ethernet
(clique em "mostrar conteúdo do pacote" no aplicativo Arduino) - Copie os arquivos da biblioteca Enc28CoreLib para a pasta utility
No Windows: C:\Arquivos de Programas\Arduino\libraries\Ethernet\utility
No MAC: /Applications/Arduino.app/Contents/Resources/Java/libraries/Ethernet/utility
(clique em "mostrar conteúdo do pacote" no aplicativo Arduino) - Apague os arquivos w5100.cpp e w5100.h (não renomeie, delete mesmo!)
- Agora renomeie o arquivo enc28.h para w5100.h
- Abra os arquivos w5100.h e enc28.cpp
- Efetue as modificações indicadas abaixo
- Abra o código do Arduino que você deseja compilar novamente para ENC28J60 e clique em Carregar (Upload).
- Apenas conecte o ENC28J60 no seu Arduino e você está pronto!
Modificações nos Arquivos
- w5100.h (old enc28.h)
- Line: 112
- From: extern ENC28Class ENC28;
- To: extern ENC28Class W5100;
- enc28.cpp
- Line: 11
- From: #include "enc28.h"
- To: #include "w5100.h"
- Line: 23
- From: ENC28Class ENC28;
- To: ENC28Class W5100;
É isso aí pessoal! Vou explicar melhor essa instalação na aula que estará em breve no ar! Acompanhe!
Abraços,
Renato
Na versão 1.5.5 do Arduino IDE (For Windows) as pastas mudaram
ResponderExcluirRenato,parabéns pelo seu trabalho, está incrível !
ResponderExcluirE muito obrigado por compartilhar o conhecimento.