Download e Instalação do Assistente AUTO
Download e Instalação do Assistente AUTO
13 de Março de 2017
Download e Instalação do Assistente AUTO
Como alterar a voz do Auto para a voz Ricardo IVONA
18 de dezembro de 2017

Exemplo de comando via Rede

Want create site? Find Free WordPress Themes and plugins.

Neste exemplo vamos utilizar um Arduino Uno, um Ethernet Shield e um modulo de rele duplo.

Estamos conectando na porta 3 e 4 do arduino.

O Código encontra-se comentado para facilitar alterações.

Estamos utilizando o ip 192.168.1.122 para acesso ao Ethernet Shield você deve fazer as devidas alterações para ser compatível com a sua rede.

Utilize o navegador para testar a conexão com seu modulo de ethernet, o resultado deve ser como da figura ao lado.

Para acionar o comando por voz você deve abrir o Auto e clicar no botão da automação ou dizer Auto Abra a automação, edite o campo Ordem colocando por Exemplo Ligar Ventilador, no campo Resposta pode digitar Está ventilando, variável /?1, após selecione Rede e em seguida Acrescentar Comando. Após diga “Auto Atualizar Comandos”.

Faça o mesmo para o comando desligar utilizando a variável /?2.

Lembre-se de configurar corretamente o IP nas preferências, fica a dica Auto Alterar preferências.

Você pode colocar em uma caixa para ficar mais apresentável, como era e como ficou.

 

 

Did you find apk for android? You can find new Free Android Games and apps.
/* Programa: Automacao Residencial com Arduino e Porta Seria */
/* Experimentos de Garagem */
/* Autor: Aldyr Amaro */

#include <Ethernet.h> 
#include <SPI.h>
// Variavel para ler o conteúdo que vem dos comandos web
String readString;
 
// Pino do Rele
int pino_rele1 = 3;
int pino_rele2 = 4;

//Informacoes de endereco IP, gateway, mascara de rede
byte mac[] = { 0xA4, 0x28, 0x72, 0xCA, 0x55, 0x2A }; // se tiver mais de 1 ethernet shield na mesma rede trocar alguma letra por outra para não dar conflito de MAC
byte ip[] = { 192, 168, 1, 122 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };
 
EthernetServer server(80);
 
void setup()
{
  Serial.begin(9600);
  pinMode(pino_rele1, OUTPUT);
  pinMode(pino_rele2, OUTPUT);
 
  //Inicializa Ethernet Shield
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
 
  Serial.println("Auto - Automacao Residencial"); 
  
  //Desliga os dois reles
  digitalWrite(pino_rele1, 1);
  digitalWrite(pino_rele2, 1);
}

void loop(){
  // Criando a conexão com o cliente
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();

        //leitura do HTTP request
        if (readString.length() < 100) {

          //armazena os caracteres em string
          readString += c; 

        } //if 

        //if HTTP de quando termina
        if (c == '\n') {


          Serial.println(readString); // Imprime na serial para ajudar a encontrar erros

          client.println("HTTP/1.1 200 OK"); // Envia nova pagina
          client.println("Content-Type: text/html");
          client.println();

          client.println("<HTML>");
          client.println("<HEAD>");
          client.println("<TITLE>Assistente Auto</TITLE>");
          client.println("</HEAD>");
          client.println("<BODY>");

          client.println("<H1>Auto - Controle de Rele</H1>");
           
          // Botões
          client.print("<input type=submit value='Rele 1 Ligado' style=width:150px;height:45px onClick=location.href='/?2;'>  ");
          client.print("<input type=submit value='Rele 1 Desligado' style=width:150px;height:45px onClick=location.href='/?3;'><br><br>");
          client.print("<input type=submit value='Rele 2 Ligado' style=width:150px;height:45px onClick=location.href='/?4;'>  ");
          client.print("<input type=submit value='Rele 2 Desligado' style=width:150px;height:45px onClick=location.href='/?5;'><br><br>");
          client.print(" <input type=submit value='Todos Desligados' style=width:150px;height:45px onClick=location.href='/?35;'>");

          client.println("</BODY>");
          client.println("</HTML>");

          delay(1);
          //para cliente
          client.stop();

          //
          if(readString.indexOf('2') >0)//Checa quando 2
          {
            digitalWrite(pino_rele1, 0);    // Liga o rele
            Serial.println("Rele 1 Ligado");
          }
          if(readString.indexOf('3') >0)//Checa quando 3
          {
            digitalWrite(pino_rele1, 1);    // Desliga o rele
            Serial.println("Rele 1 Desligado");
          }
          
          if(readString.indexOf('4') >0)//Checa quando 4
          {
            digitalWrite(pino_rele2, 0);    // Liga o rele 2
            Serial.println("Rele 1 Ligado");
          }
          if(readString.indexOf('5') >0)//Checa quando 5
          {
            digitalWrite(pino_rele2, 1);    // Desliga o rele 2
            Serial.println("Rele 2 Desligado");
          }
            
          //Limpa a variavel pra proxima leitura
          readString="";

        } //if
      } //if
    } //while
  } // if
} // loop