Jednostavan prekidač za računalne konzole koji koristi tranzistor i relej (KVM prekidač). Potpuna kontrola - KVM preko IP preklopnika Pokrenite uživo

Nokia 31.07.2021
Nokia

I tako počnimo, za firmware će vam trebati uslužni program proizvođača koji se zove Flip. Preuzimamo, instaliramo, pokrećemo i evo prozora programa ispred nas:

U početku gumbi (potvrdni okviri) nisu aktivni, to je normalno, povezujemo Arduino s računalom i zatvaramo - otvaramo dva vanjska kontakta sa strane USB priključka, RESET i GND.

U sustavu bi se trebao pojaviti novi uređaj koji se zove, čudno, ATmega16u2, instalirajte upravljački program (u mapi s programom), odaberite “Postavke” > “Komunikacija” > “USB” > karticu “otvori” u programu za prebacivanje, gumbi bi trebali postati aktivni. Za svaki slučaj možete napraviti sigurnosnu kopiju firmwarea kako bi se sve moglo vratiti na svoje mjesto. U izborniku “Datoteka” kliknite “Učitaj HEX datoteku”, program je izbirljiv u pogledu putanja, najbolje je staviti firmware datoteku u korijen pogona C:, odaberite željenu heksadecimalnu datoteku s firmverom, provjerite je li Označeni su potvrdni okviri “Erase”, “Program”, “Verify” i kliknite “Run”. Odspojimo - spojimo arduino i voila... Sada više ne možemo preuzeti firmware na arduino preko ugrađenog USB-a, ali smo dobili odličnu tipkovnicu bez tipki.

Ne brinite o arduino firmware-u, firmware se može učitati iz Arduino IDE putem zasebnog USB-TTL adaptera, iako se mora reći da će to sada biti manje praktično.

Spojimo USB na TTL adapter, na primjer ovo:

Trebat će nam bijeli, zeleni i crni kontakti su RX, TX i GND redom, spajamo ih na pinove s istim oznakama na Arduinu, samo obrnuto RX na TX i TX na RX. Crveni kontakt se ne smije koristiti!

Spojimo USB na TTL na računalo, instaliramo upravljačke programe, novi COM port bi se trebao pojaviti u upravitelju uređaja. Otvorite arduino IDE i postavite: Ploča - Arduino/Genuino Uno, Port - naš novokreirani serijski port.

Započnimo s arduino firmwareom

Dodajmo potrebnu biblioteku u arduino IDE: Idite na poveznicu github.com/SFE-Chris/UNO-HIDKeyboard-Library i kliknite “Kloniraj ili preuzmi” > “Preuzmi ZIP”. zatim u arduino IDE odaberite karticu “Sketch” > “Connect library” > “Add.ZIP library” i odaberite zip arhivu koju ste upravo preuzeli.

Pripreme su završene, prijeđimo izravno na firmware. Kopirajmo moje pisanje:

Arduino - Skica

#uključi tipkovnica HIDKeyboard; int zbirka; void setup() ( keyboard.begin(); ) void loop() ( while (Serial.available()) (//pokretanje petlje kada se podaci pojave sbor += Serial.read();//čitanje podataka, dodavanje decimalni oblik if (sbor == 27)(//izgled simbola kontrolne sekvence za (int i=0; i<=4; i++){//сложение последовательности if (sbor == 165) {//для определения F1-F12 на разных терминалах могут быть разные значения sbor += sbor; } sbor += Serial.read(); delay(1); } } } if (sbor >0). ); break ; case 508: keyboard.pressSpecialKey(F4); break; case 509: keyboard.pressSpecialKey(F5); break; case 511: keyboard.pressSpecialKey(F6); break; case 512: keyboard.pressSpecialKey(F7); break; case 513: keyboard.pressSpecialKey(F8); break; case 340: keyboard.pressSpecialKey(F9); break; case 341: keyboard.pressSpecialKey(F10); break; case 343: keyboard.pressSpecialKey(F11); break; case 344: keyboard.pressSpecialKey(F12); break; case 13: keyboard.pressSpecialKey(ENTER); break; case 22: keyboard.pressSpecialKey(ESCAPE); break; case 127: keyboard.pressSpecialKey(BACKSPACE); break; case 9 : tipkovnica. pressSpecialKey(TAB); break; case 32: keyboard.pressSpecialKey(SPACEBAR); break; case 26: keyboard.pressSpecialKey(PAUSE); break; case 292: keyboard.pressSpecialKey(INSERT); pauza; case 456: keyboard.pressSpecialKey(HOME); pauza; case 295: tipkovnica.pressSpecialKey(PAGEUP); pauza; case 294: tipkovnica.pressSpecialKey(END); pauza; case 296: keyboard.pressSpecialKey(PAGEDOWN); pauza; case 182: keyboard.pressSpecialKey(RIGHTARROW); pauza; case 183: keyboard.pressSpecialKey(LEFTARROW); pauza; case 181: keyboard.pressSpecialKey(DOWNARROW); pauza; case 180: tipkovnica.pressSpecialKey(UPARROW); pauza; case 293: tipkovnica.pressSpecialKey(DELETE); pauza; case 320: tipkovnica.pressSpecialKey((CTRL | ALT), DELETE); pauza; //za poziv ctl+alt+del pritisnite alt + del case 346: keyboard.pressSpecialKey(ALT, F4); pauza; //za poziv alt+f4 pritisnite shift + F4 default: keyboard.pressKey(sbor); pauza; ) //Serial.println(sbor);//samo za ispravljanje pogrešaka bez spajanja na USB tipkovnicu.releaseKey(); sbor = NULL; ) )


