Turinys:

„KiKi“klaviatūros robotas: 5 žingsniai
„KiKi“klaviatūros robotas: 5 žingsniai

Video: „KiKi“klaviatūros robotas: 5 žingsniai

Video: „KiKi“klaviatūros robotas: 5 žingsniai
Video: Sviranje na tastaturi :D (3) 2024, Liepa
Anonim
„KiKi“klaviatūros robotas
„KiKi“klaviatūros robotas

Man gana dažnai reikia prisijungti prie kompiuterio iš darbo, bet nemėgstu jo nuolat įjungti. Problema ta, kad mano senas kompiuteris nepalaiko WOL. Tačiau jį galima užmigdyti ir vėl pažadinti naudojant klaviatūros įjungimo klavišą. Tačiau namuose niekas, išskyrus šunį, įkvepia jį į gyvenimą ir taip …

Gimė „KiKi the KeyboardBot“.

Jis bus susietas su namų asistentu per MQTT ir taip pat turi labai paprastą atskirą tinklalapį, jis nėra gražus, bet atlieka darbą.

Prekės

3D spausdintuvasPLA gija

Vielos pjaustytuvai

Vielos nuėmikliai

Lituoklis

„Wemos D1 Mini“

„Micro 9G Servo“

1 veiksmas: dėklo ir servo rago prailginimo spausdinimas

Spausdinkite dėklą ir dėklą bei servo signalo ilgintuvą
Spausdinkite dėklą ir dėklą bei servo signalo ilgintuvą

Pirmiausia, atspausdindami dėklą, pateikiu SKP failą, jei norite su juo susidoroti „Sketchup“(„Maker Edition“). Aš taip pat supakavau STL failą, jei norite tiesiog įkelti jį į savo pjaustyklę ir atspausdinti nepakeistą.

Aš atspausdinau dėklą be atramų, nes pirmasis, kurį atspausdinau, buvo klaidingas jų pašalinimas, tačiau atramų trūkumas gerai veikė, buvo šiek tiek įstrigę, bet kai viskas susitvarkė.

Spausdinau, kai lovos temperatūra buvo 50, o ekstruderio temperatūra - 200, kuri buvo rekomenduojama mano naudojamam siūlui.

Kaip ir šiuo atveju, aš taip pat pateikiu SKP ir STL failus servo ragui, servo ragas man nesispausdino tinkamai, galų gale aš tiesiog nupjoviau tvirtinimo įvorę ir tiesiog priklijavau, pririšau kabeliu prie vienos iš originalių ragus, nes nekantravau tai padaryti.

2 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Nuimkite 3 kontaktų antgalį nuo „Servo“laido galo.

Iškiškite laidą per servo įdubą į korpusą ir išveskite per išėjimo angą šone.

Dabar atsargiai padėkite laidą servo šone ir padėkite jį ant korpuso, kad laidas sėdėtų servo angos viduje, įtempkite laidą ir švelniai pastumkite servo į namus, tai turėtų būti gražu priglundantis.

Apvyniokite laidą į korpuso išorėje esančią įdubą ir iškiškite per D1 Mini įdubą. Apvyniokite kabelį atgal ir vėl įkiškite atgal, kad dėkle jis atrodytų gana tvarkingas.

Įstumkite „D1 Mini“į korpusą su „WiFi“moduliu į viršų. Švinas turi būti ant modulio viršaus ir tada grįžti po PCB.

Dabar galite sumažinti servo laidą iki priimtino ilgio.

Išimkite „D1 Mini“, paspausdami jį iš priešingos PCB pusės į USB lizdą.

Kai jis pašalinamas, atskirkite, nuimkite ir išardykite tris laido laidus.

Lituokite juos prie apatinės plokštės pusės tokia tvarka.

Raudona -> 5V

Ruda -> GND

Oranžinė -> D4

Visi trys kaiščiai yra greta vienas kito, todėl lengva išlaikyti laidą tvarkingą.

Dabar švelniai sulenkite laidą po lenta link centro, kad jis būtų gražus ir plokščias, apvyniokite jį ant lentos viršaus ir švelniai stumkite lentą namo. Nespauskite D1 iki galo, palikite jį pakankamai išstumti, kad būtų lengva prijungti USB kabelį ir galėsite pasiekti atstatymo mygtuką.

Jei pavyko išspausti ragą taip, kad jis tilptų virš servo svirties, dabar jį sumontuokite taip, kad rago viršus būtų daugiau ar mažiau lygiagretus darbiniam viršui. Pritvirtinkite jį vietoje su mažu varžtu, kuris buvo pridėtas prie servo.

Jei nepavyko išspausdinti rago, nupjaukite žiedą ir pritvirtinkite prie vieno iš pateiktų ragų, super klijai ir pora mažų kabelių raiščių man padarė darbą.

3 žingsnis: mirksi

Atsisiųskite „Ino“failą į savo „arduino“projektų failą į aplanką „KiKi“.

Atidarykite failą „Arduino IDE“.

Redaguokite šias eilutes, kad atitiktų jūsų namų asistento sąranką.

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (jei pakeitėte numatytąjį prievadą)

26 const PROGMEM char* MQTT_CLIENT_ID = "Pagrindinio kompiuterio pavadinimas";

27 const PROGMEM char* MQTT_USER = "MQTTUSER";

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

„MQTT STATE“ir „COMMAND“temoms man patinka užsisakyti vietą/įrenginį/(būsena/jungiklis), tačiau galite naudoti bet kokią jums patinkančią konvenciją.

29 const char* MQTT_ROBOT_STATE_TOPIC = "vieta/kompiuteris/būsena"; const char*

30 MQTT_ROBOT_COMMAND_TOPIC = "vieta/kompiuteris/jungiklis";

Dabar redaguokite šias tolesnes eilutes, kad nustatytumėte savo įrenginio pagrindinio kompiuterio pavadinimą.

159 „wifi_station_set_hostname“(„HOSTNAME“);

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

Nustatykite visiškai kvalifikuotą MQTT serverio domeno pavadinimą.

175 „WiFi.hostByName“(„MQTTSERVER“, MQTT_SERVER_IP);

Prijunkite „D1 Mini“prie kompiuterio ir pasirinkite COM prievadą, prie kurio jis prijungtas.

Atidarykite serijos monitorių.

Įkelti failą.

Kai įkėlimas bus baigtas, patikrinkite serijinį monitorių.

Jei tai nauja plokštė, nebus jokių nustatymų ir turėsite prisijungti prie jos sukurtos belaidės prieigos taško, tada pasirinkite tinkamą belaidį tinklą ir įveskite slaptažodį.

Kai išsaugosite išsamią informaciją, ji įrašys ją į įrenginį ir pakartotinai naudos kiekvieną kartą, kai jis bus paleistas iš naujo.

Dabar jis prijungtas prie jūsų belaidžio tinklo, nuosekliajame monitoriuje matysite liniją, panašią į…

192.168.1.xxx arba koks yra jūsų tinklo diapazonas.

Jei prisijungsite prie to naudodami naršyklę, pamatysite labai paprastą tinklalapį su vienu mygtuku, kurį spustelėjus bus suaktyvinta servo svirtis.

4 žingsnis: „Servo“namų ir suaktyvintos padėties reguliavimas

Prie korpuso apačios priklijuoju didelį mėlynos spalvos gabalėlį ir priglaudžiu prie savo darbalaukio, kad servo ragas būtų virš klavišo, kurį reikia paspausti, centro.

Iš pradžių rikiuojuosi prie vieno iš kitų klavišų, o ne dėl maitinimo, nes kiekvieną kartą bandydamas kompiuteris užmigs.

Mano klaviatūrai „Logitech K260“aš nustatiau pradinę padėtį į 135 ir tai yra servo ragas tiesiai virš klavišo.

Aš nustatiau suaktyvintą vietą 120, kuri nuspaudžia mygtuką pakankamai toli žemyn, kad įsitikintų, jog ji iš tikrųjų suaktyvinta.

Akivaizdu, kad turėsite rūpintis šiais nustatymais, kad jie būtų gerai nustatyti jūsų klaviatūrai, tereikia iš pradžių pakoreguoti pagrindinės padėties nustatymą, įkelti eskizą ir jį pamatyti.

Kai būsite patenkinti pradine padėtimi, eikite į priekį ir nustatykite suaktyvintą padėtį, mano klaviatūrai ji yra maždaug 15 laipsnių žemyn nuo pradinės padėties. Jei pakeisite pradinę padėtį, pirmiausia pabandykite sureguliuoti aktyvuotą padėtį į pradinę padėtį - 15. Įkelkite kodą į D1 ir pažiūrėkite, kaip tai veikia. Visai neužima daug laiko, kad ją išspręstumėte.

„Bluetack“naudojimo pranašumas yra tas, kad jis tinkamai išlaikys prietaisą, kai tinkamai sureguliuosite savo pozicijas, tačiau jei suaktyvinta padėtis yra per žema, prietaisas tiesiog nukris nuo jūsų stalo ir nepakenks.

5 veiksmas: prijunkite jį prie namų asistento

Namų asistento egzemplioriuje atidarykite failą, kuriame saugote jungiklio nustatymus, ir pridėkite šiuos dalykus.

- platforma: mqtt

pavadinimas: „YOURDEVICE“

state_topic: "vieta/įrenginys/būsena"

command_topic: "vieta/įrenginys/jungiklis"

payload_on: "ĮJUNGTA"

payload_off: "IŠJUNGTA"

optimistas: melas

Įsitikinkite, kad redaguojate „YOURDEVICE“į kažką tinkamo ir kad būsenos/komandų temos atitinka tai, ką nustatėte ankstesniame žingsnyje.

Dabar norėsite pridėti įrenginį prie savo konfigūracijos, kad jis būtų rodomas HA sąsajoje.

Aš išvardinu visas savo grupes ir konfigūracijos grupių apibrėžimus. Yaml, todėl tiesiog pridėkite įrenginį ten, kaip nurodyta…

tyrimas: pavadinimas: studija

subjektai:

- jungiklis.study_pc

Įvesdami patikrinkite, ar konfigūracija saugi

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

Jei nematote klaidų, paleiskite HA iš naujo

systemctl iš naujo paleiskite namų asistentą@homeassistant.

Kai viskas bus įkelta, HA sąsajoje turėtumėte pamatyti naują mygtuką, kuris įjungs arba išjungs jūsų kompiuterį per „KiKi“magiją.

PS, jei prieinate prie mašinos per ssh, galite suaktyvinti „KiKi“naudodami „wget“…

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

arba įklijuokite jį į „bash“scenarijaus failą, iškviesdami scenarijų, taupydami, kad turite prisiminti argumentus.

Rekomenduojamas: