Manual
do
Maker
.
com
Já começo com a triste notícia de que a AFEletronica fez os módulos sem dispor recurso para utilizar sensor capacitivo. É uma pena, porque o sensor capacitivo permite isolar 100% o circuito, evitando qualquer risco em relação ao acionamento de interruptores com a mão molhada. De qualquer modo, a parte do Alexa independe de ter um atuador manual e a placa conta com pulsador, para colocar um botão comum. Nesse artigo apresento a solução desenvolvida para a AFEletronica para controle de relés com Alexa.
Iniciei o assunto de casa inteligente nesse outro artigo. Não é das tarefas mais simples fazer algo que seja genérico, de modo que qualquer um possa usar; cada um tem sua rede WiFi, o dispositivo atuador pode estar em qualquer cômodo, o comando para o Alexa fica à critério do usuário. Como se não bastasse, podemos utilizar placas com 1 ou 2 relés e considerando essas variáveis, fica óbvia a necessidade de uma interface com o usuário para fazer adequadamente o controle de relés com Alexa.
Não devemos esperar que um usuário final compile seu próprio firmware, nem que ele saiba o que é uma comunicação serial. Logo, ou fazemos aplicativo para celular ou uma interface web. Optei pela segunda, já que escrever aplicativos para smartphone não é minha área.
Para acessar esse configurador, incluí o suporte ao modo AP+STA. Isso porque também não podemos esperar que o usuário saiba como encontrar o IP do dispositivo na rede. Nesse caso, ele deverá se conectar ao ESP8266 pelo modo AP, através da rede AFInteliHome. A senha é o mesmo nome da rede, por padrão. Após conectar-se, deve-se então acessar o dispositivo usando o browser no endereço 10.0.0.1/config. Será solicitado usuário e senha, que também por padrão é admin/admin.
Esse usuário e senha também podem ser modificados pela interface de configuração.
A página que se abre deve ter essa aparência simples, mas funcional:
Após configurar todos os parâmetros da página de configuração, clica-se em Submit e, ao tratar o comando, o ESP8266 reinicia. Considere que nesse momento a conexão ao dispositivo será perdida, não é erro.
Ao reiniciar, o dispositivo deve estar pronto para ser adicionado à lista de dispositivos do Alexa. Ele pode ser incluído pelo aplicativo ou dizendo "Alexa, descobrir dispositivos".
Assim que adicionado, podemos partir para a configuração do próximo módulo AFEletronica para controle de relés com Alexa!
Bem, não tem esse recurso; o dispositivo estará acessível através do WiFi configurado e também através da rede AP do ESP8266. Se quiser reconfigurar algo, basta conectar-se e mudar os parâmetros.
Para entregar essa interface de configuração amigável e genérica, alguns recursos adicionais foram necessários. As configurações persistem em arquivos, gravados no novo sistema de arquivos da Espressif, o LittleFS. Os comandos de leitura, escrita, verificação e afins recebe exatamente a mesma sintaxe, bastando substituir a biblioteca SPIFFS.h por LittleFS.h.
A biblioteca utilizada para interfacear com o Alexa foi a fauxmo, que faz uso da ESPAsyncWebServer. Como essa inclusão já era necessária, aproveitei para criar as páginas /config (que chama /setup ao clicar em Submit), /login (que tem o propósito apenas de testar o login) e /credenciais para ver todos os parâmetros configurados na interface. Qualquer uma dessas páginas requisitará o login do usuário administrativo (admin/admin, se deixar o padrão), exceto já tenha logado em qualquer uma delas previamente sem fechar o browser.
Um vídeo de apresentação mostrando a gravação do firmware, acesso, reconfiguração, adição aos dispositivos reconhecidos pelo Alexa e execução do comando estarão (ou já estão) disponíveis em nosso canal DobitaobyteBrasil no Youtube. Se não é inscrito ainda, inscreva-se, clique no sininho para receber notificações e deixe seu like!
Revisão: Ricardo Amaral de Andrade
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.