umetnite ga u arduino IDE i pritisnite gumb za testiranje. Sada počinje najvažnija faza, ovdje je najvažnije iskoristiti trenutak, malo tko uspije iz prve. Pritisnemo gumb za preuzimanje u arduino IDE, pojavit će se prve bijele linije s zapisnikom kompilacije, a zatim narančaste, ovo već uspostavlja vezu sa serijskim priključkom, ovaj trenutak se mora uhvatiti i imati vremena pritisnuti tipku RESET na arduino ploči. Firmware bi se trebao učitati, ako je sve uspješno, vidjet ćete poruku poput ove

Avrdude: čitanje flash podataka na čipu: Čitanje | ##################################################### | 100% 0,34 s avrdude: provjera ... avrdude: 2934 bajta flasha potvrđeno avrdude gotovo. Hvala vam.
Ako nakon nekoliko pokušaja ne dođe do preuzimanja firmvera, pokušajte zamijeniti pinove RX i TX i također provjerite je li pin GND dobro spojen.

Cilj

Otvorite konzolu na Raspberry i napišite:

Sudo raspi-config
Otvorit će se izbornik postavki Spreadberry, odaberite “Napredne opcije” > “Serijski” i odaberite “Ne”.

Možda ove manipulacije neće biti potrebne, dakle, reosiguranje. Ovaj parametar određuje hoće li Raspberry OS komunicirati sa serijskim portom, ova interakcija je uglavnom potrebna za otklanjanje pogrešaka, stoga je slobodno isključite, samo će nas ometati, jer Komunicirat ćemo s Arduinom kroz ovaj priključak, a sustav će začepiti zračne valove.

Instalirajte minicom program.

Minicom je jednostavan program za rad sa serijskim portom.

Sudo apt-get install minicom -y
Postavljamo prava pristupa uređaju, /dev/ttyAMA0 je isti serijski port.

Sudo chown pi /dev/ttyAMA0 sudo chmod 744 /dev/ttyAMA0
Pokreni minicom:

Sudo minicom -s
Otvorit će se izbornik programa, odaberite stavku "Serial port setup", otvorit će se drugi izbornik, odaberite "Serial Device" pritiskom na tipku A, unesite /dev/ttyAMA0, pritisnite Enter, zatim odaberite stavku Bps/Par/Bits pod slovo E, sljedeći se pojavljuje izbornik, pritisnite C i Q linija Current: trebala bi izgledati ovako "9600 8N1" pritisnite Enter. Uvjerimo se da u redovima F - Hardverska kontrola protoka: i G - Softverska kontrola protoka: postoji Ne, općenito bi sve trebalo biti kao na snimci zaslona u nastavku, pritisnite Enter.

Spremimo ove postavke kao zadane postavke "Spremi postavke kao dfl" i zatvorimo "Izlaz iz Minicoma".

Veza

Idemo dalje, sad imamo skoro sve spremno, preostaje samo spojiti Arduino na raspberry serijski port, otprilike ovako:

Ovdje postoji jedna točka, Arduino i Raspberry imaju različite razine napona i u teoriji ih je potrebno uskladiti, savjetujem vam da pročitate članak.

Iako je kod mene sve radilo izravno bez koordinacije, ne biste trebali imitirati loš primjer i kupiti pretvarač logičke razine; najjednostavniji izgleda ovako:

Ili barem sastavite razdjelnik napona pomoću otpornika.

Pokreni

Sve je spremno, možete početi.

Provjeravamo sve veze, uključujemo raspberry pi, idemo na raspberry konzolu, pokrećemo minicom. Odmah da rezerviram: povezao sam se na raspberry preko ssh-a, koristeći KiTTY (modificiranu verziju PuTTY-ja) kao klijenta, ovo je važno jer s drugim terminalima, vrijednosti prenesenih ključeva mogu biti različite i, sukladno tome, bit će potrebno uzeti u obzir vjetar - promijeniti broj prijelaza slučaja prekidača.

Općenito, predajem vam, kako kažu, "kakav jest." Pa, pretpostavljam da ću završiti ovdje, domaći IP KVM je spreman.

p.s.

Na kraju ću opisati što se dogodilo u donjem redu.

Prednosti:

- Cijena
- Pokazalo se da je uređaj relativno jeftin
- Raspberry Pi: približno 2700 rub.
- Arduino UNO: približno 400 rubalja.
- VGA u AV pretvarač: približno 700 rub.
- Kartica za video snimanje: 500 rub.
- Ukupno: 4300 rub.

- Fino podešavanje
Možete presresti gotovo bilo koju kombinaciju i dodijeliti im gotovo sve tipke, uključujući KEYBOARDPOWER i VOLUMEUP; usput, možete pogledati moguće vrijednosti u datoteci zaglavlja HIDKeyboard.h ili možete dodati vlastitu.

minusi:

- Kočenje i video i klik prijenosa
- Drugi i najveći je kvaliteta slike, ovdje vam samo treba tužni emotikon, to je strašno, čak i ako smanjite rezoluciju na ciljanom računalu na minimum, najviše što možete učiniti je konfigurirati BIOS i odabrati opciju u bootloaderu. Ali nije li tome zapravo KVM?.. A za sve ostalo postoji radmin i slično.

Ako već duže vrijeme koristite osobno računalo, tada morate povremeno ažurirati ne samo softver, već i hardver, odnosno samo računalo. Što učiniti sa starim? Pogotovo ako je sve što ostaje sistemska jedinica (monitor se "preselio" na novi). “486DX33”, kupljen prije deset godina, koji je tada bio najnovije dostignuće tehnologije, danas je nemoguće prodati.

Da, šteta, jer je tijekom svog dugog (po računalnim standardima) života uspio nabaviti programatore mikrokontrolera i EEPROM-ove; na njemu su instalirani (i dobro rade) razni amaterski radio i radiotehnički programi. Samo što nije pogodan za rad na internetu (zato je kupljen novi).

Instalacija cijele ove "arhitekture" na novi je problematična - nema dovoljno COM i LPT portova (stari je imao tri COM i dva LPT), a ništa od stare periferije ne može raditi s USB portovima novog. Stoga je odlučeno zadržati dvije sistemske jedinice i dva miša.

I prebacivanje između monitora i tipkovnice. Štoviše, u te svrhe postoje (odvratni, kako se pokazalo) prekidači na radnom mjestu u prodaji.

Kupljeni mehanički prekidač radne stanice "Maxtro" radio je ne više od mjesec dana. Tada su krenuli trikovi - tipkovnica nije radila ispravno ili monitor nije imao sve boje. Morate stalno pomicati njegovu ručku, gurati ga, kako biste uhvatili trenutak kada će sve raditi normalno.

Nakon mnogo muka s njim, odlučeno je napraviti domaći prekidač radnih mjesta, ali ne na tajvanskom "galetniku", čiji su se kontakti jednostavno ljuštili, već na sovjetskim relejima RES-22, kojima se upravlja s dva gumba.

Začudo, Maxtro je prebacio sve kontakte konektora tipkovnice i monitora, zbog čega je imao toliko kontakata. Zapravo, za takvo prebacivanje dovoljno je sedam grupa kontakata, jer se svi "GND-ovi" mogu spojiti zajedno, a napajanje tipkovnice može se prebaciti s dvije diode. Svaki RES-22 ima četiri kontaktne grupe, dakle, ostaje čak jedna od njih, koja se može koristiti za upravljanje samim relejima (učinak okidanja releja).

Shematski dijagram

Sklop je napravljen tako da prepoznaje uključeno računalo 2 po +5 V naponu napajanja koji se dovodi na tipkovnicu. Ako uključite računalo 2, tada će +5V napon teći kroz kondenzator C2 do baze tranzistora VT1, koji će se otvoriti i uključiti relej.

Samozaključavajući je sa slobodnom kontakt grupom K1.4 i nakon završetka punjenja, C2 će ostati uključen. U ovom stanju, tipkovnica i monitor će se prebaciti na računalo 2. U stanju bez napona, tipkovnica i monitor će se prebaciti na staro računalo 1.

Riža. 1. Shematski dijagram konzolne sklopke.

Svi dijelovi su sastavljeni u željeznom kućištu s prekidača "Maxtro". "Miševi" se koriste posebno za svako računalo. Switch se napaja mrežnim adapterom s neispravnog pisača.

Problem prebacivanja pisača između dva računala riješen je drugačije. Printer (Samsung 1210) ima dva priključka - LPT i USB. LPT priključak je spojen na staru sistemsku jedinicu, a USB priključak na novi.

Dolaskom širokopojasnog interneta u urede postala je moguća potpuna udaljena administracija. Zahvaljujući ovoj tehnologiji, uslužne organizacije uspjele su značajno smanjiti vrijeme odgovora na zahtjev klijenta, a administratori sustava mogli su pružiti podršku čak i izvan ureda. Ali alati za udaljenu administraciju rade tek nakon pokretanja OS-a, ako je to iz nekog razloga nemoguće, bit će potrebna fizička prisutnost stručnjaka. KVM over IP preklopnici mogu riješiti ovaj problem.

Svi administratori vjerojatno znaju što su KVM preklopnici; ovo je uređaj koji vam omogućuje korištenje jedne konzole (monitor, tipkovnica i miš) za upravljanje nekoliko računala. KVM prekidači mogu biti jednostavni poput onih dizajniranih za osobnu upotrebu:

Tako i za montažu u stalak, podržavajući kaskadno spajanje i omogućujući vam upravljanje velikim brojem poslužitelja odjednom (do nekoliko stotina) s jednog mjesta:

Ono što se u ovoj tvrtki ističe su KVM over IP preklopnici koji omogućuju pristup PC konzoli s bilo kojeg mjesta putem TCP/IP protokola. Dugo vremena su se ovi uređaji smatrali "luksuznim predmetima", ali nedavno su se na tržištu pojavile ponude po prilično razumnim cijenama, što ih čini prilično pristupačnim za male organizacije.

