Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
"Excelsior" - Stan Lee.
Notificações maravilhosas
Este instrutível é dedicado ao falecido pai dos meus super-heróis favoritos.
Por algum tempo, eu tive esta estátua do Homem de Ferro na prateleira. É um brinquedo de origem duvidosa que me foi dado depois de uma discussão com um amigo. Eu aleguei que poderia fazer com que parecesse melhor. O tempo foi passando e o brinquedo ficou ali parado na minha prateleira por meses e meses, nem brincado com a luz LED pouco interativa nem pintado.
Era hora de mudar isso!
Vamos colocar um pouco de vida neste Ironman, pintá-lo e adicionar o poder de computação que vale a pena Jarvis! É uma prova de como um único LED pode ser divertido se usado corretamente!
Recursos:
- Luz LED RGB controlável totalmente "conectada" - sim, apenas uma!
- Pode anunciar suas notificações do Facebook, Twitter, WhatsApp e outras notificações
- Compatível com Alexa (se você quiser)
- Totalmente SuperHero amigável
- Jarvis dentro (é ESP8266, mas foi o mais próximo que consegui encontrar)
Tempo: 2hCusto: cerca de 5 USD. Dificuldade: Superhero fácil
(Observe que o projeto requer um servidor NodeRED para conectividade IoT)
Há uma competição acontecendo - se eu puder vencê-la com um único projeto de LED, seria uma experiência verdadeiramente maravilhosa! Votos muito apreciados!
O instructable é totalmente baseado nesta adorável redação feita por mim! Você pode ler mais sobre isso lá, mas esteja avisado que este instrutível é repleto de ação com humor!
Etapa 1: Hardware
Esta vai ser a lista de hardware mais curta de todas:
- ESP8266-01 - exatamente como este ($ 3)
- 1 RGB LED WS2812b você precisa de apenas um - não tem preço!
- 5 V para 3,3 V (para torná-lo alimentado por USB) ($ 2)
Você também precisará de um ferro de solda (homem), alguma paciência parecida com o herói, dedos firmes e armas de laser, porque você não pode ter o suficiente de lasers. Além disso, se você puder rastejar para cima do prédio … pare de ler este Pedro e vá e salve a cidade!
É claro que estou apenas tentando fazer com que essa etapa pareça séria. A verdade é - este é um projeto divertido para se familiarizar com MQTT, NodeRED, ESP8266 e alguns eletrônicos básicos. Você poderia usar baterias para alimentá-lo, mas o ESP sem o modo de espera irá mastigar muito rapidamente.
Etapa 2: Colocando Jarvis (esp8266) no Ironman
Não se chama sorte! Eu planejei totalmente isso:
- WS2812b tem uma fita adesiva e se encaixa na placa traseira do ESP
- ESP8266 se encaixa dentro da cabeça do Ironman (Tony tem uma grande cabeça mesmo!)
Curiosidade: meu atual colega de casa tem o codinome "Homem de Ferro" (não diga isso a ele, ele não sabe disso). Escolho os codinomes sempre que preciso procurar um novo colega de casa, antes da seleção (já passei por Batman e Superman). Não apenas seu nome era Anthony, mas a primeira pergunta que ele fez foi sobre tábua de passar!
Por mais que você fique tentado a colocar tudo junto - não faça isso ainda. Depois que o WS2812b for soldado ao ESP8266 com todos os fios, será mais difícil atualizar o código.
Com isso em mente, é hora do nível Jarvis AI
Etapa 3: Software "Hello Jarvis"
Existem dois componentes desta configuração:
NodeRED:
O NodeRED é super fácil de usar e você pode fazer muitas coisas incríveis com ele. Da automação básica para dizer ao nosso brinquedo Jarvis o que fazer! Tenho um tutorial para iniciantes, se você quiser expandir ainda mais seus conhecimentos. Não é necessário para este instrutível. Se você quiser fazer as luzes acontecerem, continue lendo.
O servidor é responsável por 2 coisas:
- para capturar gatilhos (notificação recebida, pressionamento de botão, etc.)
- envie o comando para acender a luz
Para me comunicar com ESP8266, estou usando uma string que é construída da seguinte maneira:
Formato: (num: vermelho: verde: azul: LedON: LedOFF: Brilho: loop) num: int 0-255 // número de piscadas vermelho: int 0-255 // canal vermelho (usar seletor de cor) verde: int 0- 255 // canal verde (usar seletor de cores) azul: int 0-255 // canal azul (usar seletor de cores) LedOn / Desligado: moinhos int 100 - 1000 // LED e intervalos de interrupção Brilho: int 0-255 // Brilho do LED loop: int 0, 1, 2 // modo (contagem / piscar constante / limpar)
Com base nesta chave, um exemplo de mensagem como esta:
3:15:96:226:1000:300:255:0
Isso se traduziria em 3 pulsos azuis com duração de 1 segundo a cada 300 ms com brilho total.
Isso será enviado via MQTT para o ESP8266. Depende de você o que fará com que as piscadas aconteçam. Abordarei alguns exemplos de cenários:
Notificações móveis
Obviamente, para capturar mensagens e notificações, vou usar o Tasker e o plugin AutoNotification. Cada vez que recebo uma mensagem de um determinado tipo - vamos fazer WhatsApp e SMS - quero que o Ironman pisque x vezes na cor y.
Em dispositivos Android, você pode usar o Tasker para verificar qual notificação foi emitida e fazer algo com base nisso. A AutoNotification monitorará cada notificação e, se for emitida por um aplicativo SMS ou Whatsapp, enviará uma postagem HTTP para o NodeRED. Eu tenho muitos tutoriais do Tasker, se você quiser saber mais sobre isso.
No WhatsApp vou piscar o LED 6 vezes, definir a cor para verde
led = 6: 15: 224: 99: 600: 100: 254: 0
Para SMS, quero que o LED fique azul e pisque 10 vezes led-
10:15:96:226:1000:300:254:0
Você pode baixar e importar o perfil completo do Tasker com todos os arquivos anexados a este instrutível.
ESP8266
Usando MQTT - estou enviando a picada com informações sobre como o LED deve se comportar. Você deve atualizar o ESP (talvez usar este adaptador de flash DIY) usando o Arduino IDE com o código personalizado. O código está pronto para você e tudo o que você precisa fazer é modificar o arquivo credentials.h com seu acesso WiFi e informações do servidor NodeRED.
# define SSID_NAME "xxxxxxx"; # define SSID_PASS "xxxxxxx"; # define MQTT_SERVER "192.168.1.183"; #define MQTT_USER "xxxxxx"; #define MQTT_PASS "xxxxxx"; # define MQTT_CLIENT "Ironman2";
Se você não tem certeza de como fazer o flash do ESP8266 - aqui está o guia para você. Observe que para operar o LED, você precisará da biblioteca FastLED do Arduino IDE.
Etapa 4: Montagem dos Vingadores
É hora de colocar tudo junto! Há algumas coisas a fazer. Você pode ver o circuito de conexão, mas resumidamente:
- O cabo USB conecta os pinos de alimentação (1 e 4) ao stepdown de 5V a 3,3V
- 3,3 V é usado para alimentar o LED RGB e ESP8266 (lembre-se de ligar o pino CH-EN)
- O sinal é enviado do GPIO02 para o LED
Verifique todos os fios, pois erros nesta etapa podem custar caro! Você está quase pronto! É hora da última etapa!
Etapa 5: é como assistir a tinta secar
Felizmente, eu acelerei a filmagem para você - então você não precisa suportar 2h de sessão de pintura! Use tintas acrílicas e sua imaginação para fazer algo mediano parecer épico!
Além disso, se você quiser se informar sobre as atualizações deste ou de outros projetos - considere me seguir na plataforma de sua escolha: Facebook Twitter Instagram YouTube
E se você tiver vontade de me comprar um café ou me apoiar de uma forma mais contínua:
Paypal Patreon
Espero que tenham gostado do projeto!