Um interruptor de luz inteligente WiFi com API de nuvem?

12

Preciso de algumas sugestões para um interruptor de luz inteligente baseado em WiFi que possa ser controlado remotamente e tenha uma API aberta.

O interruptor de luz WeMo não possui API remota aberta. O mesmo acontece com outro popular TP-Link HS200 . A maioria dos outros switches com controle remoto que encontrei só podem ser controlados por meio de seus próprios aplicativos. Existem alguns projetos do GitHub que fizeram a engenharia reversa desses aplicativos, mas eu preferiria usar a API publicada diretamente pelo fabricante, porque meu projeto é de longo prazo e não quero apostar em soluções de engenharia reversa.

rajendra
fonte

Respostas:

9

Suas soluções à prova mais futuras serão aquelas que separam totalmente o hardware do protocolo .

Seu exemplo de interruptor de luz HS200 se une a muitas tomadas inteligentes por ser baseado em um sistema Embedded Linux (a fonte está disponível no GPL Code Center da TP Link ). As chances são de que, como a maioria das tomadas, o sistema subjacente é derivado de uma filial estranha de um fornecedor. uma distribuição Linux comum destinada a roteadores. Outros modelos podem usar um ESP8266. Geralmente, qualquer um desses pode ter o firmware padrão substituído por um diferente, que pode atuar como um servidor em uma rede local, permitindo o controle dessa maneira e ou assinar mensagens retransmitidas por meio de algo como um intermediário MQTT na nuvem, permitindo controle de casa. Você mantém a capacidade total de habilitar um ou os dois caminhos, alterar as regras e os provedores de serviços.

Caso o hardware que você estava usando fique indisponível, porque você controla totalmente o protocolo, tudo o que você precisa fazer é encontrar um hardware diferente para executá-lo. Mover o código do lado do dispositivo entre algo como o OpenWRT Linux comum em produtos derivados de roteadores e um ESP8266 bare metal seria uma quantidade razoável de trabalho, mas é conceitualmente direto. Mas movê-lo do OpenWRT em um chip de roteador para o OpenWRT em outro, ou movê-lo para qualquer Linux (ou se você precisar, talvez até o Win IoT) que roda em seu raspberry pi ou Edison ou Beagle Bone seria ainda mais direto.

Dividir as funções do sistema em partes distintas, com limites claros, exige que você faça um pouco mais de trabalho antecipadamente, mas significa que será capaz de responder a quaisquer alterações, de uma maneira que talvez não fosse possível se você usasse uma solução integrada verticalmente de um único fornecedor.

Chris Stratton
fonte
Obrigado por explicar a limitação do uso de 'solução verticalmente integrada de um único fornecedor' e os benefícios do acoplamento flexível do hardware e do protocolo. Se a prova a longo prazo e o controle total foram realmente importantes, talvez este seja o único caminho a percorrer. Mas, no momento, estou apenas procurando uma solução um pouco melhor do que alguma API invadida no github. O que você propôs é muito trabalho para nós.
rajendra
4

Como Chris disse, a chave é separar o protocolo do hardware. Mas isso não significa que você precise implementar seu próprio firmware! Você pode escolher um comutador que suporte um protocolo de automação residencial comum e prontamente disponível, como o Z-Wave ou o Insteon. Estes são protocolos fechados, mas há uma grande variedade de fabricantes que criam componentes interoperáveis ​​com eles. Em seguida, você pode usar um controlador de automação residencial que integra os protocolos de automação residencial ao IP.

Eu uso um controlador de automação residencial Vera Edge, que oferece uma API da web; e há outras opções também. Eu escolhi Vera porque o sistema inteiro é executado localmente sem exigir acesso a uma interface de nuvem hospedada; não há taxa de serviço mensal e o dispositivo e as regras estão completamente sob meu controle. Posso optar por ocultar a API atrás do meu firewall, expor a API externamente ou usar os serviços de nuvem gratuitos de Vera para expor a API para mim. (Além disso, Vera tem uma comunidade muito ativa que está constantemente adicionando suporte para novos dispositivos de automação residencial.) Vera oferece um aplicativo gratuito para iPhone e Android, mas você não está vinculado ao aplicativo deles. Vários desenvolvedores independentes criaram seus próprios aplicativos que utilizam a API da Vera (Grasshopper, VeraMate e ImperiHome são três desses produtos) para fornecer GUIs alternativas.

Se você se opõe a um produto comercial de gateway e deseja muito trabalho, também existem soluções de código aberto para implementar seu próprio gateway de automação residencial que oferece uma API da web. Domoticz e OpenHAB são dois projetos que vêm à mente. No entanto, esses pacotes ainda são muito menos maduros que as soluções comerciais e exigem uma quantidade substancial de trabalho para implementar. (E você indicou que não queria hackear uma solução.)

A única desvantagem que vejo na abordagem baseada em gateway é que sua pergunta está sendo feita sobre "um interruptor de luz", implicando a quantidade de um dispositivo. Um switch de onda Z pode custar de US $ 10 a US $ 40 (ou mais) e um gateway comercial pode custar de US $ 100 a US $ 400 (ou mais). Para um único switch, o preço provavelmente não vale a pena. Porém, se você estiver automatizando um edifício inteiro, o custo do hub poderá ser distribuído entre dezenas de dispositivos.

John Deters
fonte
4

Ultimamente, tenho comprado plugues inteligentes Sonoff no eBay e os atualizei com firmware personalizado. Isso é possível porque eles são baseados no ESP8266. Eles são muito acessíveis e bastante avançados.

Eles precisam ser abertos e um cabeçalho de pino soldado na placa de circuito impresso, então você precisa programá-los com um adaptador FTDI , que também pode ser barato no eBay. É bem direto.

Quando piscam, eles se conectam à minha rede WiFi e enviam e recebem comandos MQTT. Estou usando o Home Assistant para isso.

A BRUH Automation tem um vídeo sobre eles: https://www.youtube.com/watch?v=-JxPWA-qxAk

insira a descrição da imagem aqui

Thomas Jensen
fonte