F
Felipe Mateus
sonoff: Reutilização de tecla do teclado – Parte 2

sonoff: Reutilização de tecla do teclado – Parte 2

Por Felipe Mateus
Postado em 03/09/2023

Algum tempo atrás escrevi um texto falando sobre um software sonoff que fiz para substituir a uma tecla do notebook que não tinha utilidade. Contudo fiquei devendo uma versão 2 do projeto com execução em segundo plano, esse é objetivo desse novo projeto. 

Antes de começar a explicar mais sobre o programa sonoff você deve tá se perguntando porque estou fazendo uma versão 2? Esse programa é muito útil pra mim pois consigo acender e apagar a luz sem tirar a mão do teclado do computador. 

Começando o Projeto sonoff

Existem algumas diferenças entre esse e outro projeto não só no modo de trabalho como no sistema operacional construído no software. Como pode se observar no projeto anterior, o sistema era Windows 10 agora estou usando o Pop Os.

Antes de tudo eu tentei criar a nova versão baseada no projeto anterior porém encontrei algumas dificuldades como: lib desatualizada, lentidão na execução da aplicação e o fato de gerar vários arquivos para gerar o binário.

Todas essas limitações do python estavam me incomodando um pouco, então resolvi pesquisar em outras linguagens uma forma de fazer esse projeto melhor. 

Logo procurei em Rust e não obtive muito sucesso até que achei em golang a lib que fazia exatamente o que fazia em python além de prometer acesso chaves privadas que não funcionou.

Como Funciona o Projeto sonoff

O programa, executado em background do computador como serviço, mantém uma conexão sempre ativa com o sonoff ewelink.cc Logo isso faz com que ele execute bem mais rápido que o programa anterior. 

Terminal do linux com serviço rodando sonoff service.
Imagem 1: mostra terminal com serviço rodando]

Para apagar ou acender a  luz  é preciso apertar as teclas Ctrl + Alt + num0 assim não depende do atalho do sistema operacional para executar é implementado direto no programa. 

Contudo é possível instalar apenas no Linux eu não fiz a versão desse programa ser compatível com Windows diferente do programa anterior.

O programa emite uma notificação a cada execução do comando, indicando o status atual da lâmpada alterada.

Imagem mostra as notificações do programa.
Imagem 2:  mostra notificações do programa em execução.

Desafios da Criação

O principal desafio dessa versão foi tentar capturar as teclas que são pressionadas usando a lib hotkey, mas não foi possível. Então pesquisei na internet outra lib que acabou funcionando, mas se eu quiser capturar uma tecla especial, como no projeto anterior, terei dificuldade.

Outra coisa que que travei foi na criação do serviço estava criando serviço no modo system isso ele não estava conseguindo enxergar as configurações do x11 que são necessárias para o hotkey. Porém pesquisando na internet consegui resolver esse problema até que rápido.

Tecnologias Usadas

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *