Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Dost často se z práce potřebuji připojit k PC, ale nerad to nechávám stále zapnuté. Problém je v tom, že můj starý počítač nepodporuje WOL. Lze jej však uspat a probudit zpět pomocí vypínače na klávesnici. Nicméně s nikým doma, kromě psa, aby ho probudil k životu, a tak…
Zrodil se KiKi the KeyboardBot.
Připojí se k domácímu asistentovi přes MQTT a má také vestavěnou velmi jednoduchou samostatnou webovou stránku, není to hezké, ale práci zvládne.
Zásoby
Filament 3D PrinterPLA
Nůžky na drát
Odizolovače drátu
Páječka
Wemos D1 Mini
Servo Micro 9G
Krok 1: Tisk pouzdra, pouzdra a rozšíření servo houkačky
Nejprve začněte vytištěním případu, poskytnu soubor SKP, pokud si s ním budete chtít pohrát v aplikaci Sketchup (Maker Edition). Zabalil jsem také soubor STL, pokud chcete pokračovat a načíst jej do svého sliceru a nechat jej bez úprav vytisknout.
Vytiskl jsem případ bez podpěr, protože první, který jsem vytiskl, byl bugger, který je odstranil, nedostatek podpor fungoval dobře, došlo k malému prověšení, ale jakmile bylo vše v pořádku.
Tiskl jsem s teplotou postele 50 a teplotou extruderu 200, což bylo doporučeno pro vlákno, které jsem používal.
Stejně jako v případě, že pro servo houkačku poskytuji také soubory SKP a STL, servo houkačka se mi netiskla správně, nakonec jsem pouze odřízl montážní objímku a jen nalepil, kabel ji přivázal na jeden z původních byl jsem netrpělivý, aby to fungovalo.
Krok 2: Sestavení
Odstraňte 3kolíkovou hlavičku z konce vedení Servo.
Propíchněte vedení skrz vybrání serva v pouzdře a ven výstupním otvorem na boku.
Nyní opatrně položte olovo po straně serva a nasaďte jej na pouzdro tak, aby vodítko sedělo ve vybrání uvnitř otvoru pro servo, pevně zatáhněte za vodítko a jemně zatlačte servo domů, mělo by to být pěkné přiléhavý střih.
Ořízněte olovo do výklenku na vnější straně pouzdra a prostrčte jej výklenkem pro D1 Mini. Přetáhněte kabel zpět a znovu ho strčte zpět, aby v kufříku vypadal docela uklizený.
Zasuňte D1 Mini do jeho krytu pomocí modulu WiFi nahoru. Elektroda by měla sedět nad horní částí modulu a poté se vrátit zpět pod desku plošných spojů.
Nyní můžete odstřihnout přívodní vedení na přijatelnou délku.
Vyjměte D1 Mini zatlačením z opačné strany desky plošných spojů do zásuvky USB.
Jakmile je odstraněn, oddělte, odizolujte a pocínujte tři vodiče elektrody.
Pájejte je na spodní stranu desky plošných spojů v následujícím pořadí.
Červená -> 5V
Hnědá -> GND
Oranžová -> D4
Všechny tři kolíky sousedí jeden s druhým, takže je snadné udržet olovo v pořádku.
Nyní jemně složte olovo pod deskou směrem do středu, aby bylo hezké a ploché, přejeďte ho přes horní část desky a jemně zasuňte desku domů. Netlačte D1 úplně dovnitř, nechte jej dostatečně vystrčit, aby bylo snadné zapojit USB kabel a dostat se k resetovacímu tlačítku.
Pokud se vám podařilo vytisknout roh, aby se vešel přes hřídel na servu, nasaďte jej nyní tak, aby byl horní roh rohu víceméně rovnoběžný s pracovní deskou. Opravte jej na místě malým šroubem, který byl dodán se servem.
Pokud se vám nepodařilo vytisknout roh, odřízněte koncovku a připevněte ji k jednomu z dodaných rohů, super lepidlo a pár malých kabelových pásek to udělalo za mě.
Krok 3: Bliká
Stáhněte soubor ino do souboru projektů arduino do složky s názvem KiKi.
Otevřete soubor v Arduino IDE.
Upravte následující řádky, aby vyhovovaly vašemu nastavení Home Assistant..
25 konst PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (pokud jste změnili výchozí port)
26 konst PROGMEM char* MQTT_CLIENT_ID = "Název hostitele";
27 konst PROGMEM char* MQTT_USER = "MQTTUSER";
28 konst PROGMEM char* 28 MQTT_PASSWORD = "MQTTPASS";
Pro témata MQTT STATE a COMMAND bych rád objednal umístění/zařízení/(stav/přepínač), ale můžete použít jakoukoli konvenci, která se vám líbí.
29 const char* MQTT_ROBOT_STATE_TOPIC = "umístění/pc/stav"; konstantní znak*
30 MQTT_ROBOT_COMMAND_TOPIC = "umístění/pc/přepínač";
Nyní upravte tyto další řádky a nastavte název hostitele zařízení.
159 wifi_station_set_hostname („HOSTNAME“);
169 if (! WifiManager.autoConnect ("HOSTNAME")) {
Nastavte plně kvalifikovaný název domény vašeho serveru MQTT.
175 WiFi.hostByName ("MQTTSERVER", MQTT_SERVER_IP);
Připojte D1 Mini k počítači a vyberte COM port, na kterém je připojen.
Otevřete Sériový monitor.
Nahrajte soubor.
Jakmile je nahrávání dokončeno, zkontrolujte sériový monitor.
Pokud se jedná o novou desku, nebude existovat žádné nastavení a budete se muset připojit k bezdrátovému přístupovému bodu, který vytvoří, poté vyberte správnou bezdrátovou síť a zadejte heslo.
Když podrobnosti uložíte zpět, zapíše je do zařízení a použije je znovu při každém restartu.
Nyní je připojen k vaší bezdrátové síti, na sériovém monitoru uvidíte řádek podobný …
192.168.1.xxx nebo jaký je dosah vaší sítě.
Pokud se k tomu připojíte pomocí prohlížeče, zobrazí se vám velmi jednoduchá webová stránka s jediným tlačítkem, které po kliknutí aktivuje rameno serva.
Krok 4: Úprava domovské polohy serva a aktivované polohy
Přilepím velkou hrudku bluetacku na spodní stranu pouzdra a poté ji rozmačkám na plochu, aby servo roh seděl nad středem klávesy, která má být stisknuta.
Zpočátku jsem seřadil na jeden z dalších klíčů, ne na ten napájecí, protože pokaždé, když testuji, přepne počítač do režimu spánku.
Pro moji klávesnici Logitech K260 jsem nastavil výchozí pozici na 135 a to sedí na servo houkačku těsně nad klávesou.
Aktivované umístění jsem nastavil na 120, což tlačí tlačítko dostatečně dolů, aby se ujistil, že je skutečně aktivováno.
Očividně budete muset pohrávat s těmito nastaveními, aby byla pěkně nastavena pro vaši klávesnici, je to jen případ úpravy nastavení výchozí polohy, nahrání náčrtu a oční bulvy.
Jakmile budete spokojeni s výchozí polohou, pokračujte a nastavte aktivovanou polohu, pro moji klávesnici je to asi 15 stupňů dolů z výchozí polohy. Pokud změníte svou výchozí polohu, zkuste nejprve upravit aktivovanou polohu na výchozí pozici - 15. Nahrajte kód do D1 a uvidíte, jak to funguje. Vypracování nezabere vůbec mnoho času.
Výhoda používání bluetacku spočívá v tom, že po správném nastavení poloh udrží zařízení perfektně na svém místě, ale pokud je aktivovaná poloha příliš nízká, zařízení jednoduše vyskočí ze stolu a nepoškodí.
Krok 5: Zapojení do Home Assistant
Na instanci vašeho domácího asistenta otevřete soubor, do kterého uložíte nastavení přepínačů, a přidejte následující.
- platforma: mqtt
název: "VAŠE ZAŘÍZENÍ"
state_topic: "poloha/zařízení/stav"
command_topic: "umístění/zařízení/přepínač"
payload_on: "ON"
payload_off: "VYPNUTO"
optimistický: nepravdivý
Ujistěte se, že upravujete SVÉ ZAŘÍZENÍ na něco vhodného a že témata stavu/příkazu odpovídají tomu, co jste nastavili v ino kódu z předchozího kroku.
Nyní budete chtít přidat zařízení do své konfigurace, aby se zobrazovalo na rozhraní HA.
Uvádím všechny své skupiny a definice skupin v konfiguraci.yaml, takže tam jednoduše přidejte zařízení podle …
studie: název: Studie
entity:
- switch.study_pc
Zadáním zkontrolujte, zda je vaše konfigurace v bezpečí
/srv/homeassistant/bin/hass --script check_config -c /home/homeassistant/.homeassistant/
Pokud nevidíte žádné chyby, pokračujte a restartujte HA
systemctl restart home-assistant@homeassistant.
Jakmile se vše načte, měli byste na svém rozhraní HA vidět nové tlačítko, které zapne nebo vypne počítač pomocí kouzla KiKi.
PS, pokud přistupujete k počítači přes ssh, můžete aktivovat KiKi pomocí wget…
wget -qO- https:// ip kiki/? Req = 1>/dev/null
nebo jej vložte do souboru skriptu bash, zavolejte skript, ušetříte si nutnost pamatovat si argumenty.