/
/
Lâmpada Inteligente com Aplicativo

Lâmpada Inteligente com Aplicativo

Sumário

Baixe agora a apostila Arduino Iniciante e comece seus projetos

Compartilhe seu conhecimento e receba em dinheiro ou produtos.

blog-eletrogate-lampada-inteligente-capa

Introdução

Nesse post, iremos utilizar a plataforma MIT App Inventor para criar um aplicativo que vai ligar e desligar uma lâmpada. O projeto utiliza a placa NodeMcu ESP12E, que vai atuar como um Web Server e receber informações do aplicativo para enviar ao Relé.

O que é o MIT App Inventor?

O MIT App Inventor é um ambiente de programação visual intuitivo que permite que todos criem aplicativos totalmente funcionais para telefones e tablets. Este possui um sistema de programação em blocos, o que facilita e agiliza o processo de criação de aplicativos.

Materiais Necessários para o Projeto Lâmpada Inteligente com Aplicativo

cta_cart

Circuito

A montagem será a seguinte:

Código da Placa

O código será o seguinte:

#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "*****"
#define STAPSK  "*****"
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

// Cria uma instância do servidor
// Especifica a porta
WiFiServer server(80);

void setup() {
  Serial.begin(9600);

  // prepara a porta da lampada
  pinMode(13, OUTPUT);
  digitalWrite(13, 0);

  // Connecta na rede do wifi
  Serial.println();
  Serial.println();
  Serial.print(F("Conectando com "));
  Serial.println(ssid);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(F("."));
  }
  Serial.println();
  Serial.println(F("WiFi connectado"));

  // Inicia o servidor
  server.begin();
  Serial.println(F("Servidor iniciado"));

  // Escreve o endereço do IP
  Serial.println(WiFi.localIP());
}

void loop() {
  // Vê se um cliente conectou 
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  Serial.println(F("novo cliente"));

  client.setTimeout(5000); 

  // Lê a primeira linha do pedido
  String req = client.readStringUntil('\r');
  Serial.println(F("pedido: "));
  Serial.println(req);
  client.flush();
  
  // Responde o pedido
  int val;
  if (req.indexOf(F("/gpio/0")) != -1) {
    val = 0;
  } else if (req.indexOf(F("/gpio/1")) != -1) {
    val = 1;
  } else {
    Serial.println(F("Pedido invalido"));
    val = digitalRead(13);
  }

  // Define a lampada de acordo com o pedido
  digitalWrite(13, val);

  // Lê o resto do pedido
  
  while (client.available()) {
    
    client.read();
  }

  // Manda a resposta para o cliente
  client.print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nA lampada esta agora "));
  client.print((val) ? F("ligada") : F("desligada"));
  client.print(F("<br><br>Clique <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/1'>Aqui</a> para ligar a lampada, ou <a href='http://"));
  client.print(WiFi.localIP());
  client.print(F("/gpio/0'>Aqui</a> para desligar a lampada.</html>"));

  
  Serial.println(F("Desconectando do cliente"));
}
Configurando o WiFi
Onde estão os asteriscos, substitua pelo nome da sua rede WiFi
#define STASSID "*****"
e pela senha da sua rede WiFi
#define STAPSK "*****"

Iniciar Projeto

Com esse código, já podemos utilizar a lâmpada pelo navegador acessando pelo IP dado. Mas, agora, vamos para o aplicativo. Primeiro, entre no site do MIT App Inventor e acesse "Create Apps" Após isso, faça o login e você será redirecionado para essa parte, onde você deve clicar em "Start new project"

Construindo o Aplicativo

Após clicar em "Start new project", dê um nome ao projeto. Após isso, você será direcionado a essa página Vamos colocar 2 botões, um pra cada função da lâmpada(ligada/desligada). Para colocar o item no celular, basta arrastá-lo. Temos, também, que colocar a conectividade Web. Na direita, onde está escrito Button1 e Button2, podemos renomear o botão para "Ligar lâmpada" e "Desligar lâmpada". Agora, vamos para a parte do código do aplicativo. Primeiro, clique em "Blocks" Na parte dos botões, selecione o bloco "when button1 .click" Após isso, selecione o componente Web1 e selecione o bloco "Set Url to". Selecione, também, o bloco de texto e coloque o IP, dado anteriormente, na configuração do web server, junto com /gpio/1.  Exemplo: http://192.168.1.113/gpio/1 Para o botão 2, repita o processo, apenas mudando de /1 para /0 Agora, adicione, nos dois, o bloco "call Web1 .get" Código completo:

Como Baixar o Aplicativo

Clique na parte "Build" e selecione o formato desejado O aplicativo será compilado, será dado um código qr e um link para você baixar o aplicativo e pronto! Agora, é só usar.

Conclusões Finais

Com os conhecimentos desse post, você pode testar e fazer diferentes projetos com a placa nodemcu ESP12-E e aplicativos. Nosso app ficou como pode ser visto abaixo. Mas, você também pode personalizar o seu aplicativo como quiser. Como, por exemplo, adicionar imagens de fundo:

Sobre o Autor


Arthur Almeida

Estudante do Ensino médio , aficionado por criar novos projetos eletrônicos e automações, principalmente com o Arduino. No meu tempo livre eu gosto de pesquisar sobre novas tecnologias e tento criar projetos com elas.

Você já pensou em automatizar a sua casa ou poder acender a luz sem ter que se levantar da cama? Se sim, esse post é para você.

Precisa dos componentes para este projeto?

Encontre tudo na Loja Eletrogate com frete grátis para compras acima de R$ 200

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *