Índice:

Lâmpada de design de IoT com IFTTT: 7 etapas (com imagens)
Lâmpada de design de IoT com IFTTT: 7 etapas (com imagens)

Vídeo: Lâmpada de design de IoT com IFTTT: 7 etapas (com imagens)

Vídeo: Lâmpada de design de IoT com IFTTT: 7 etapas (com imagens)
Vídeo: Franzininho WiFI e Adafruit IO - Controlando dispositivos remotamente 2024, Julho
Anonim
Lâmpada de design IoT com IFTTT
Lâmpada de design IoT com IFTTT
Lâmpada de design IoT com IFTTT
Lâmpada de design IoT com IFTTT

Neste Instructable, irei guiá-lo na fabricação de uma lâmpada LED conectada à Internet que seja funcional e elegante.

Este objeto de design descolado é controlável com um aplicativo da web ou o serviço online IFTTT. Este último permite conectar a lâmpada a todos os tipos de serviços externos como Google Assistant, Alexa, Notificações Android, Hora e Data, Previsão do tempo, etc. Este projeto pressupõe um conhecimento básico do ESP8266 e do editor Arduino.

Etapa 1: Reúna os eletrônicos

Reúna eletrônicos!
Reúna eletrônicos!
Reúna eletrônicos!
Reúna eletrônicos!

Para este projeto, você precisará do seguinte:

  • Um NodeMCU ou outro microcontrolador ESP8266
  • Fita LED Neopixel / WS2812B (1m 60LED / m)
  • Level Shifter *
  • Fios de salto (macho para fêmea)
  • Cabo micro USB
  • Plugue de parede USB (5 V)

A faixa de LED tem três cabos: 5V in (vermelho), GND (branco) e DATA in (verde). O ESP8266 opera a 3,3 V, mas tem um pino VU. Este pino é conectado diretamente à alimentação USB, portanto, se você alimentar sua placa com 5 V via USB, essa tensão também estará disponível no pino VU. Usaremos este pino para alimentar a faixa de LED. Então, resumindo:

  • Conecte o aterramento ao aterramento (GND TO G)
  • Conecte 5V + a Vu
  • Conecte Din ao D2

* = Dependendo do seu hardware específico, esta fiação pode não funcionar. Uma vez que o ESP8266 opera a 3,3 V, o sinal de dados que ele fornece também estará a 3,3 V. Como o WS2812B é alimentado com 5 V, o sinal de dados pode ser muito fraco para ser recebido corretamente pela faixa. Se a fiação acima não funcionar, você precisará de um Level Shifter que muda o sinal de dados de 3,3 V para 5 V. Consulte o esquema de fiação em anexo.

Observação! Algumas fitas de LED são mais propensas a quebrar do que outras. Se você nunca trabalhou com essas fitas, eu recomendo fortemente a leitura do Überguide Neopixel para dicas sobre como conectar com segurança uma fita LED Neopixel.

Etapa 2: FastLED

FastLED
FastLED

Para controlar os LEDs, podemos fazer uso da biblioteca FastLED. Se ainda não o fez, adicione esta biblioteca ao seu ambiente Arduino (Sketch> Incluir Biblioteca> Gerenciar bibliotecas> 'FastLED').

Para ter certeza de que sua fiação está funcionando, você pode experimentar um dos muitos exemplos que vêm com a biblioteca FastLED (Arquivo> Exemplos> FastLED). Certifique-se de alterar as configurações em cada exemplo (número de LEDs = 60, pino de dados = 2), antes de carregá-los em sua placa.

Tenha cuidado ao definir os LEDs muito brilhantes enquanto a placa estiver conectada ao computador. Ao consumir mais de 500 mA, seu computador pode desligar a porta. Se você quiser usar a faixa com brilho total, ligue-a com um plugue USB que possa fornecer uma amperagem alta o suficiente.

Etapa 3: Software

Programas
Programas

Agora é hora de um software personalizado. O software está disponível no GitHub:

github.com/dpkn/lamp/tree/master/software

Baixe o arquivo do software, descompacte-o e abra o arquivo software.ino em seu editor Arduino. Certifique-se de ter todas as bibliotecas mencionadas neste arquivo instaladas.

Vá para a guia Config e adicione o nome da rede WiFi e a senha a estas linhas:

const char * ssid = "";

const char * senha = "";

Também pode ser necessário alterar o seguinte, dependendo do seu roteador:

const IPAddress staticIp (192, 168, 178, 101); // O IP local estático desejado do dispositivo

gateway const IPAddress (192, 168, 178, 1); // IP do gateway da sub-rede constIPAddress do roteador (255, 255, 255, 0); // Sub-rede do roteador

No MacOS, você pode encontrar essas configurações em Preferências do sistema> Rede> Avançado> TCP / IP

Envie os arquivos para o seu quadro. Se tudo correr bem, a faixa acenderá em branco quando estiver conectada à sua rede sem fio. Abra o Monitor serial em 115200 baud para verificar informações adicionais.

Etapa 4: controlando localmente

Para demonstrar o funcionamento da lâmpada, fiz um pequeno aplicativo da web que está disponível em https://lamp-app.surge.sh (fonte no Codepen). Este aplicativo envia solicitações JSON diretamente para o ESP8266, que por sua vez atualiza os LEDs.

O procedimento acima só funcionará se a lâmpada e o telefone estiverem conectados à mesma rede WiFi porque você está endereçando a lâmpada pelo endereço IP local. Para poder controlar a lâmpada de qualquer lugar, você precisará examinar as configurações do roteador.

Etapa 5: controlando de qualquer lugar

Para abrir sua lâmpada para a coisa mágica que é a World Wide Web, precisamos fazer algo chamado encaminhamento de porta. Basicamente, isso redirecionará as solicitações endereçadas ao seu endereço IP público (aquele fornecido pelo seu ISP) e o número da porta (neste exemplo definido arbitrariamente como 300) para o endereço IP local interno em que o ESP8266 pode ser endereçado.

Este processo é diferente para cada dispositivo, então se você não souber como fazer isso no seu roteador específico, certifique-se de google 'encaminhamento de porta' + o nome do seu roteador. Estas são as configurações de que você precisa:

Porta externa de início / fim: 300

Porta de início / fim interna: 300

Endereço IP interno: 192.168.178.101 (o endereço que é mostrado no Monitor Serial)

Protocolo: TCP / UDP

Aviso! Depois de fazer isso, sua lâmpada pode ser controlada por qualquer pessoa que conheça seu IP público e a porta em que a lâmpada está funcionando. Se você não acha que é uma boa ideia, é recomendável implementar alguma camada de segurança

Para testar se tudo está configurado corretamente, digite o seguinte em seu navegador: (se você não souber seu endereço IP público, acesse este site.)

[SEU IP PÚBLICO]: 300

Você deve ver uma mensagem de confirmação JSON. Agora você pode tentar usar o aplicativo com seu endereço IP público.

Etapa 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Aqui é onde a verdadeira diversão começa. Agora que nossa lâmpada está conectada ~~ à Internet ~~, podemos usar o site IFTTT para conectá-la a todos os tipos de serviços.

Neste exemplo, vamos configurar um comando do Google Assistant que deixa as luzes vermelhas, mas você pode escolher outro serviço que desperte sua imaginação.

  1. Vá para IFTTT.com e crie uma conta, caso ainda não tenha
  2. Navegue até 'Meus miniaplicativos'> 'Novo miniaplicativo'
  3. Para o serviço de acionamento, pesquise por 'Google Assistant'
  4. Selecione 'Say A Simple Phrase'
  5. Crie algumas frases únicas
  6. Para o serviço de ação, pesquise 'Webhooks'
  7. Use as seguintes configurações:

URL: https:// [YOUR-PUBLIC-IP]: 300 / api

Método: POST Tipo de conteúdo: application / json

E para o corpo:

Agora, quando dissermos a frase escolhida, o Google Assistant fará uma solicitação ao IFTTT, que por sua vez enviará uma solicitação JSON para nossa lâmpada. Certifique-se de experimentar! Mergulhe no código para ver o que mais você pode fazer com que a tira faça.

Etapa 7: tornando-o bonito

Tornando-o bonito
Tornando-o bonito
Tornando-o bonito
Tornando-o bonito
Tornando-o bonito
Tornando-o bonito

A parte mais cara desse projeto é a caixa que abriga a faixa de LED. Se você deseja apenas experimentar este projeto sem gastar muito dinheiro com ele, você também pode considerar outras formas ou simplesmente fazer o tubo de papel branco para impressora. Em anexo você encontrará um wireframe que você pode imprimir em papel para dobrar alguns suportes para o tubo, como mostrado nas fotos acima.

Para um invólucro mais sólido, usei os seguintes itens:

  • Tubo de acrílico fosco (comprimento = 1160 mm, diâmetro = 40 mm, espessura da parede = 2 mm)
  • 2x tampa de plástico
  • Bloco de 20x2x30mm de madeira macia
  • Tira de metal 10x1160x2mm

A faixa de LED em si tem 1000 mm, deixando 80 mm em ambas as extremidades do tubo para esconder a parte eletrônica. Usei papel de impressora enrolado no tubo em ambas as extremidades para torná-los não transparentes. Para facilitar a inserção, colei a faixa de LED em uma longa faixa de metal

Eu retirei as arquibancadas de um bloco de madeiras macias. Se você quiser fazer o mesmo, o arquivo.stl é fornecido abaixo. Você também pode considerar a impressão 3D do suporte.

Recomendado: