Nesse 1º tutorial aborda o uso do shield para construção simples em HTML de um site hospedado pelo próprio shield.
Um web server hospeda sites que você pode acessar pelo browser de qualquer computador em rede com o arduino e seu shield ethernet. Com o esse shield você poderá controlar e monitorar alguns hardware. como lâmpadas, motores e etc.
Abaixo segue os materiais que iremos usar nesse e nos próximos tutoriais.
Material:
- Arduino
- Shield Ethernet
- Cabos (RJ-45)
- Cartão MicroSD (quando requesitado)
- Mateiras adicionais: led; protboard; resistores; fios jumpers;
Códigos:
/***************************************************************
Tutorial Ethernet Shield
Objetivo: Nesse tutorial iremos aborda como fazer uma simples
pagina no estilo HTML usando o shield Etehrnet
Autor: Felipe Souza Amaral
***************************************************************/
//incluindo biblioteca SPI e Ethernet
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Endereço MAC do shield ethernet
IPAddress ip(192,168,0,2); // IP de acesso ao shield, <------- Coloque aqui seu IP
EthernetServer server(80); // Porta do servidor
void setup()
{
Ethernet.begin(mac, ip); // Inicializando shield
server.begin(); // Conferindo clientes
}
void loop()
{
EthernetClient client = server.available(); // conexão com client
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // condição de envio de dados entre o client e o servidor
char c = client.read();
if (c == '\n' && currentLineIsBlank) {
// conexão estabeliecida
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// envio de pagina
client.println("<!DOCTYPE html>");
/*programação HTML */
client.println("<html>");
client.println("<head>");
client.println("<title>Arduino Shield Ethernet</title>");
client.println("</head>");
client.println("<body>");
client.println("<h1>Hello Arduino!</h1>");
client.println("<p>Pagina arduino-Server: Pagina de teste </p>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}
Imagens:
Ao carregar o programa e entrar com o numero de IP no browser. Se tudo ocorrer bem a imagem acima deverá aparecer na tela de seu computador.
Observação:
Se inserirmos o cartão SD no shield ethernet poderá ocorrer erros, pois ao declarar a biblioteca SPI poderá ocorrer a portunidade de um both a qualquer momento. Para a não inicialização do cartão SD, devemos declarar:
void setup(){
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
}
Nenhum comentário:
Postar um comentário