Sadržaj:

KiKi tastaturni bot: 5 koraka
KiKi tastaturni bot: 5 koraka

Video: KiKi tastaturni bot: 5 koraka

Video: KiKi tastaturni bot: 5 koraka
Video: 😱BLACK LADYBUG -TIKKI AKUMATIZED 10! 🔴LADYBUG MIRACULOUS 4|🐞 Ladybug and Cat Noir/ Леди Баг(FanMade) 2024, Novembar
Anonim
KiKi Bot za tastaturu
KiKi Bot za tastaturu

Često moram da se povežem sa računarom sa posla, ali ne volim da ga ostavljam stalno uključenog. Problem je u tome što moj stari računar ne podržava WOL. Međutim, može se uspavati i probuditi pomoću tipke za uključivanje na tastaturi. Međutim, nema nikoga kod kuće osim psa koji će ga pokrenuti u život i tako …

KiKi KeyboardBot je rođen.

Povezivat će se s kućnim pomoćnikom preko MQTT -a, a ima i vrlo jednostavnu samostalnu web stranicu, nije lijepa, ali posao se obavi.

Supplies

3D štampačPLA filament

Rezači žice

Strojevi za skidanje žice

Lemilica

Wemos D1 Mini

Mikro 9G servo

Korak 1: Odštampajte kućište i proširenje servo trube

Štampanje kućišta Kućište i proširenje servo trube
Štampanje kućišta Kućište i proširenje servo trube

Za početak odštampajte kućište, dajem SKP datoteku ako želite da se pozabavite njome u Sketchupu (Maker Edition). Takođe sam upakovao STL datoteku ako samo želite da je učitate u rezač i odštampate bez izmena.

Odštampao sam kućište bez oslonaca jer je prvi koji sam odštampao bio smetnja za njihovo uklanjanje, međutim, nedostatak nosača je dobro funkcionisao, bilo je sitnog ulegnuća, ali kad se sve dobro namestilo.

Štampao sam sa temperaturom kreveta od 50 i temperaturom ekstrudera od 200 što je bila preporuka za filament koji sam koristio.

Kao i u slučaju, također isporučujem SKP i STL datoteke za servo -trubu, servo -truba se za mene nije pravilno ispisala, na kraju sam samo odrezao montažnu nastavku i samo je zalijepio, kabel pričvrstio na jednu od originalnih rogovi jer sam bio nestrpljiv da ovo uspije.

Korak 2: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Uklonite zaglavlje sa 3 pina sa kraja servo provodnika.

Provucite elektrodu kroz servo udubljenje u kućištu i izvucite je kroz izlaznu rupu sa strane.

Sada pažljivo položite elektrodu sa strane serva i postavite je preko kućišta tako da će elektroda sjediti u udubljenju unutar rupe za servo, čvrsto povući elektrodu i lagano gurnuti servo kućište, trebalo bi biti lijepo snug fit.

Obucite olovo u udubljenje na vanjskoj strani kućišta i probodite ga kroz udubljenje za D1 Mini. Zarolajte kabel i vratite ga nazad tako da izgleda prilično uredno u kućištu.

Gurnite D1 Mini u njegovo kućište s WiFi modulom prema vrhu. Elektroda bi trebala sjediti preko vrha modula, a zatim se vratiti nazad ispod PCB -a.

Sada možete izrezati servo kabl na prihvatljivu dužinu.

Uklonite D1 Mini gurajući ga sa suprotne strane PCB -a prema USB utičnici.

Kada se ukloni, odvojite, ogolite i oplemenite tri žice elektrode.

Lemite ih na donju stranu štampane ploče sledećim redosledom.

Crvena -> 5V

Smeđa -> GND

Narančasta -> D4

Sve tri igle su susjedne jedna drugoj, pa je olovku lako održavati urednom.

Sada lagano preklopite elektrodu ispod ploče prema sredini držeći je lijepom i ravnom, prevrnite je po vrhu ploče i nježno gurnite ploču prema kući. Ne gurajte D1 do kraja, ostavite ga da viri dovoljno daleko kako bi bilo lako priključiti USB kabel i doći ćete do gumba za resetiranje.

Ako ste uspjeli otisnuti trubu tako da stane preko čepa na servo, sada je postavite tako da vrh trube bude više -manje paralelan s radnom površinom. Pričvrstite ga malim vijkom koji ste dobili uz servo.

Ako niste mogli odštampati trubu, odrežite uložak i pričvrstite ga na jednu od isporučenih sirena, super ljepilo i nekoliko malih kabelskih vezica obavili su posao umjesto mene.

Korak 3: Treperi

Učitajte ino datoteku u datoteku svojih arduino projekata u mapu zvanu KiKi.

Otvorite datoteku u Arduino IDE -u.

Uredite sljedeće redove tako da odgovaraju postavkama vašeg kućnog pomoćnika.

25 const PROGMEM uint16_t MQTT_SERVER_PORT = 1883; (ako ste promijenili zadani port)

26 const PROGMEM char* MQTT_CLIENT_ID = "Ime hosta";

27 const PROGMEM char* MQTT_USER = "MQTTUSER";

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

Za teme MQTT STATE i COMMAND volim naručiti lokaciju/uređaj/(status/prekidač), ali možete koristiti bilo koju konvenciju koja vam se sviđa.

29 const char* MQTT_ROBOT_STATE_TOPIC = "lokacija/kom/status"; const char*

30 MQTT_ROBOT_COMMAND_TOPIC = "lokacija/kom/prekidač";

Sada uredite ove daljnje redove kako biste postavili naziv hosta svojih uređaja.

159 wifi_station_set_hostname ("HOSTNAME");

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

Postavite Potpuno kvalificirano ime domene vašeg MQTT poslužitelja.

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

Priključite D1 Mini u računalo i odaberite COM port na koji je montiran.

Otvorite serijski monitor.

Otpremite datoteku.

Nakon što se učitavanje završi, provjerite serijski monitor.

Ako se radi o novoj ploči, neće biti postavki i morat ćete se povezati s bežičnom pristupnom tačkom koju stvara, zatim odaberite ispravnu bežičnu mrežu i unesite lozinku.

Kada podatke spremite natrag, zapisat će ih na uređaj i ponovo ih koristiti svaki put pri ponovnom pokretanju.

Sada je spojen na vašu bežičnu mrežu, vidjet ćete na serijskom monitoru liniju sličnu…

192.168.1.xxx ili bilo koji domet vaše mreže.

Ako se na ovo povežete pomoću preglednika, vidjet ćete vrlo jednostavnu web stranicu s jednim gumbom koja će, kada se pritisne, aktivirati servo krak.

Korak 4: Podešavanje početnog i aktiviranog položaja serva

Zalijepim veliki komad bluetacka na donju stranu kućišta, a zatim ga izbacujem na radnu površinu tako da servo truba sjedi iznad središta tipke koju treba pritisnuti.

U početku poredam jedan od drugih tastera, a ne taster za napajanje, jer svaki put kada ga testiram, računar će se uspavati.

Za moju tastaturu, Logitech K260, postavio sam početni položaj na 135, a ovaj nalazi servo trubu tik iznad tastera.

Aktiviranu lokaciju postavio sam na 120, koja gura gumb dovoljno daleko prema dolje kako bi bila sigurna da je aktiviran.

Očigledno ćete se morati pozabaviti ovim postavkama da biste ih lijepo postavili na tastaturi, samo je slučaj da prvo prilagodite postavku početnog položaja, otpremite skicu i pogledate je.

Kad budete zadovoljni početnom pozicijom, nastavite s aktiviranim položajem, jer se moja tastatura otprilike 15 stepeni spušta od početne pozicije. Ako promijenite svoj početni položaj, pokušajte prije svega podesiti aktivirani položaj u početni - 15. Otpremite u kod na D1 i pogledajte kako to funkcionira. Uopće ne treba puno vremena da se to riješi.

Prednost korištenja bluetacka je u tome što će uređaj savršeno držati uređaj na mjestu nakon što ste pravilno namjestili svoje položaje, ali ako je aktivirani položaj prenizak, jednostavno će izvaditi uređaj sa vašeg stola i neće ga oštetiti.

Korak 5: Povežite ga s kućnim pomoćnikom

Na instanci kućnog pomoćnika otvorite datoteku u koju spremate postavke prekidača i dodajte sljedeće.

- platforma: mqtt

naziv: "VAŠ UREĐAJ"

state_topic: "lokacija/uređaj/status"

command_topic: "lokacija/uređaj/prekidač"

payload_on: "ON"

payload_off: "OFF"

optimistično: netačno

Pobrinite se da uredite SVOJ UREĐAJ u nešto prikladno i da se stanje/teme naredbi podudaraju s onim što ste postavili u ino kodu iz prethodnog koraka.

Sada ćete htjeti dodati uređaj u svoju konfiguraciju tako da se pojavi na HA sučelju.

Navodim sve svoje grupe i njihove definicije u configuration.yaml pa jednostavno dodajte uređaj tamo u skladu sa…

studija: naziv: Studija

entiteti:

- switch.study_pc

Upisom provjerite je li vaša konfiguracija sigurna

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

Ako ne vidite greške, nastavite i ponovo pokrenite HA

systemctl restart home-assistant@homeassistant.

Nakon što se sve učitalo, trebali biste vidjeti novo dugme na vašem HA sučelju koje će uključiti ili isključiti vaš računar pomoću čarolije KiKi -a.

PS, ako mašini pristupate putem ssh -a, možete aktivirati KiKi pomoću wget -a …

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

ili ga umetnite u bash datoteku skripte, pozovite skriptu, spremajući pamćenje argumenata.

Preporučuje se: