![Luzes do Ramadã - IOT de automação residencial: 6 etapas Luzes do Ramadã - IOT de automação residencial: 6 etapas](https://i.howwhatproduce.com/images/004/image-9273-7-j.webp)
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
![Luzes do Ramadã | IOT de automação residencial Luzes do Ramadã | IOT de automação residencial](https://i.howwhatproduce.com/images/004/image-9273-8-j.webp)
Quando o Ramadã bate à porta, cidades em todo o mundo se iluminam e se preparam para o mês de jejum. As luzes são penduradas em praças públicas e nas ruas da cidade, bem como nas paredes externas das casas iluminadas durante a noite até o nascer do sol pela manhã.
Neste projeto, gostaria de compartilhar minha contribuição, no qual estou automatizando a iluminação dessas decorações com base nos tempos de Adhan e adicionando isso ao meu sistema de casa inteligente.
Etapa 1: Teoria
Basicamente, é mais fácil e aplicável automatizar a iluminação com base na intensidade da luz solar, por exemplo. No entanto, eu gostaria que isso tivesse o espírito do mês sagrado, ou seja, as luzes se acenderão enquanto as pessoas puderem comer durante o mês de jejum. Em particular, as luzes estão acesas a partir de Maghrib Adhan até Fajr Adhan a cada dia sem qualquer interação humana.
Etapa 2: Design
Abaixo, listarei os requisitos / capacidades deste projeto:
- O sistema deve ser capaz de processar automaticamente na inicialização.
- O sistema deve ser capaz de executar periodicamente o algoritmo de decisão (ON / OFF).
- O sistema deve ser capaz de chamar a API diariamente.
- O sistema deve ser capaz de se recuperar de uma reinicialização não planejada.
- O sistema deve executar o algoritmo de decisão (ON / OFF) ao receber os dados instantaneamente.
- O sistema deve fornecer um interruptor para ligar o modo de piloto automático (modo automático).
- O sistema deve fornecer um interruptor para ligar / desligar manualmente as luzes.
- O acionamento do interruptor manual deve definir o modo manual como DESLIGADO.
- Quando o modo Automático está LIGADO, o resultado do algoritmo de decisão deve ser refletido no interruptor manual LIGADO / DESLIGADO.
Etapa 3: Detalhes técnicos: a API
![Detalhes técnicos: a API Detalhes técnicos: a API](https://i.howwhatproduce.com/images/004/image-9273-9-j.webp)
Para tornar a teoria aplicável, é necessário conhecer o tempo de Adhan diariamente desde sua variável e agir sobre ele para ligar / desligar as luzes / decorações.
Para isso, decidi usar uma API baseada em localização para veicular os dados (tempo para Adhan)
muslimsalat.com/api/#location
- Esta API fornece uma variedade de opções e parâmetros de configuração descritos no link de documentação acima.
- Recomenda-se usar sua própria API_key, que é gratuita no momento do registro.
- No meu design, estou interessado em uma linha do tempo diária.
- A hora retornada está no formato de 12 horas (AM / PM).
- Em termos de localização, gostaria que esta API pudesse fornecer opções mais precisas para localizações como sistema de coordenadas geográficas de coordenadas (Latitude e Longitude). Desta forma, esta API pode ser fornecida com um nome de cidade, por exemplo, e isso é suficiente na maioria dos casos. Infelizmente, os resultados da minha cidade específica foram bastante tendenciosos em vários testes e houve alguns minutos de diferença ao comparar o tempo de Adhan entre os resultados da API e o tempo real de Adhan na minha cidade. Por outro lado, os resultados foram perfeitamente compatíveis quando forneci uma cidade próxima ao norte e me mantive nela!
- O URL da API que estou usando é: https://muslimsalat.com/.json? Key =
Etapa 4: Detalhes técnicos: Hardware
![Detalhes técnicos: Hardware Detalhes técnicos: Hardware](https://i.howwhatproduce.com/images/004/image-9273-10-j.webp)
Para simplificar, estou deixando o hardware de fora do processo de sincronização com a API e do cálculo de tempo delegando essas operações ao meu sistema de automação residencial. Isso me dará mais controle se eu quiser ajustar a fonte da API e o algoritmo de cálculo.
Dito isso, usei um ESP8266 (NodeMCU) para me conectar à rede local via WIFI e um módulo de relé como atuador. O NodeMCU usará o protocolo MQTT e ouvirá um tópico específico para obter comandos para ligar / desligar o relé. Tão simples como isso!
Etapa 5: Detalhes técnicos: conectando os pontos | Automação residencial
![Detalhes técnicos: Conectando os pontos | Automação residencial Detalhes técnicos: Conectando os pontos | Automação residencial](https://i.howwhatproduce.com/images/004/image-9273-11-j.webp)
![Detalhes técnicos: Conectando os pontos | Automação residencial Detalhes técnicos: Conectando os pontos | Automação residencial](https://i.howwhatproduce.com/images/004/image-9273-12-j.webp)
![Detalhes técnicos: Conectando os pontos | Automação residencial Detalhes técnicos: Conectando os pontos | Automação residencial](https://i.howwhatproduce.com/images/004/image-9273-13-j.webp)
Meu RaspberryPi mantém uma instância nodered que é capaz de lidar com tudo que eu preciso para este projeto. Também possui um servidor MQTT instalado para publicar nossas mensagens.
A princípio, pensei que poderia buscar os dados da API diariamente às 9h e extrair os horários de Fajr e Mahgrib Adhan e continuar comparando o horário atual com estas variáveis que são:
a cada 30 s:
if: Mahgrib <AGORA <Fajr true | acender as luzes | publicar uma mensagem ON no tópico MQTT especificado, caso contrário: desligar
Para comparar o tempo, estou convertendo as horas fornecidas pela API de hh: mm (AM / PM) para formato de data completo, definindo a parte da data como uma data insignificante no histórico, por exemplo (1970-01-01), uma vez que estamos comparando a hora apenas para a hora atual (parte da data também é convertida).
Infelizmente, isso só funcionará em casos simples. Suponha o caso em que a energia elétrica cai ou o sistema é reiniciado por um motivo não planejado. Se esse caso ocorrer antes das 12h, ainda estamos no lado seguro, mas depois das 12h, nosso algoritmo simples falhará.
Para dar um exemplo, vamos ter Magrib Adhan às 19h30 e Fajr às 4h10. Quando o sistema for inicializado, ele enviará uma nova solicitação para buscar os dados mencionados anteriormente. Se a hora agora for 1:45 AM, esperamos que nosso algoritmo retorne verdadeiro, mas na verdade não retornará porque 1:45 AM é menor que Fajr (4:10 AM), mas não é maior que Magrib (19:30). Isso porque unimos a data entre todas as variáveis. Abaixo está a versão final do algoritmo (até agora):
a cada 30 s:
if ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate () + 1); // lida com dias estendidos endTime if (now.getHours () <= 12) {now.setDate (now.getDate () + 1); // lida com a extensão dos dias currentTime}} // abaixo está o bloco de código anterior se: Mahgrib <AGORA <Fajr true | acender as luzes | publicar uma mensagem ON no tópico MQTT especificado else: false | desligar
O fluxo completo do processo está anotado na imagem acima.
Em termos de IU, adicionei 2 opções à IU / interface:
- Um switch para transformar este processo em Automático ou Manual.
- Um interruptor para ligar / desligar as luzes manualmente.
Etapa 6: Concluindo
![](https://i.ytimg.com/vi/tl7bdoo8YgI/hqdefault.jpg)
O tempo voa para nunca mais ser lembrado. Fazer esses projetos simples de 1 dia permite que você recupere o fôlego nesta via rápida e o ajude a reviver suas habilidades sociais com o tempo.
Tentei o máximo neste projeto para mantê-lo simples e reutilizável em todo o mundo.
Vote gentilmente neste instrutível se você acha que este projeto merece.
Feliz Ramadã!
Recomendado:
Botão de automação residencial de $ 5: 4 etapas
![Botão de automação residencial de $ 5: 4 etapas Botão de automação residencial de $ 5: 4 etapas](https://i.howwhatproduce.com/images/001/image-114-j.webp)
Botão de automação residencial de $ 5: um botão de automação residencial de $ 5 às vezes, a solução mais simples é um único botão. Queríamos uma maneira fácil de acionar uma rotina de "hora de dormir" em nosso hub de automação residencial (o Hubitat Elevation), que apaga a maioria das luzes, define outras para níveis específicos e
Sistema de automação residencial WiFi de ultra-baixa potência: 6 etapas (com fotos)
![Sistema de automação residencial WiFi de ultra-baixa potência: 6 etapas (com fotos) Sistema de automação residencial WiFi de ultra-baixa potência: 6 etapas (com fotos)](https://i.howwhatproduce.com/images/001/image-332-j.webp)
Sistema de automação residencial WiFi de potência ultrabaixa: Neste projeto, mostramos como você pode construir um sistema de automação residencial local básico em algumas etapas. Vamos usar um Raspberry Pi que funcionará como um dispositivo WiFi central. Considerando que, para nós finais, vamos usar IOT Cricket para fazer uma bateria de energia
Automação residencial: 5 etapas
![Automação residencial: 5 etapas Automação residencial: 5 etapas](https://i.howwhatproduce.com/images/001/image-861-j.webp)
Domótica: neste projeto, vamos usar um monte de coisas construí-lo do zero para entender o processo de Internet das coisas IoT vídeo para todo o projeto
Automação residencial com sensor de toque NodeMCU Relé de controle de temperatura LDR: 16 etapas
![Automação residencial com sensor de toque NodeMCU Relé de controle de temperatura LDR: 16 etapas Automação residencial com sensor de toque NodeMCU Relé de controle de temperatura LDR: 16 etapas](https://i.howwhatproduce.com/images/001/image-28-6-j.webp)
Automação residencial com relé de controle de temperatura LDR do sensor de toque NodeMCU: Em meus projetos anteriores do NodeMCU, controlei dois eletrodomésticos do aplicativo Blynk. Recebi muitos comentários e mensagens para atualizar o projeto com controle manual e adicionar mais recursos. Portanto, desenvolvi esta caixa de extensão de casa inteligente. Nesta IoT
Sistema de alarme de intrusão de automação residencial DIY !: 5 etapas (com fotos)
![Sistema de alarme de intrusão de automação residencial DIY !: 5 etapas (com fotos) Sistema de alarme de intrusão de automação residencial DIY !: 5 etapas (com fotos)](https://i.howwhatproduce.com/images/001/image-16-40-j.webp)
DIY Sistema de alarme de intrusão de automação residencial !: Neste projeto, mostrarei como usar o software Home Assistant para criar um sistema de alarme de intrusão para sua casa. O sistema basicamente detectará se a porta for aberta sem permissão e, em seguida, enviará uma notificação