Teste do Servidor Web com Arduino


Projeto Piloto
Introdução à Robótica Educacional com Software e Hardware Livres

Tendo em vista nossa aquisição de um Shield Ethernet da Empresa Empretecnet ENC28J60, imagem abaixo: 



Estamos agora partindo para testes e em seguida para a idealização de nosso primeiro projeto de automação residencial via internet.

Com base neste código, acabamos de colocar no ar, para testes de conexão, nosso servidor (Arduino+Shield+LEDs), nesse momento se encontra ativo e com 2 LEDs ligados a ele nas portas 6 e 7.

Solicitamos aos visitantes, que tiverem um tempinho livre, que usem o link abaixo, cliquem nos botões e se possível nos retornem, via comentários, se deu tudo certo, críticas ou ainda sugestões para que possamos caminhar com o desenvolvimento de mais este projeto.

Link para testar o Servidor: aqui

Observação: claro que vocês não poderão ver os LEDs apagando e acendendo, pois os mesmos estão aqui, mas com a ajuda de vocês saberemos se os botões estão funcionando bem e nós ainda podermos saber daqui quantos estão acessando ao mesmo tempo nosso Servidor de testes.

Se alguém se interessar pelo código fonte usado no Arduino, segue abaixo:

/* Programa para acender e apagar LEDs ou Lampadas, com o ETHERNET SHIELD ENC28J60
*/

// Estamos incluindo aqui as bibliotecas que vao nos ajudar no controle do Shield
#include "etherShield.h"
#include "ETHER_28J60.h"

int luz1 = 6; // LED ou Lampada ligados no pino 6
int luz2 = 7; // LED ou Lampada ligados no pino 7

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // Aqui fica o MAC do SHIELD, nao precisamos mexer 
static uint8_t ip[4] = {10, 0, 0, 181}; // Esse e o endereco IP do nosso SHIELD 
static uint16_t port = 80; // Porta padrao de acesso a WEB, em nosso caso a 80

// Esse "vrlivre" sera o nome que nosso SHIELD tera daqui para baixo
ETHER_28J60 vrlivre;

void setup(){

vrlivre.setup(mac, ip, port); // Setando o MAC, IP e PORTA
pinMode(luz1, OUTPUT); // Informando que o pino e de saida
pinMode(luz2, OUTPUT); // Informando que o pino e de saida

}

void loop(){
  
char* params;
if (params = vrlivre.serviceRequest()){

//Agora o param recebe o que o serviceRequest retornar das requisições do navegador
vrlivre.print("<center><br><h1><a href='/?led1=off&led2=off'>Acendendo e apagando a LUZ via Web</a></h1>");

if (strcmp(params, "?led1=on&led2=off") == 0)
    {
      digitalWrite(luz1, HIGH);
      digitalWrite(luz2, LOW);
      vrlivre.print("<a href='?led1=off&led2=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>Luz1 Acesa</button></a><a href='?led1=on&led2=on'><br/><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>Luz2 Apagada</button></a>");
    }
    else if (strcmp(params, "?led1=off&led2=on") == 0)
    {
      digitalWrite(luz1, LOW);
      digitalWrite(luz2, HIGH);
      vrlivre.print("<a href='?led1=on&led2=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>Luz1 Apagada</button></a><a href='?led1=off&led2=off'><br/><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>Luz2 Acesa</button></a>");
    }
    else if (strcmp(params, "?led1=off&led2=off") == 0)
    {
      digitalWrite(luz1, LOW);
      digitalWrite(luz2, LOW);
      vrlivre.print("<a href='?led1=on&led2=off'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>Luz1 Apagada</button></a><a href='?led1=off&led2=on'><br/><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>Luz2 Apagada</button></a>");
    }
    else if (strcmp(params, "?led1=on&led2=on") == 0)
    {
      digitalWrite(luz1, HIGH);
      digitalWrite(luz2, HIGH);
      vrlivre.print("<a href='?led1=off&led2=on'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>Luz1 Acesa</button></a><a href='?led1=on&led2=off'><br/><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>Luz2 Acesa</button></a>");
    }
    vrlivre.respond();
  }
}

Deixem suas dúvidas ou sugestões nos comentários.

3 comentários:

Descarte Consciente do Lixo Eletrônico

Projeto Robótica - E.M. Paulo VI

Como tarefa de casa, os alunos tiveram que ir em busca de carrinhos, além de outros brinquedos a pilha, bateria...quebrados. O objetivo foi arrecadar o maior número de componentes eletrônicos possíveis, a fim de serem reutilizados em futuras criações. 

E, para dar início a esta "campanha de arrecadação", alunos do 2º turno estiveram em todas as turmas explicando o objetivo da campanha, que entitulamos de "DESCARTE CONSCIENTE DO LIXO ELETRÔNICO".

O aluno Maisson, da turma 501, ajudou a confeccionar um cartaz para divulgação na escola:



O primeiro dia da campanha nesta segunda, dia 07/04, foi um sucesso! Conseguimos várias doações...

0 comentários:

Aberta a chamada de trabalhos para o V FSLDC – Fórum de Software Livre de Duque de Caxias


Uma boa oportunidade de participar e apresentar trabalhos desenvolvidos em nossas escolas!


No dia 20 de julho de 2013, será realizado o V FSLDC – Fórum de Software Livre de Duque de Caxias, no hotel Mont Blanc, na cidade de Duque de Caxias, Rio de Janeiro. O evento apresentará a temática Tecnologia e Cultura Livre e contará com a presença de diversos palestrantes importantes no cenário nacional, considerados especialistas em suas áreas de atuação. Entre os assuntos em destaque no V FSLDC, estarão desenvolvimento de software, administração de sistemas, cloud computing, computação gráfica livre, negócios e cases de sucesso, mobile, educação, software livre no desktop, entre outros.
Em cinco edições, mais de duas mil pessoas já participaram, entre participantes, palestrantes e voluntários. Anualmente, Duque de Caxias, que está entre as cidades mais ricas do país, abre as portas para o Software Livre e torna-se ponto de encontro das comunidades para troca de ideias, discussão de projetos e debates em torno desse tema. Venha você também participar desse espetáculo do desenvolvimento colaborativo, seja como participante, palestrante ou voluntário.

Interessados em submeter propostas, acessem o site http://2013.fsldc.org
Ficha técnica

IV Fórum de Software Livre de Duque de Caxias
Data: 20 de Julho de 2013
Horário: 9h às 18h
Local: Hotel Mont Blanc – Duque de Caxias – Rio de Janeiro

Fonte e Créditos: aqui

0 comentários:

O conteúdo deste blog/site pode e deve ser divulgado, conforme lei a 9.610/98 meus direitos estão assegurados, portanto eu permito a copia e reprodução gratuita, seja total ou parcial, não acarretando qualquer onûs financeiro aos interessados, porém, vedo o uso para fins lucrativos, toda reprodução para o público deve citar a fonte extraída, no caso o Técnico Linux - Espaço dos Implementadores de Informática e seja citada junto com um link para a postagem original, onde a referência deve estar numa fonte de tamanho igual ou maior a do texto, obviamente que os links citados não estão sujeitos ao mesmo termo. O conteúdo textual original desta página está disponível sob a licença GNU FDL 1.2.

Todas as marcas citadas pertencem aos seus respectivos proprietários. Os direitos autorais de todas as ilustrações pertencem aos respectivos autores, e elas são reproduzidas na intenção de atender ao disposto no art. 46 da Lei 9.610 - se ainda assim alguma delas infringe direito seu, entre em contato para que possamos removê-la imediatamente ou ainda lhe dar os devidos créditos.

Copyright © 2016 Espaço dos Implementadores de Informática