GithubHelp home page GithubHelp logo

jpedroo / wi-fi-remote-lamp-control Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.86 MB

Este repositório contém o código-fonte necessário para controlar uma lâmpada remotamente através de uma conexão Wi-Fi utilizando o protocolo MQTT. O projeto utiliza a placa ESP8266.

C++ 100.00%

wi-fi-remote-lamp-control's Introduction

Controle Remoto de Lâmpada via Wi-Fi utilizando Arduino e MQTT

Este repositório contém o código-fonte necessário para controlar uma lâmpada remotamente através de uma conexão Wi-Fi utilizando o protocolo MQTT. O projeto utiliza a placa ESP8266, que possui Wi-Fi integrado, em vez do Arduino UNO.

Componentes utilizados

  • Placa ESP8266
  • Módulo relé (Certifique-se de que este seja compatível com a placa que será usada, visto que o ESP8266 possui uma saída de 3V e não de 5V como no Arduino.
  • Lâmpada

Bibliotecas

O código utiliza as seguintes bibliotecas:

  • ESP8266WiFi.h: Biblioteca para conectar-se à rede Wi-Fi.
  • PubSubClient.h: Biblioteca para comunicação MQTT.

Configurações

Antes de utilizar o código, é necessário ajustar as seguintes configurações:

Credenciais Wi-Fi

const char* ssid = "SEU_SSID"; // Insira o nome da sua rede Wi-Fi
const char* password = "SUA_SENHA"; // Insira a senha da sua rede Wi-Fi

Credenciais do MQTT Broker e tópicos

const char* mqtt_broker = "broker.hivemq.com"; // Endereço do broker MQTT
const char* topic1 = "led/builtin/L1"; // Tópico para controlar o LED 1
const char* topic2 = "led/builtin/L2"; // Tópico para controlar o LED 2
const char* topic3 = "led/builtin/ALL"; // Tópico para controlar todos os LEDs
const char* mqtt_username = ""; // Nome de usuário MQTT (caso necessário)
const char* mqtt_password = ""; // Senha MQTT (caso necessário)

Certifique-se de ajustar as credenciais de acordo com a sua configuração específica.

Funcionamento

  1. O código conecta-se à rede Wi-Fi configurada.
  2. Após a conexão Wi-Fi ser estabelecida, o código tenta conectar-se ao broker MQTT.
  3. Uma vez conectado ao broker MQTT, o código subscreve aos tópicos relevantes e publica uma mensagem de confirmação para cada um deles.
  4. O código aguarda a recepção de mensagens MQTT nos tópicos subscritos.
  5. Quando uma mensagem é recebida, o código executa a função de callback, que controla o estado dos LEDs com base na mensagem recebida.

Controle dos LEDs

  • Tópico "led/builtin/L1": Controla o LED 1 individualmente.
  • Tópico "led/builtin/L2": Controla o LED 2 individualmente.
  • Tópico "led/builtin/ALL": Controla ambos os LEDs simultaneamente

As mensagens válidas para acender os LEDs são:

  • "1": Liga o LED.
  • "0": Desliga o LED.

Importante

Certifique-se de ter configurado corretamente as conexões físicas entre a placa ESP8266, o módulo relé e a lâmpada. O código assume que o pino D0 da placa está conectado ao módulo relé que controla o LED 1, e o pino D3 está conectado ao módulo relé que controla o LED 2.

Este código foi desenvolvido para fins educacionais e pode ser modificado de acordo com as necessidades do projeto. Logo, para não se utilizar uma alta voltagem foi-se utilizado três LEDs controlados individualmente, como apresentado no código.

wi-fi-remote-lamp-control's People

Contributors

jpedroo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.