Pogledajmo mogućnosti KVM preko IP preklopnika na primjeru ATEN ALTUSEN KH1508i košta 727 USD. Osim atraktivne cijene, ovaj uređaj omogućuje kontrolu do 256 računala (pri kaskadnom preklopniku), podržava PC, Mac, Sun platforme, veze s računalom putem PS/2 i USB-a.

Prekidač je izrađen u formatu 1U i može se montirati u stalak. Prednja ploča sadrži tipke za prebacivanje izlaza, indikator aktivnog priključka, konektor za ažuriranje firmvera, indikator napajanja i tipku Reset.

Još jedna značajka preklopnika je korištenje upletene parice UTP 5e za povezivanje upravljanih računala, što im omogućuje postavljanje na udaljenosti do 40 m. Sada nema problema s povezivanjem poslužitelja koji se nalaze u susjednom stalku (ili na podu dolje) i nema potrebe razbijati glavu kupnjom i polaganjem skupih specijaliziranih kabela. Konektori za spajanje kontroliranih računala, mreže, slave preklopnika i konzole nalaze se na stražnjoj strani preklopnika:

Za povezivanje upravljanih računala koriste se klijentski moduli koji emuliraju potrebne periferne uređaje. Emulaciju izvodi izravno modul, bez obzira na prisutnost upravljačkog uređaja. To znači da ako zaboravite uključiti prekidač, vaša upravljana računala će i dalje detektirati vašu tipkovnicu, miša i monitor kada se podignu i nećete ih morati ponovno pokrenuti da biste dobili pristup.

Proizvođač nudi širok izbor klijentskih modula za upravljanje računalima različitih platformi; dvije vrste klijentskih modula dostupne su za osobna računala: KA9520 (PS/2) i KA9570 (USB) po cijeni od 71 USD. Svaki modul je kontroler s RJ-45 sučeljem i polumetarskim kabelom s VGA i PS/2 (USB) konektorima, ima vlastiti firmware, redovito ažuriran od strane proizvođača, a na tijelu modula nalazi se prekidač koji prebacuje u način ažuriranja firmvera. Modul KA9520 prikazan je ispod:

Za montažu na okomitu površinu uz modul se isporučuje posebna košara.

Postavke prekidača vrše se putem izbornika na zaslonu ili web sučelja (u donekle ograničenoj mjeri). Ako nemate Mac ili Sun računala na svojoj farmi, tada će sve postavke biti dostupne putem weba (prema zadanim postavkama, svi priključci prekidača su konfigurirani za PC platformu).

Veza s uređajem ostvaruje se preko sigurnog HTTPS protokola, unatoč tome što switch prihvaća veze na portu 80, ipak se preusmjerava na sigurnu vezu (port 443). Port 9000 se koristi za prijenos podataka između preklopnika i klijentskog programa; to treba uzeti u obzir kod prosljeđivanja portova (tj. osim 80 i/ili 443, morate proslijediti i 9000).

Prijeđimo na mrežne funkcije preklopnika, prema zadanim postavkama on je konfiguriran za primanje postavki putem DHCP-a, što je, po našem mišljenju, puno bolje od unaprijed postavljene IP adrese, samo pogledajte koja je adresa dodijeljena uređaju u Postavke DHCP poslužitelja i rezervirajte ga za odgovarajuću MAC adresu (navedenu na kućištu uređaja).

Za pristup možete koristiti bilo koji preglednik (optimalno IE), web sučelje nije bogato postavkama, možete pokrenuti Windows (samo preko IE) ili Java klijenta ili ih preuzeti ako ih ne možete pokrenuti preko preglednika u bilo koji način.

Parametar zaslužuje posebnu pozornost Brzina mrežnog prijenosa, za udoban rad s uređajem, trebali biste odrediti minimalnu zajamčenu brzinu kanala kroz koji se pristupa prekidaču.

Za pristup upravljanim računalima morate pokrenuti klijent. Nismo uspjeli pokrenuti Windows klijent na 64-bitnom sustavu Windows 7; u ovom slučaju Java klijent, koji radi na bilo kojoj platformi s podrškom za Javu, pomaže. Već u klijentu možemo fino podesiti uređaj:

Za navigaciju do upravljanih uređaja koristite karticu Glavni, koji prikazuje sve klijentske module spojene na preklopnik (ili lanac preklopnika):

Kada je brzina prijenosa podataka ispravno konfigurirana, rad preko udaljenog klijenta prilično je ugodan; jedini nedostatak je neko (ponekad značajno) kašnjenje kursora miša na udaljenom sustavu od kursora na kontrolnom računalu.

Međutim, treba imati na umu da je rad putem KVM-a preko IP-a potreban uglavnom u hitnim situacijama kada je potrebna kontrola na razini opterećenja računala; u drugim slučajevima bit će mnogo ugodnije raditi putem RDP-a. Ako koristite USB modul (KA9570), provjerite je li podrška za USB tipkovnicu i miš omogućena u BIOS-u kako biste izbjegli bilo kakva neugodna iznenađenja.

Također preporučujemo da konfigurirate BIOS poslužitelja da uključi signal s tipkovnice ili putem mreže. To će vam omogućiti daljinsko uključivanje poslužitelja ako ga iznenada greškom isključite ili ga isključi netko od vaših pretjerano revnih zaposlenika.

KVM over IP preklopnici omogućuju administratoru da dobije gotovo potpunu kontrolu nad upravljanim računalom s bilo kojeg mjesta u svijetu, pod uvjetom da postoji pristup Internetu. A na prvi pogled naizgled relativno visoka cijena uređaja više je nego kompenzirana mogućnostima koje pruža. U svakom slučaju, vrijedi izračunati što će koštati manje, KVM IP preklopnik ili prekid rada poduzeća potreban za dolazak tehničara.

  • Oznake:

Omogućite JavaScript za pregled

Ovaj članak je napisan pod dojmom drugog - puno hvala autoru! Ovaj članak je skoro uspio napraviti vaš vlastiti IP KVM Switch, i to je sjajno! Ali objasnit ću zašto gotovo. Da, tamo sve radi kako je autor napisao... Do trenutka ponovnog dizanja u BIOS, sva se magija tamo rasprši i koliko god se trudili, ništa se ne događa.

Odlučeno je ispraviti ovaj dosadni nesporazum što je moguće jeftinije i kompaktnije. Počnimo sa stereotipima o Raspberry Pi i Arduinu, a sljedeći članak nastavit ćemo o drugom hardveru.

Dakle, što nam treba:

1. Kartica za video snimanje mora podržavati UVC upravljački program, kao što je ovaj. Opcije
puno na Aliexpressu i drugim kineskim trgovinama.

UVC je standardizirani pokretački program otvorenog koda koji je standardno uključen u većinu distribucija Linuxa; može biti problema s drugim upravljačkim programima.

2. VGA u AV pretvarač:



Bilješka! Ono što je potrebno je VGA u AV, a ne obrnuto.

3. Arduino UNO, odnosno UNO, budući da ima Atmega16u2 čip, zanima nas prije svega. Ovdje je pored USB priključka, tu su i arduino s Atmega8u2 čipom, pogodni za oboje.

4. I naravno, Raspberry Pi, imao sam verziju 2 b, tako da je sve što je napisano u ovom članku relevantno posebno za njega, ali općenito mislim da ne bi trebalo biti nikakvih posebnih poteškoća s drugim modelima maline.

Učitavanje distribucije

Pa, ulazni podaci su dani, počnimo. Koristio sam distribucijski komplet 2015-05-05-raspbian-wheezy, ovo vjerojatno nije važno, daljnje manipulacije bi trebale biti prikladne za bilo koji distribucijski komplet temeljen na Debianu.

Karticu za video snimanje spajamo na Raspberry, bolje je spojiti direktno na USB bez korištenja USB produžnih kabela, pogotovo onih koji dolaze s pločom, inače se video može usporiti, Raspberry se zamrzne itd.

Idite na konzolu i ažurirajte pakete:

Sudo apt-get update && sudo apt-get upgrade –y

Video prijenos

Provjerimo je li ploča identificirana:

Ls /dev/video*
Trebao bi prikazati nešto poput: /dev/video0.

Instaliramo Motion i putem njega ćemo emitirati snimljenu sliku:

Sudo apt-get install motion -y
Uređivanje konfiguracije automatskog pokretanja:

Sudo nano /etc/default/motion
U retku start_motion_daemon stavljamo 'yes'. Spremite promjene Ctrl + x, y, Enter.

Uredite konfiguraciju samog kretanja:

Sudo nano /etc/motion/motion.conf
Promijenite vrijednosti parametara na sljedeći način:

Parametar navodi aplikaciju koja će se izvoditi kao usluga:

Daemon uključen
Ovi parametri određuju razlučivost poslane slike; nema smisla postavljati višu razlučivost jer Snimanje videa ograničeno je na standarde PAL ili SECAM, čija je razlučivost 720x576. Usput, ovo je neugodan nedostatak, ali više o tome kasnije.

Širina 800 Visina 600
Brzina snimanja okvira:

Broj sličica u sekundi 25
Onemogući spremanje snimaka zaslona:

Izlaz_normalno isključen
Kvaliteta slike:

Webcam_quality 100
Okvirna stopa:

Webcam_maxrate 25
Otkažite ograničenja za veze s drugih IP-ova

Webcam_localhost isključen
Spremite promjene Ctrl + x, y, Enter.

Ponovno pokretanje maline:

Sudo ponovno pokretanje
Čekamo nekoliko minuta, ako je sve učinjeno kako treba, LED na ploči za video snimanje trebao bi zasvijetliti.

Povezujemo preglednik na priključak 8081 preglednika i vidimo sivi ili plavi pravokutnik s vremenom u nastavku.

Proces je započeo, tražimo žrtvu koja će uhvatiti signal s VGA porta, spojiti ga na “VGA IN” port konvertera, a karticu za snimanje videa spojiti na “VIDEO OUT”. Trebali biste dobiti nešto poput ove slike, ne brinite, kabel mi je loš, pa slika izgleda dvostruko, probao sam s drugom slikom, bila je bolja, ali rezolucija se ne može promijeniti. 720x576 je ograničenje pretvarača i kartice za video snimanje, koje se ne može premostiti koliko god se trudili.

Pa, naučili smo kako prenijeti sliku; sve što preostaje je prenijeti kontrolu.

Prijenos kontrole

Za ovo ćemo, kao što možda pretpostavljate, koristiti Arduino. Izbor je pao na Arduino UNO s razlogom, postoji vrlo potreban mikro krug za naše potrebe pod nazivom Atmega16u2, samo zahvaljujući njemu uspio sam prisiliti BIOS računala da prepozna Arduino kao USB tipkovnicu. Prema zadanim postavkama, kao dio Arduino ploče, ovaj čip djeluje kao USB u serijski pretvarač za učitavanje firmvera na Atmega328p mikrokontroler, veliki pravokutni čip na Arduino ploči. U biti, Atmega16u2 je isti mikrokontroler, ali s važnom razlikom: sposoban je raditi izravno s USB sabirnicom. Atmega16u2, s potrebnim firmwareom, može emulirati gotovo svaki USB uređaj. Shvaćaš li na što ciljam? Sašit ćemo ovo čudo inženjerstva i učiniti da radi za dobrobit društva.

Firmware Atmega16u2

Na internetu je pronađen firmware koji Atmega16u2 pretvara u USB tipkovnicu koja prihvaća određene vrste naredbi putem serijskog porta.

Upute u ovom članku napisane su za Windows; korisnici Linuxa mogu koristiti ovu.

I tako počnimo, za firmware će vam trebati uslužni program proizvođača koji se zove Flip. Preuzimamo, instaliramo, pokrećemo i evo prozora programa ispred nas:

U početku gumbi (potvrdni okviri) nisu aktivni, to je normalno, povezujemo Arduino s računalom i zatvaramo - otvaramo dva vanjska kontakta sa strane USB priključka, RESET i GND.

U sustavu bi se trebao pojaviti novi uređaj koji se zove, čudno, ATmega16u2, instalirajte upravljački program (u mapu s programom), odaberite "Postavke" → "Komunikacija" → "USB" → kartica "otvori" u programu za prebacivanje, gumbi bi trebali postati aktivni. Za svaki slučaj možete napraviti sigurnosnu kopiju firmwarea kako bi se sve moglo vratiti na svoje mjesto. U izborniku “Datoteka” kliknite “Učitaj HEX datoteku”, program je izbirljiv u pogledu putanja, najbolje je staviti firmware datoteku u korijen pogona C:, odaberite željenu heksadecimalnu datoteku s firmverom, provjerite je li Označeni su potvrdni okviri “Erase”, “Program”, “Verify” i kliknite “Run”. Odspojimo - spojimo arduino i voila... Sada više ne možemo preuzeti firmware na arduino preko ugrađenog USB-a, ali smo dobili odličnu tipkovnicu bez tipki.

Ne brinite o arduino firmware-u, firmware se može učitati iz Arduino IDE putem zasebnog USB-TTL adaptera, iako se mora reći da će to sada biti manje praktično.

Spojimo USB na TTL adapter, na primjer ovo:

Trebat će nam bijeli, zeleni i crni kontakti su RX, TX i GND redom, spajamo ih na pinove s istim oznakama na Arduinu, samo obrnuto RX na TX i TX na RX. Crveni kontakt se ne smije koristiti!

Spojimo USB na TTL na računalo, instaliramo upravljačke programe, novi COM port bi se trebao pojaviti u upravitelju uređaja. Otvorite arduino IDE i postavite: Ploča - Arduino/Genuino Uno, Port - naš novokreirani serijski port.

Započnimo s arduino firmwareom

Dodajmo potrebnu biblioteku u arduino IDE: Idite na poveznicu github.com/SFE-Chris/UNO-HIDKeyboard-Library i kliknite “Kloniraj ili preuzmi” → “Preuzmi ZIP”. zatim u arduino IDE odaberite karticu “Sketch” → “Connect library” → “Add.ZIP library” i odaberite upravo preuzetu zip arhivu.

Pripreme su završene, prijeđimo izravno na firmware. Kopirajmo moje pisanje:

Arduino - Skica

#uključi tipkovnica HIDKeyboard; int zbirka; void setup() ( keyboard.begin(); ) void loop() ( while (Serial.available()) (//pokretanje petlje kada se podaci pojave sbor += Serial.read();//čitanje podataka, dodavanje decimalni oblik if (sbor == 27)(//izgled simbola kontrolne sekvence za (int i=0; i<=4; i++){//сложение последовательности if (sbor == 165) {//для определения F1-F12 на разных терминалах могут быть разные значения sbor += sbor; } sbor += Serial.read(); delay(1); } } } if (sbor >0). ); break ; case 508: keyboard.pressSpecialKey(F4); break; case 509: keyboard.pressSpecialKey(F5); break; case 511: keyboard.pressSpecialKey(F6); break; case 512: keyboard.pressSpecialKey(F7); break; case 513: keyboard.pressSpecialKey(F8); break; case 340: keyboard.pressSpecialKey(F9); break; case 341: keyboard.pressSpecialKey(F10); break; case 343: keyboard.pressSpecialKey(F11); break; case 344: keyboard.pressSpecialKey(F12); break; case 13: keyboard.pressSpecialKey(ENTER); break; case 22: keyboard.pressSpecialKey(ESCAPE); break; case 127: keyboard.pressSpecialKey(BACKSPACE); break; case 9 : tipkovnica. pressSpecialKey(TAB); break; case 32: keyboard.pressSpecialKey(SPACEBAR); break; case 26: keyboard.pressSpecialKey(PAUSE); break; case 292: keyboard.pressSpecialKey(INSERT); pauza; case 456: keyboard.pressSpecialKey(HOME); pauza; case 295: tipkovnica.pressSpecialKey(PAGEUP); pauza; case 294: tipkovnica.pressSpecialKey(END); pauza; case 296: keyboard.pressSpecialKey(PAGEDOWN); pauza; case 182: keyboard.pressSpecialKey(RIGHTARROW); pauza; case 183: keyboard.pressSpecialKey(LEFTARROW); pauza; case 181: keyboard.pressSpecialKey(DOWNARROW); pauza; case 180: tipkovnica.pressSpecialKey(UPARROW); pauza; case 293: tipkovnica.pressSpecialKey(DELETE); pauza; case 320: tipkovnica.pressSpecialKey((CTRL | ALT), DELETE); pauza; //za poziv ctl+alt+del pritisnite alt + del case 346: keyboard.pressSpecialKey(ALT, F4); pauza; //za poziv alt+f4 pritisnite shift + F4 default: keyboard.pressKey(sbor); pauza; ) //Serial.println(sbor);//samo za ispravljanje pogrešaka bez spajanja na USB tipkovnicu.releaseKey(); sbor = NULL; ) )


umetnite ga u arduino IDE i pritisnite gumb za testiranje. Sada počinje najvažnija faza, ovdje je najvažnije iskoristiti trenutak, malo tko uspije iz prve. Pritisnemo gumb za preuzimanje u arduino IDE, pojavit će se prve bijele linije s zapisnikom kompilacije, a zatim narančaste, ovo već uspostavlja vezu sa serijskim priključkom, ovaj trenutak se mora uhvatiti i imati vremena pritisnuti tipku RESET na arduino ploči. Firmware bi se trebao učitati, ako je sve uspješno, vidjet ćete poruku poput ove

Avrdude: čitanje flash podataka na čipu: Čitanje | ##################################################### | 100% 0,34 s avrdude: provjera ... avrdude: 2934 bajta flasha potvrđeno avrdude gotovo. Hvala vam.
Ako nakon nekoliko pokušaja ne dođe do preuzimanja firmvera, pokušajte zamijeniti pinove RX i TX i također provjerite je li pin GND dobro spojen.

Cilj

Otvorite konzolu na Raspberry i napišite:

Sudo raspi-config
Otvorit će se izbornik postavki Spreadberry, odaberite “Napredne opcije” → “Serijski” i odaberite “Ne”.

Možda ove manipulacije neće biti potrebne, dakle, reosiguranje. Ovaj parametar određuje hoće li Raspberry OS komunicirati sa serijskim portom, ova interakcija je uglavnom potrebna za otklanjanje pogrešaka, stoga je slobodno isključite, samo će nas ometati, jer Komunicirat ćemo s Arduinom kroz ovaj priključak, a sustav će začepiti zračne valove.

Instalirajte minicom program.

Minicom je jednostavan program za rad sa serijskim portom.

Sudo apt-get install minicom -y
Postavljamo prava pristupa uređaju, /dev/ttyAMA0 je isti serijski port.

Sudo chown pi /dev/ttyAMA0 sudo chmod 744 /dev/ttyAMA0
Pokreni minicom:

Sudo minicom -s
Otvorit će se izbornik programa, odaberite stavku "Serial port setup", otvorit će se drugi izbornik, odaberite "Serial Device" pritiskom na tipku A, unesite /dev/ttyAMA0, pritisnite Enter, zatim odaberite stavku Bps/Par/Bits pod slovo E, sljedeći se pojavljuje izbornik, pritisnite C i Q linija Current: trebala bi izgledati ovako "9600 8N1" pritisnite Enter. Uvjerimo se da u redovima F - Hardverska kontrola protoka: i G - Softverska kontrola protoka: postoji Ne, općenito bi sve trebalo biti kao na snimci zaslona u nastavku, pritisnite Enter.

Spremimo ove postavke kao zadane postavke "Spremi postavke kao dfl" i zatvorimo "Izlaz iz Minicoma".

Veza

Idemo dalje, sad imamo skoro sve spremno, preostaje samo spojiti Arduino na raspberry serijski port, otprilike ovako:

Ovdje postoji jedna točka, Arduino i Raspberry imaju različite razine napona i u teoriji ih je potrebno uskladiti, savjetujem vam da pročitate članak.

Iako je kod mene sve radilo izravno bez koordinacije, ne biste trebali imitirati loš primjer i kupiti pretvarač logičke razine; najjednostavniji izgleda ovako:

Ili barem sastavite razdjelnik napona pomoću otpornika.

Pokreni

Sve je spremno, možete početi.

Provjeravamo sve veze, uključujemo raspberry pi, idemo na raspberry konzolu, pokrećemo minicom. Odmah da rezerviram: povezao sam se na raspberry preko ssh-a, koristeći KiTTY (modificiranu verziju PuTTY-ja) kao klijenta, ovo je važno jer s drugim terminalima, vrijednosti prenesenih ključeva mogu biti različite i, sukladno tome, bit će potrebno uzeti u obzir vjetar - promijeniti broj prijelaza slučaja prekidača.

Općenito, predajem vam, kako kažu, "kakav jest." Pa, pretpostavljam da ću završiti ovdje, domaći IP KVM je spreman.

p.s.

Na kraju ću opisati što se dogodilo u donjem redu.

Prednosti:

- Cijena
- Pokazalo se da je uređaj relativno jeftin
- Raspberry Pi: približno 2700 rub.
- Arduino UNO: približno 400 rubalja.
- VGA u AV pretvarač: približno 700 rub.
- Kartica za video snimanje: 500 rub.
- Ukupno: 4300 rub.

- Fino podešavanje
Možete presresti gotovo bilo koju kombinaciju i dodijeliti im gotovo sve tipke, uključujući KEYBOARDPOWER i VOLUMEUP; usput, možete pogledati moguće vrijednosti u datoteci zaglavlja HIDKeyboard.h ili možete dodati vlastitu.

minusi:

- Kočenje i video i klik prijenosa
- Drugi i najveći je kvaliteta slike, ovdje vam samo treba tužni emotikon, to je strašno, čak i ako smanjite rezoluciju na ciljanom računalu na minimum, najviše što možete učiniti je konfigurirati BIOS i odabrati opciju u bootloaderu. Ali nije li tome zapravo KVM?.. A za sve ostalo postoji radmin i slično.

Oznake: Dodajte oznake

Odmah nakon što sam imao više od jednog računala kod kuće, imao sam želju da se riješim stalnog prebacivanja tipkovnica i miševa na različite sistemske jedinice. Stoga sam odlučio kupiti prekrasan uređaj, o kojem sam pisao u prošlom članku - KVM prekidač ili KVM prekidač.

Za skromnu naknadu od 477 rubalja, kineski prijatelji poslali su ovu divnu stvar poštom. Napravio sam nekoliko fotografija da vam pokažem i poslao prekidač na mjesto koje mu pripada, gdje će ostati dugo dok ga ne prekrije debeli sloj prašine ili se prvi ne polomi.

Cjelokupni sadržaj paketa su 2-portni KVM i 2 posebne žice za spajanje na računala. Kinezi nisu štedjeli foliju za pakiranje pa je sve sigurno stiglo.

Slika ispod pokazuje da prekidač ima 3 VGA konektora (jedan za monitor i 2 za sistemske jedinice), kao i 3 USB priključka. Zahvaljujući njima, osim tipkovnice i miša, možemo spojiti i npr. printer, koji će se također prebacivati ​​s računala na računalo zajedno s ostatkom periferije.

Na gornjem poklopcu uređaja nalazi se velika tipka prekidača koju je lako pronaći u mraku. Ali mnogi informatičari vole raditi noću i, usput, to je uzalud (za one koje zanima zašto, pročitajte moj članak). Na kućištu se nalaze i 2 LED indikatora koji pokazuju koji je port trenutno u upotrebi. Na stražnjoj strani KVM prekidača nalazila se naljepnica koja navodi da uređaj može raditi s rezolucijom do 1920x1440.

Uređaj je povezan prema sljedećoj shemi:

Stavio sam KVM izravno na stol tako da sam ga lako mogao dohvatiti rukom. Kao rezultat toga, radni prostor oko prekidača izgleda ovako:

Nakon prvog lansiranja dočekalo me malo iznenađenje u vidu mutne i mutne slike. Monitor s takvom slikom možete koristiti samo ako želite poboljšati svoj vid za nekoliko dana.

Prvo na što sam pomislio je sam Switch, no nakon traženja informacija na internetu, shvatio sam da su krivci nekvalitetni kablovi koji su došli u kompletu. No, upravo je to presudilo u odabiru ove narudžbe! Kinezi su se opet zaljubili!

Za sebe sam pronašao sljedeće rješenje: spojio sam kablove iz sistemskih jedinica direktno na monitor, jer imam 2 ulaza na monitoru (dvi i vga), a prebacivanje između njih se vrši pritiskom na tipku na samom monitoru . Dakle, za prebacivanje na upravljanje drugim računalom, umjesto jedne tipke na kvm-u, moram pritisnuti i tipku na monitoru za prebacivanje "slike".

Za one koji na svom monitoru nemaju izlaze koji su im potrebni, postoji još jedno jednostavno rješenje. Dovoljno je koristiti obične VGA kabele i žice zajedno s njima umjesto žica koje ste dobili u kompletu. usb A - usb B(većina modernih pisača povezana je na ovaj način). Mislim da je to metoda koju ću koristiti čim nabavim 2 potrebna USB kabela. Ovom metodom u potpunosti čuvamo funkcionalnost uređaja.

Općenito, imao sam pozitivan dojam korištenja kvm-a, jer je stvar stvarno korisna, iako sam ostao s osjećajem beskorisnosti isporučenih žica. Ako odlučite naručiti isti za sebe, savjetujem vam da uzmete samo jednu kvm sklopku kako ne biste riskirali i ne preplatili žice.

Ako imate pitanja, postavite ih u komentarima, rado ću vam odgovoriti.



Preporučamo čitanje

Vrh