Índice:

KiKi, o teclado bot: 5 etapas
KiKi, o teclado bot: 5 etapas

Vídeo: KiKi, o teclado bot: 5 etapas

Vídeo: KiKi, o teclado bot: 5 etapas
Vídeo: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, Novembro
Anonim
KiKi, o bot do teclado
KiKi, o bot do teclado

Muitas vezes preciso conectá-lo ao meu PC do trabalho, mas não gosto de deixá-lo ligado o tempo todo. O problema é que meu PC antigo não suporta WOL. No entanto, ele pode ser colocado em hibernação e reativado com a tecla liga / desliga do teclado. No entanto, sem ninguém em casa além do cachorro para estimulá-lo e então …

KiKi the KeyboardBot nasceu.

Ele será vinculado ao assistente inicial sobre MQTT e tem uma página da web autônoma muito simples integrada também, não é bonita, mas dá conta do recado.

Suprimentos

Filamento 3D PrinterPLA

Cortadores de arame

Decapantes de arame

Ferro de solda

Wemos D1 Mini

Micro 9G Servo

Etapa 1: Imprimindo a caixa, a caixa e a extensão da buzina do servo

Imprimindo a caixa, a caixa e a extensão da buzina do servo
Imprimindo a caixa, a caixa e a extensão da buzina do servo

Em primeiro lugar, comece imprimindo o caso, forneço o arquivo SKP se você quiser mexer nele no Sketchup (Maker Edition). Também empacotei o arquivo STL se você quiser apenas ir em frente e carregá-lo em seu divisor e imprimi-lo sem modificações.

Eu imprimi o case sem os suportes como o primeiro que imprimi foi uma chatice para removê-los, a falta de suportes funcionou bem, houve um pouquinho de flacidez, mas uma vez que está tudo montado está bom.

Eu imprimi com uma temperatura de leito de 50 e uma temperatura de extrusora de 200, que era a recomendada para o filamento que eu estava usando.

Como acontece com o caso, também forneço os arquivos SKP e STL para a sirene do servo, ela não imprimiu corretamente para mim, no final eu apenas cortei o ferrolho de montagem e apenas colei, o cabo amarrou em um dos originais chifres enquanto eu estava impaciente para fazer isso funcionar.

Etapa 2: Montagem

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

Remova o cabeçalho de 3 pinos do final do cabo Servo.

Pique o cabo através do recesso do servo na caixa e para fora pelo orifício de saída na lateral.

Agora, cuidadosamente, coloque o cabo ao lado do servo e coloque-o sobre a caixa de modo que o cabo fique no recesso dentro do orifício para o servo, puxe o cabo bem apertado e empurre suavemente o servo para casa, deve ser um bom ajuste confortável.

Coloque o cabo na reentrância do lado de fora da caixa e insira-o na reentrância para o D1 Mini. Enrole o cabo de volta e puxe-o de volta para que pareça bem organizado no estojo.

Deslize o D1 Mini em sua caixa com o módulo WiFi para cima. O chumbo deve ficar sobre o topo do módulo e, em seguida, realimentar sob o PCB.

Agora você pode cortar o cabo do servo em um comprimento aceitável.

Remova o D1 Mini empurrando-o do lado oposto do PCB para o soquete USB.

Uma vez removido, separe, descasque e estanhe os três fios do eletrodo.

Solde-os na parte inferior da placa de circuito impresso na seguinte ordem.

Vermelho -> 5V

Marrom -> GND

Laranja -> D4

Os três pinos são todos adjacentes um ao outro, então é fácil manter o chumbo arrumado.

Agora, dobre suavemente a guia sob a placa em direção ao centro mantendo-a bem plana, role-a sobre a parte superior da placa e deslize suavemente a placa para casa. Não empurre o D1 totalmente para dentro, deixe-o para fora o suficiente para que seja fácil conectar o cabo USB e você possa acessar o botão de reset.

Se você conseguiu imprimir o chifre para que ele se encaixe no cabrestante do servo, ajuste-o agora de forma que o topo do chifre fique mais ou menos paralelo ao tampo de trabalho. Fixe-o no lugar com o pequeno parafuso que acompanha o servo.

Se você não conseguiu imprimir o chifre, corte o ferrolho e fixe-o em um dos chifres fornecidos, super cola e algumas braçadeiras pequenas fizeram o trabalho para mim.

Etapa 3: piscando

Descarregue o arquivo ino em seu arquivo de projetos do Arduino em uma pasta chamada KiKi.

Abra o arquivo no IDE do Arduino.

Edite as linhas a seguir para se adequar à configuração do seu Home Assistant.

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (se você alterou a porta padrão)

26 const PROGMEM char * MQTT_CLIENT_ID = "HostName";

27 const PROGMEM char * MQTT_USER = "MQTTUSER";

28 const PROGMEM char * 28 MQTT_PASSWORD = "MQTTPASS";

Para os tópicos MQTT STATE e COMMAND, gosto de solicitá-lo por localização / dispositivo / (status / switch), mas você pode usar qualquer convenção que desejar.

29 const char * MQTT_ROBOT_STATE_TOPIC = "localização / pc / status"; const char *

30 MQTT_ROBOT_COMMAND_TOPIC = "localização / pc / switch";

Agora edite essas linhas adicionais para definir o nome do host dos seus dispositivos.

159 wifi_station_set_hostname ("HOSTNAME");

169 if (! WifiManager.autoConnect ("HOSTNAME")) {

Defina o nome de domínio totalmente qualificado de seu servidor MQTT.

175 WiFi.hostByName ("MQTTSERVER", MQTT_SERVER_IP);

Conecte o D1 Mini ao seu PC e selecione a porta COM na qual ele está montado.

Abra o Monitor Serial.

Faça upload do arquivo.

Assim que o upload for concluído, verifique o monitor serial.

Se for uma nova placa, não haverá configurações e você terá que se conectar ao AP sem fio criado, em seguida, selecione a rede sem fio correta e digite a senha.

Quando você salva os detalhes de volta, ele os grava no dispositivo e os reutiliza sempre que for reiniciado.

Agora que está conectado à sua rede sem fio, você verá no monitor serial uma linha semelhante a …

192.168.1.xxx ou qualquer que seja o alcance de sua rede.

Se você se conectar a ele com um navegador, verá uma página da web muito simples com um único botão que, quando clicado, ativará o braço servo.

Etapa 4: Ajustando a posição inicial e ativada do servo

Eu coloco um grande pedaço de bluetack na parte de baixo da caixa e, em seguida, espremo-o na minha mesa para que a buzina do servo fique acima do centro da tecla a ser pressionada.

Inicialmente alinho com uma das outras teclas, não a power, pois toda vez que testo ela coloco o pc em hibernação.

Para o meu teclado, o Logitech K260, eu defini a posição inicial para 135 e esta posiciona a sirene do servo logo acima da tecla.

Defino o local ativado para 120, o que empurra o botão o suficiente para baixo para ter certeza de que está realmente ativado.

Obviamente, você terá que mexer nessas configurações para configurá-las bem para o seu teclado, é só ajustar primeiro a configuração da posição inicial, fazer o upload do esboço e examiná-lo.

Quando estiver satisfeito com a posição inicial, vá em frente e defina a posição ativada, no meu teclado está cerca de 15 graus abaixo da posição inicial. Se você alterar sua posição inicial, tente primeiro ajustar sua posição ativada para a posição inicial - 15. Faça upload para o código no D1 e veja como funciona. Não leva muito tempo para resolver isso.

A vantagem de usar o bluetack é que ele manterá o dispositivo perfeitamente no lugar depois que você tiver ajustado suas posições corretamente, mas se a posição ativada for muito baixa, ele simplesmente retirará o dispositivo de sua mesa e não causará danos.

Etapa 5: Conectando-o ao Home Assistant

Na instância do assistente doméstico, abra o arquivo em que você armazena as configurações de chave e adicione o seguinte.

- plataforma: mqtt

nome: "SEU DISPOSITIVO"

state_topic: "localização / dispositivo / status"

command_topic: "localização / dispositivo / chave"

payload_on: "ON"

payload_off: "OFF"

otimista: falso

Certifique-se de editar YOURDEVICE para algo adequado e de que os tópicos de estado / comando correspondem ao que você definiu no código ino da etapa anterior.

Agora você vai querer adicionar o dispositivo em sua configuração para que apareça na interface HA.

Eu listo todos os meus grupos e definições de grupo em configuration.yaml, então simplesmente adiciono o dispositivo ali ao longo das linhas de …

estudo: nome: Estudo

entidades:

- switch.study_pc

Verifique se sua configuração está segura inserindo

/ srv / homeassistant / bin / hass --script check_config -c /home/homeassistant/.homeassistant/

Se você não encontrar erros, reinicie o HA

systemctl restart home-assistant @ homeassistant.

Depois que tudo estiver carregado, você verá um novo botão na interface do HA que ligará ou desligará seu PC com a magia do KiKi.

PS, se você acessar uma máquina por ssh você pode ativar KiKi com wget…

wget -qO- https:// ip of kiki /? Req = 1> / dev / null

ou colocá-lo em um arquivo de script bash chamar o script, evitando que você tenha que lembrar os argumentos.

Recomendado: