Suis ringkas konsol komputer pada transistor dan geganti (KVM Switch). Kawalan penuh - KVM melalui suis IP

Nokia 31.07.2021
Nokia

Jadi mari kita mulakan, untuk firmware anda memerlukan utiliti daripada pengilang yang dipanggil Flip. Muat turun, pasang, jalankan dan di sini kami mempunyai tetingkap program:

Pada mulanya, butang (daws) tidak aktif, ini adalah perkara biasa, kami menyambungkan arduino ke komputer dan menutupnya - kami membuka dua kenalan melampau dari sisi port USB, RESET dan GND.

Peranti baharu akan muncul dalam sistem yang dipanggil, anehnya, ATmega16u2 memasang pemacu (dalam folder dengan program), pilih "Tetapan" > "Komunikasi" > "USB" > tab "buka" dalam program flip, butang harus menjadi aktif. Untuk berjaga-jaga, anda boleh membuat sandaran perisian tegar supaya anda boleh mengembalikan semuanya ke tempatnya. Dalam menu "Fail", klik "Muat Fail HEX", program ini menuntut pada laluan, yang terbaik adalah meletakkan fail perisian tegar dalam akar pemacu C:, pilih fail hex yang dikehendaki dengan perisian tegar, semak sama ada Kotak pilihan "Padam", "Program", "Sahkan" adalah dan klik "Jalankan". Kami memutuskan sambungan - kami menyambungkan arduino dan voila ... Kini kami tidak lagi dapat memuat naik perisian tegar ke arduino melalui USB terbina dalam, tetapi kami mendapat papan kekunci yang sangat baik tanpa butang.

Jangan bimbang tentang perisian tegar arduino, anda boleh memuat turun perisian tegar dari Arduino IDE melalui penyesuai USB Ke TTL yang berasingan, walaupun saya mesti mengatakan ini akan menjadi kurang mudah sekarang.

Kami menyambungkan penyesuai USB Ke TTL, contohnya yang ini:

Kami memerlukan kenalan Putih, hijau dan hitam, ini adalah RX, TX dan GND, masing-masing, kami menyambungkannya ke pin dengan sebutan yang sama pada arduino, hanya sebaliknya RX ke TX, dan TX ke RX. Sentuhan merah tidak boleh digunakan!

Kami menyambungkan USB Ke TTL ke komputer, pasang pemacu, Port COM baharu akan muncul dalam pengurus peranti. Buka IDE arduino dan tetapkan: Papan - Arduino / Genuino Uno, Port - port bersiri kami yang baru dicetak.

Bermula dengan Perisian Tegar Arduino

Mari tambahkan perpustakaan yang diperlukan pada IDE arduino: Ikut pautan github.com/SFE-Chris/UNO-HIDKeyboard-Library dan klik "Klon atau muat turun" > "Muat turun ZIP". kemudian dalam arduino IDE, pilih tab "Lakaran" > "Sertakan Perpustakaan" > "Tambah Perpustakaan .ZIP" dan pilih arkib zip yang baru anda muat turun.

Penyediaan selesai, pergi terus ke firmware. Menyalin tulisan saya:

Arduino - Lakaran

#termasuk Papan Kekunci HID; koleksi int; void setup() ( keyboard.begin(); ) void loop() ( while (Serial.available()) (//start loop apabila data tersedia sbor += Serial.read();//read data, tambahkan perpuluhan dalam bentuk if (sbor == 27)(//kemunculan watak jujukan kawalan untuk (int i=0; i<=4; i++){//сложение последовательности if (sbor == 165) {//для определения F1-F12 на разных терминалах могут быть разные значения sbor += sbor; } sbor += Serial.read(); delay(1); } } } if (sbor >0) ( //lompat pada jumlah perpuluhan suis jujukan (sbor)( kes 505: papan kekunci.pressSpecialKey(F1); putus; kes 506: papan kekunci.pressSpecialKey(F2); putus; kes 507: papan kekunci.pressSpecialKey(F3 ;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; kes 344: papan kekunci.pressSpecialKey(F12); break; case 13: keyboard.pressSpecialKey(ENTER); break; case 22: keyboard.pressSpecialKey(ESCAPE); break; case 127: keyboard.pressSpecialKey(BACKSPACE); break; case 9 : papan kekunci. tekanSpecialKey(TAB); putus; kes 32: papan kekunci.pressSpecialKey(BAR RUANG); patah; kes 26: papan kekunci.pressSpecialKey(JEDA); putus; kes 292: papan kekunci.pressSpecialKey(INSERT); pecah; kes 456: papan kekunci.pressSpecialKey(HOME); pecah; kes 295: papan kekunci.pressSpecialKey(PAGEUP); pecah; kes 294: papan kekunci.pressSpecialKey(END); pecah; kes 296: papan kekunci.pressSpecialKey(PAGEDOWN); pecah; kes 182: papan kekunci.pressSpecialKey(RIGHTARROW); pecah; kes 183: papan kekunci.pressSpecialKey(LEFTARROW); pecah; kes 181: papan kekunci.pressSpecialKey(DOWNARROW); pecah; kes 180: papan kekunci.pressSpecialKey(UPARROW); pecah; kes 293: papan kekunci.pressSpecialKey(DELETE); pecah; kes 320: papan kekunci.pressSpecialKey((CTRL | ALT), PADAM); pecah; //tekan alt + del untuk memanggil ctl+alt+del case 346: keyboard.pressSpecialKey(ALT, F4); pecah; //untuk memanggil alt+f4 tekan shift + F4 lalai: keyboard.pressKey(sbor); pecah; ) //Serial.println(sbor);//hanya untuk penyahpepijatan tanpa menyambung ke papan kekunci usb.releaseKey(); koleksi = NULL; ) )


tampalkannya ke dalam arduino IDE dan tekan butang semak. Sekarang peringkat yang paling penting akan bermula, perkara yang paling penting di sini adalah untuk menangkap masa ini, hanya sedikit orang yang berjaya pada kali pertama. Kami menekan butang muat turun dalam IDE arduino, mula-mula garis putih dengan log kompilasi akan berjalan, diikuti oleh yang oren, ini sudah mewujudkan sambungan ke port bersiri, inilah saat yang anda perlukan untuk menangkap dan mempunyai masa untuk menekan butang RESET pada papan arduino. Firmware harus dimuatkan, jika semuanya berjaya anda akan melihat tulisan seperti ini

Avrdude: membaca data kilat pada cip: Membaca | #################################################### # | 100% 0.34s avrdude: mengesahkan ... avrdude: 2934 bait avrdude yang disahkan denyar selesai. terima kasih.
Jika, selepas beberapa percubaan, perisian tegar masih tidak dimuatkan, cuba tukar pin RX dan TX, dan juga semak sama ada pin GND disambungkan dengan selamat.

garisan penamat

Buka konsol pada raspberi dan tulis:

sudo raspi-config
Menu persediaan Raspberry akan dibuka, pilih Pilihan Lanjutan > Bersiri dan pilih Tidak.

Mungkin manipulasi ini tidak diperlukan, jadi insurans semula. Parameter ini menentukan sama ada OS raspberi akan berinteraksi dengan port bersiri, interaksi ini diperlukan terutamanya untuk penyahpepijatan, jadi jangan ragu untuk mematikannya, ia hanya akan mengganggu kami, kerana. kami akan berkomunikasi dengan arduino melalui port ini, dan sistem akan menyumbat udara.

Pasang program minicom.

Minicom ialah program mudah untuk bekerja dengan port bersiri.

sudo apt-get install minicom -y
Kami menetapkan hak untuk mengakses peranti, / dev / ttyAMA0 - ini adalah port bersiri yang sama.

sudo chown pi /dev/ttyAMA0 sudo chmod 744 /dev/ttyAMA0
Mulakan minicom:

Sudo minicom -s
Menu program akan dibuka, pilih item "Serial port setup", menu lain akan dibuka, pilih "Serial Device" dengan menekan kekunci A, tulis / dev / ttyAMA0, tekan Enter, kemudian pilih item Bps / Par / Bits di bawah huruf E, satu lagi muncul menu tekan C dan baris Q Semasa: sepatutnya kelihatan seperti ini "9600 8N1" tekan Enter. Pastikan bahawa dalam baris F - Kawalan Aliran Perkakasan: dan G - Kawalan Aliran Perisian: adalah Tidak, secara umum, semuanya harus seperti dalam tangkapan skrin di bawah, tekan Enter.

Simpan tetapan ini sebagai lalai "Simpan persediaan sebagai dfl" dan tutup "Keluar dari Minicom".

Sambungan

Kami pergi lebih jauh, kini kami mempunyai hampir segala-galanya siap, ia hanya perlu menyambungkan arduino ke port bersiri raspberi, seperti ini:

Terdapat satu titik di sini, arduino dan raspberry mempunyai tahap voltan yang berbeza dan, secara teori, mereka perlu diselaraskan, saya menasihati anda untuk membaca artikel itu.

Walaupun semuanya bekerja untuk saya secara langsung tanpa penyelarasan, anda tidak seharusnya meniru contoh yang buruk dan membeli penukar tahap logik, yang paling mudah kelihatan seperti ini:

Atau sekurang-kurangnya memasang pembahagi voltan pada perintang.

pelancaran

Semuanya sudah siap, anda boleh mulakan.

Kami menyemak semua sambungan, hidupkan pi raspberi, pergi ke konsol raspberi, mulakan minicom. Saya akan membuat tempahan segera, saya menyambung ke raspberi melalui ssh, saya menggunakan KiTTY (versi PuTTY yang diubah suai) sebagai pelanggan, ini penting. dengan terminal lain, nilai kekunci yang dihantar mungkin berbeza dan, oleh itu, perlu membuat elaun untuk angin - menukar nombor peralihan kes suis.

Secara umum, saya menyerahkan kepada anda seperti yang mereka katakan "seadanya". Baiklah, saya mungkin akan selesai dengan ini, IP KVM buatan sendiri sudah sedia.

P.S.

Akhir sekali, saya akan menerangkan apa yang berlaku dalam sisa kering.

Kelebihan:

- Harga
- Peranti itu ternyata agak murah
- Raspberry Pi: kira-kira 2700 rubel.
- Arduino UNO: kira-kira 400 rubel.
- Penukar VGA ke AV: kira-kira 700 rubel.
- Kad tangkapan video: 500 gosok.
- Jumlah: 4300 gosok.

- Penalaan halus
Anda boleh memintas hampir mana-mana kombinasi dan menetapkan hampir semua kekunci kepada mereka, sehingga KEYBOARDPOWER dan VOLUMEUP, dengan cara ini, anda boleh melihat nilai yang mungkin dalam fail pengepala HIDKeyboard.h, atau anda boleh menambah anda sendiri.

Kekurangan:

- Brek kedua-dua video dan penghantaran klik
- Yang kedua dan terbesar ialah kualiti gambar, emotikon sedih hanya diperlukan di sini, ia adalah dahsyat, walaupun anda mengurangkan resolusi pada komputer sasaran kepada minimum, maksimum yang boleh dilakukan adalah untuk mengkonfigurasi BIOS dan memilih item dalam pemuat but. Tetapi bukankah KVM sebenarnya diperlukan untuk ini?.. Dan untuk semua yang lain, ada radmin dan seumpamanya.

Jika anda telah menggunakan komputer peribadi untuk masa yang lama, maka anda perlu mengemas kini secara berkala bukan sahaja perisian, tetapi juga perkakasan, iaitu komputer itu sendiri. Dan apa yang perlu dilakukan dengan yang lama? Terutama jika hanya unit sistem kekal daripadanya (monitor "berpindah" ke yang baru). Dibeli sepuluh tahun yang lalu, "486DX33", yang ketika itu merupakan pencapaian terkini dalam teknologi, kini mustahil untuk dijual.

Ya, dan sayangnya - selepas semua, sepanjang hayatnya (mengikut piawaian komputer), dia berjaya memperoleh pengaturcara mikro dan PROM, pelbagai program kejuruteraan radio dan radio amatur dipasang (dan berfungsi dengan baik) di atasnya. Cuma, ia tidak sesuai untuk bekerja di Internet (itu sebabnya yang baru dibeli).

Memasang semua "seni bina" ini pada yang baru adalah bermasalah - tidak ada port COM dan LPT yang mencukupi (yang lama mempunyai tiga COM dan dua LPT), dan tiada apa-apa dari peranti lama yang boleh berfungsi dengan port USB baharu. Jadi diputuskan untuk menyimpan dua unit sistem dan dua tetikus.

Dan bertukar antara mereka monitor dan papan kekunci. Lebih-lebih lagi, untuk tujuan ini terdapat (menjijikkan, ternyata) suis kerja dijual.

Suis mekanikal tempat kerja "Maxtro" yang diperolehi bekerja tidak lebih daripada sebulan. Kemudian "tambahan" bermula - sama ada papan kekunci tidak berfungsi dengan betul, atau tidak semua warna berada pada monitor. Anda perlu menolak pemegang sepanjang masa, menolaknya, untuk menangkap masa apabila semuanya akan berfungsi dengan baik.

Selepas siksaan yang lama dengannya, ia telah memutuskan untuk membuat suis tempat kerja buatan sendiri, tetapi bukan pada "galletnik" Taiwan, kenalannya hanya dikupas, tetapi pada relay Soviet RES-22, dikawal oleh dua butang.

Anehnya, "Maxtro" menukar semua kenalan papan kekunci dan penyambung monitor, itulah sebabnya terdapat begitu banyak kenalan di dalamnya. Malah, tujuh kumpulan kenalan sudah cukup untuk pensuisan sedemikian, kerana semua "GND" boleh disambungkan bersama, dan kuasa papan kekunci boleh ditukar oleh dua diod. Setiap RES-22 mempunyai empat kumpulan kenalan, oleh itu, walaupun satu daripadanya kekal, yang boleh digunakan untuk mengawal geganti itu sendiri (kesan pencetus geganti).

gambarajah litar

Litar dibuat sedemikian rupa sehingga ia mengenali komputer 2 yang dihidupkan oleh voltan bekalan +5 V daripadanya ke papan kekunci. Jika anda menghidupkan komputer 2, maka voltan + 5V akan melalui kapasitor C2 ke pangkal transistor VT1, yang akan membuka dan menghidupkan geganti.

Ia menyekat sendiri oleh kumpulan kenalan percuma K1.4 dan selepas mengecas C2 akan kekal dihidupkan. Dalam keadaan ini, papan kekunci dan monitor akan ditukar kepada komputer 2. Dalam keadaan tidak bertenaga, papan kekunci dan monitor akan ditukar kepada komputer lama 1.

nasi. 1. Gambarajah skematik suis konsol.

Semua bahagian dipasang dalam bekas besi dari suis "Maxtro". "Tetikus" digunakan secara berasingan untuk setiap komputer. Suis dikuasakan oleh penyesuai AC daripada pencetak yang gagal.

Masalah menukar pencetak antara dua komputer diselesaikan secara berbeza. Pencetak (Samsung 1210) mempunyai dua port - LPT dan USB. Port LPT disambungkan ke unit sistem lama, dan USB disambungkan ke yang baharu.

Dengan kemunculan Internet jalur lebar di pejabat, pentadbiran jauh sepenuhnya menjadi mungkin. Terima kasih kepada teknologi ini, organisasi perkhidmatan telah dapat mengurangkan dengan ketara masa tindak balas kepada permintaan pelanggan, dan pentadbir sistem telah dapat memberikan sokongan walaupun semasa berada di luar pejabat. Tetapi alat pentadbiran jauh hanya berfungsi selepas OS boot, jika atas sebab tertentu ini tidak mungkin, kehadiran fizikal pakar diperlukan. KVM melalui suis IP boleh menyelesaikan masalah ini.

Mungkin semua pentadbir tahu apa itu suis KVM, peranti ini membolehkan anda menggunakan satu konsol (monitor, papan kekunci dan tetikus) untuk mengawal beberapa PC. Suis KVM boleh sama ada mudah, direka untuk kegunaan peribadi:

Jadi untuk pemasangan rak, menyokong lata dan membolehkan anda menguruskan sejumlah besar pelayan sekaligus (sehingga beberapa ratus) dari satu tempat:

Suis KVM melalui IP berbeza dalam syarikat ini, membolehkan anda mengakses konsol PC dari mana-mana sahaja menggunakan protokol TCP / IP. Untuk masa yang lama, peranti ini dianggap sebagai "barangan mewah", tetapi baru-baru ini tawaran telah muncul di pasaran pada harga yang sangat berperikemanusiaan, menjadikannya agak berpatutan untuk organisasi kecil.

Pertimbangkan kemungkinan suis KVM melalui IP menggunakan contoh ATEN ALTUSEN KH1508i bernilai 727 USD. Sebagai tambahan kepada harga yang menarik, peranti ini membolehkan anda mengawal sehingga 256 PC (semasa melata beralih), menyokong platform PC, Mac, Sun, sambungan PC melalui PS / 2 dan USB.

Suis dibuat dalam format 1U dan boleh dipasang dalam rak. Panel hadapan mengandungi butang pensuisan output, penunjuk port aktif, penyambung kemas kini perisian tegar, penunjuk kuasa dan butang Tetapkan Semula.

Satu lagi ciri suis ialah penggunaan pasangan terpiuh UTP 5e untuk menyambungkan PC terurus, yang membolehkan mereka diletakkan pada jarak sehingga 40 m. Kini tiada masalah menyambungkan pelayan yang terletak di rak bersebelahan (atau satu tingkat di bawah ) dan meletakkan kabel khusus yang mahal. Penyambung untuk PC terkawal, rangkaian, suis hamba dan konsol terletak di bahagian belakang suis:

Untuk menyambungkan PC terurus, modul klien digunakan yang meniru peranti yang diperlukan. Emulasi dilakukan secara langsung oleh modul, tanpa mengira kehadiran peranti kawalan. Ini bermakna jika anda terlupa menghidupkan suis, PC terurus masih akan mengesan papan kekunci, tetikus dan monitor apabila mereka but, dan anda tidak perlu but semula untuk mendapatkan akses.

Pengilang menawarkan rangkaian luas modul pelanggan untuk mengurus komputer platform yang berbeza; dua jenis modul pelanggan tersedia untuk PC: KA9520 (PS / 2) dan KA9570 (USB) berharga 71 USD. Setiap modul adalah pengawal dengan antara muka RJ-45 dan kabel setengah meter dengan penyambung VGA dan PS / 2 (USB), mempunyai perisian tegarnya sendiri, sentiasa dikemas kini oleh pengilang, terdapat suis pada kotak modul yang menukarnya kepada mod kemas kini perisian tegar. Modul KA9520 ditunjukkan di bawah:

Untuk pemasangan pada permukaan menegak, bakul khas dibekalkan dengan modul.

Tetapan suis dibuat melalui menu OSD atau antara muka web (setakat yang terhad). Jika anda tidak mempunyai Mac atau Sun dalam rumah anda, maka semua tetapan akan tersedia melalui web (secara lalai, semua port suis dikonfigurasikan untuk platform PC).

Sambungan ke peranti dibuat menggunakan protokol HTTPS selamat, walaupun suis menerima sambungan pada port 80, ia masih mengubah hala ke sambungan selamat (port 443). Port 9000 digunakan untuk memindahkan data antara suis dan program klien, ini harus diambil kira apabila memajukan port (iaitu, sebagai tambahan kepada 80 dan / atau 443, 9000 juga mesti dimajukan).

Mari kita beralih kepada fungsi rangkaian suis, secara lalai ia dikonfigurasikan untuk menerima tetapan melalui DHCP, yang, pada pendapat kami, jauh lebih baik daripada IP yang telah ditetapkan, lihat sahaja alamat yang diberikan kepada peranti dalam DHCP tetapan pelayan dan simpannya untuk alamat MAC yang sepadan (ditunjukkan pada peranti kes).

Untuk akses, anda boleh menggunakan mana-mana pelayar (idealnya IE), antara muka web tidak kaya dengan tetapan, anda boleh menjalankan Windows (hanya melalui IE) atau klien Java, atau memuat turunnya jika anda tidak boleh menjalankannya melalui penyemak imbas dalam mana-mana cara.

Parameter patut diberi perhatian khusus. Kadar Pemindahan Rangkaian, untuk kerja yang selesa dengan peranti, anda harus menentukan kelajuan terjamin minimum saluran yang melaluinya suis diakses.

Anda mesti menjalankan klien untuk mengakses PC terurus. Kami tidak dapat menjalankan Windows Client pada Windows 7 64-bit, dalam kes ini klien Java yang berjalan pada mana-mana platform yang didayakan Java datang untuk menyelamatkan. Sudah dalam klien, kami boleh memperhalusi peranti:

Untuk beralih kepada peranti terurus, gunakan tab Utama, yang memaparkan semua modul klien yang disambungkan ke suis (atau rangkaian suis):

Dengan tetapan kadar pemindahan data yang betul, bekerja melalui pelanggan jauh agak selesa, satu-satunya kelemahan ialah beberapa (kadang-kadang ketara) ketinggalan kursor tetikus pada sistem jauh dari kursor pada PC kawalan.

Walau bagaimanapun, harus diingat bahawa bekerja melalui KVM Over IP diperlukan untuk sebahagian besar dalam situasi kecemasan apabila kawalan diperlukan pada tahap beban PC, dalam kes lain ia akan menjadi lebih selesa untuk bekerja melalui RDP. Jika anda menggunakan modul USB (KA9570) pastikan papan kekunci USB dan sokongan tetikus didayakan dalam BIOS untuk mengelakkan sebarang kejutan yang tidak menyenangkan.

Kami juga mengesyorkan agar anda mengkonfigurasi BIOS pelayan untuk dihidupkan dengan isyarat daripada papan kekunci atau melalui rangkaian. Ini akan membolehkan anda menghidupkan pelayan dari jauh jika anda tiba-tiba mematikan atau mematikannya oleh salah seorang pekerja yang terlalu bersemangat.

KVM melalui suis IP membolehkan pentadbir mendapat kawalan hampir sepenuhnya ke atas PC terurus dari mana-mana sahaja di dunia, akan ada akses Internet. Dan harga peranti yang agak tinggi yang kelihatan pada pandangan pertama lebih daripada diimbangi oleh peluang yang disediakan. Walau apa pun, adalah wajar menganggarkan kos yang lebih rendah, suis IP KVM atau masa henti perusahaan yang diperlukan untuk ketibaan juruteknik.

  • Tag:

Sila dayakan JavaScript untuk melihat

Artikel ini ditulis di bawah tanggapan yang lain - banyak terima kasih kepada pengarang! Artikel ini hampir berjaya membuat Suis IP KVM saya sendiri, dan ia sangat hebat! Tetapi saya akan menerangkan mengapa hampir. Ya, semuanya berfungsi di sana seperti yang penulis tulis ... Sehingga but semula ke dalam BIOS, semua keajaiban hilang di sana dan tidak kira seberapa keras anda mencuba, tiada apa yang berlaku.

Telah diputuskan untuk membetulkan salah faham yang malang ini dan semurah dan padat yang mungkin. Mari kita mulakan dengan stereotaip Raspberry Pi dan Arduino, dan artikel seterusnya akan diteruskan pada perkakasan lain.

Jadi apa yang kita perlukan:

1. Kad tangkapan video mesti menyokong pemacu UVC, seperti ini. Pilihan
penuh di aliexpress dan kedai Cina yang lain.

UVC ialah pemacu sumber terbuka piawai yang disertakan secara lalai dengan kebanyakan pengedaran Linux, pemacu lain mungkin bermasalah.

2. Penukar VGA ke AV:



Catatan! Anda memerlukan VGA ke AV, dan bukan sebaliknya.

3. Arduino UNO, iaitu UNO, kerana ia mempunyai cip Atmega16u2, ia menarik minat kami terlebih dahulu. Di sini ia berada di sebelah port USB, terdapat juga arduins dengan cip Atmega8u2 yang akan berfungsi dengan kedua-duanya.

4. Dan sudah tentu, Raspberry Pi, saya mempunyai versi 2 b, jadi semua yang ditulis dalam artikel ini adalah relevan untuknya, tetapi secara umum, saya fikir tidak sepatutnya ada kesulitan khusus dengan model raspberi lain.

Memuat naik pengedaran

Baiklah, data input diberikan, mari kita mulakan. Saya menggunakan pengedaran 2015-05-05-raspbian-wheezy, ini mungkin tidak penting, manipulasi selanjutnya harus sesuai untuk mana-mana pengedaran berasaskan Debian.

Kami menyambungkan papan tangkapan video ke raspberi, lebih baik menyambungkannya terus ke USB tanpa menggunakan kabel sambungan USB, terutamanya yang disertakan dengan papan, jika tidak brek video, raspberi membeku, dan lain-lain mungkin berlaku.

Pergi ke konsol, kemas kini pakej:

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

Penghantaran video

Semak sama ada papan telah ditentukan:

Ls /dev/video*
Ia sepatutnya mengeluarkan sesuatu seperti: /dev/video0.

Pasang Motion, kami akan menyiarkan imej yang ditangkap melaluinya:

sudo apt-get install motion -y
Mengedit konfigurasi autorun:

Sudo nano /etc/default/motion
Tetapkan start_motion_daemon kepada 'ya'. Simpan perubahan Ctrl + x, y, Enter.

Mengedit konfigurasi gerakan(a) itu sendiri:

sudo nano /etc/motion/motion.conf
Tukar nilai parameter seperti berikut:

Parameter mentakrifkan pelancaran aplikasi sebagai perkhidmatan:

Daemon hidup
Parameter ini menentukan resolusi imej yang dihantar, tidak masuk akal untuk menetapkan resolusi yang lebih tinggi, kerana. tangkapan video dihadkan kepada piawaian PAL atau SECAM, yang resolusinya ialah 720x576. Ngomong-ngomong, ini adalah kekurangan yang malang, tetapi lebih lanjut mengenainya kemudian.

Lebar 800 tinggi 600
Kadar bingkai:

kadar bingkai 25
Lumpuhkan menyimpan tangkapan skrin:

output_normal dimatikan
Kualiti penghantaran imej:

kualiti kamera web 100
Kadar bingkai:

webcam_maxrate 25
Pembatalan sekatan ke atas sambungan daripada ip lain

Webcam_localhost dimatikan
Simpan perubahan Ctrl + x, y, Enter.

Muat semula raspberi:

sudo reboot
Kami menunggu selama beberapa minit jika semuanya dilakukan dengan betul, LED pada papan tangkapan video akan menyala.

Kami menyambungkan penyemak imbas ke port raspberi 8081 dan melihat segi empat tepat kelabu atau biru dengan masa berjalan dari bawah.

Proses telah bermula, kami sedang mencari mangsa untuk menangkap isyarat dari port VGA, kami menyambungkannya ke port "VGA IN" penukar, dan kad tangkapan video ke "VIDEO OUT". Anda harus mendapatkan sesuatu seperti gambar ini, jangan takut, saya mempunyai kabel yang buruk, jadi imej itu "berganda", saya mencubanya dengan imej lain, ia lebih baik, tetapi resolusi tidak boleh diubah. 720x576 adalah had penukar dan kad tangkapan video, yang, dengan semua keinginan, tidak dapat diatasi.

Nah, mereka belajar untuk memindahkan imej, satu-satunya perkara yang tinggal ialah memindahkan kawalan.

Pemindahan kawalan

Untuk ini, seperti yang anda mungkin telah meneka, kami akan menggunakan arduino. Pilihan jatuh pada Arduino UNO atas alasan, terdapat cip bernama Atmega16u2 yang sangat diperlukan untuk tujuan kami, hanya berkatnya saya berjaya memaksa BIOS komputer untuk mengesan arduino sebagai papan kekunci USB. Secara lalai, sebagai sebahagian daripada papan Arduino, cip ini bertindak sebagai penukar USB ke Serial untuk memuat naik perisian tegar ke mikropengawal Atmega328p, cip segi empat tepat yang besar pada papan Arduino. Sebenarnya, Atmega16u2 adalah mikropengawal yang sama, tetapi dengan perbezaan penting, ia dapat berfungsi secara langsung dengan bas USB. Atmega16u2, dengan perisian tegar yang betul, boleh meniru hampir mana-mana peranti USB. Adakah anda faham apa yang saya dapat? Kami akan menjahit keajaiban kejuruteraan ini dan menjadikannya berfungsi untuk manfaat masyarakat.

Perisian tegar Atmega16u2

Perisian tegar ditemui di Internet yang menukarkan Atmega16u2 menjadi papan kekunci USB yang menerima arahan jenis tertentu melalui Port Bersiri.

Arahan dalam artikel ini ditulis untuk tingkap, manakala pengguna Linux boleh menggunakan yang ini.

Jadi mari kita mulakan, untuk firmware anda memerlukan utiliti daripada pengilang yang dipanggil Flip. Muat turun, pasang, jalankan dan di sini kami mempunyai tetingkap program:

Pada mulanya, butang (daws) tidak aktif, ini adalah perkara biasa, kami menyambungkan arduino ke komputer dan menutupnya - kami membuka dua kenalan melampau dari sisi port USB, RESET dan GND.

Peranti baharu akan muncul dalam sistem yang dipanggil, anehnya, ATmega16u2 memasang pemacu (dalam folder dengan program), pilih "Tetapan" → "Komunikasi" → "USB" → tab "buka" dalam program flip, butang harus menjadi aktif. Untuk berjaga-jaga, anda boleh membuat sandaran perisian tegar supaya anda boleh mengembalikan semuanya ke tempatnya. Dalam menu "Fail", klik "Muat Fail HEX", program ini menuntut pada laluan, yang terbaik adalah meletakkan fail perisian tegar dalam akar pemacu C:, pilih fail hex yang dikehendaki dengan perisian tegar, semak sama ada Kotak pilihan "Padam", "Program", "Sahkan" adalah dan klik "Jalankan". Kami memutuskan sambungan - kami menyambungkan arduino dan voila ... Kini kami tidak lagi dapat memuat naik perisian tegar ke arduino melalui USB terbina dalam, tetapi kami mendapat papan kekunci yang sangat baik tanpa butang.

Jangan bimbang tentang perisian tegar arduino, anda boleh memuat turun perisian tegar dari Arduino IDE melalui penyesuai USB Ke TTL yang berasingan, walaupun saya mesti mengatakan ini akan menjadi kurang mudah sekarang.

Kami menyambungkan penyesuai USB Ke TTL, contohnya yang ini:

Kami memerlukan kenalan Putih, hijau dan hitam, ini adalah RX, TX dan GND, masing-masing, kami menyambungkannya ke pin dengan sebutan yang sama pada arduino, hanya sebaliknya RX ke TX, dan TX ke RX. Sentuhan merah tidak boleh digunakan!

Kami menyambungkan USB Ke TTL ke komputer, pasang pemacu, Port COM baharu akan muncul dalam pengurus peranti. Buka IDE arduino dan tetapkan: Papan - Arduino / Genuino Uno, Port - port bersiri kami yang baru dicetak.

Bermula dengan Perisian Tegar Arduino

Mari tambahkan perpustakaan yang diperlukan pada IDE arduino: Ikuti pautan github.com/SFE-Chris/UNO-HIDKeyboard-Library dan klik "Klon atau muat turun" → "Muat turun ZIP". kemudian dalam arduino IDE, pilih tab "Lakaran" → "Sertakan perpustakaan" → "Tambah perpustakaan .ZIP" dan pilih arkib zip yang baru anda muat turun.

Penyediaan selesai, pergi terus ke firmware. Menyalin tulisan saya:

Arduino - Lakaran

#termasuk Papan Kekunci HID; koleksi int; void setup() ( keyboard.begin(); ) void loop() ( while (Serial.available()) (//start loop apabila data tersedia sbor += Serial.read();//read data, tambahkan perpuluhan dalam bentuk if (sbor == 27)(//kemunculan watak jujukan kawalan untuk (int i=0; i<=4; i++){//сложение последовательности if (sbor == 165) {//для определения F1-F12 на разных терминалах могут быть разные значения sbor += sbor; } sbor += Serial.read(); delay(1); } } } if (sbor >0) ( //lompat pada jumlah perpuluhan suis jujukan (sbor)( kes 505: papan kekunci.pressSpecialKey(F1); putus; kes 506: papan kekunci.pressSpecialKey(F2); putus; kes 507: papan kekunci.pressSpecialKey(F3 ;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; kes 344: papan kekunci.pressSpecialKey(F12); break; case 13: keyboard.pressSpecialKey(ENTER); break; case 22: keyboard.pressSpecialKey(ESCAPE); break; case 127: keyboard.pressSpecialKey(BACKSPACE); break; case 9 : papan kekunci. tekanSpecialKey(TAB); putus; kes 32: papan kekunci.pressSpecialKey(BAR RUANG); patah; kes 26: papan kekunci.pressSpecialKey(JEDA); putus; kes 292: papan kekunci.pressSpecialKey(INSERT); pecah; kes 456: papan kekunci.pressSpecialKey(HOME); pecah; kes 295: papan kekunci.pressSpecialKey(PAGEUP); pecah; kes 294: papan kekunci.pressSpecialKey(END); pecah; kes 296: papan kekunci.pressSpecialKey(PAGEDOWN); pecah; kes 182: papan kekunci.pressSpecialKey(RIGHTARROW); pecah; kes 183: papan kekunci.pressSpecialKey(LEFTARROW); pecah; kes 181: papan kekunci.pressSpecialKey(DOWNARROW); pecah; kes 180: papan kekunci.pressSpecialKey(UPARROW); pecah; kes 293: papan kekunci.pressSpecialKey(DELETE); pecah; kes 320: papan kekunci.pressSpecialKey((CTRL | ALT), PADAM); pecah; //tekan alt + del untuk memanggil ctl+alt+del case 346: keyboard.pressSpecialKey(ALT, F4); pecah; //untuk memanggil alt+f4 tekan shift + F4 lalai: keyboard.pressKey(sbor); pecah; ) //Serial.println(sbor);//hanya untuk penyahpepijatan tanpa menyambung ke papan kekunci usb.releaseKey(); koleksi = NULL; ) )


tampalkannya ke dalam arduino IDE dan tekan butang semak. Sekarang peringkat yang paling penting akan bermula, perkara yang paling penting di sini adalah untuk menangkap masa ini, hanya sedikit orang yang berjaya pada kali pertama. Kami menekan butang muat turun dalam IDE arduino, mula-mula garis putih dengan log kompilasi akan berjalan, diikuti oleh yang oren, ini sudah mewujudkan sambungan ke port bersiri, inilah saat yang anda perlukan untuk menangkap dan mempunyai masa untuk menekan butang RESET pada papan arduino. Firmware harus dimuatkan, jika semuanya berjaya anda akan melihat tulisan seperti ini

Avrdude: membaca data kilat pada cip: Membaca | #################################################### # | 100% 0.34s avrdude: mengesahkan ... avrdude: 2934 bait avrdude yang disahkan denyar selesai. terima kasih.
Jika, selepas beberapa percubaan, perisian tegar masih tidak dimuatkan, cuba tukar pin RX dan TX, dan juga semak sama ada pin GND disambungkan dengan selamat.

garisan penamat

Buka konsol pada raspberi dan tulis:

sudo raspi-config
Menu tetapan raspberi akan dibuka, pilih "Pilihan Lanjutan" → "Serial" dan pilih "Tidak".

Mungkin manipulasi ini tidak diperlukan, jadi insurans semula. Parameter ini menentukan sama ada OS raspberi akan berinteraksi dengan port bersiri, interaksi ini diperlukan terutamanya untuk penyahpepijatan, jadi jangan ragu untuk mematikannya, ia hanya akan mengganggu kami, kerana. kami akan berkomunikasi dengan arduino melalui port ini, dan sistem akan menyumbat udara.

Pasang program minicom.

Minicom ialah program mudah untuk bekerja dengan port bersiri.

sudo apt-get install minicom -y
Kami menetapkan hak untuk mengakses peranti, / dev / ttyAMA0 - ini adalah port bersiri yang sama.

sudo chown pi /dev/ttyAMA0 sudo chmod 744 /dev/ttyAMA0
Mulakan minicom:

Sudo minicom -s
Menu program akan dibuka, pilih item "Serial port setup", menu lain akan dibuka, pilih "Serial Device" dengan menekan kekunci A, tulis / dev / ttyAMA0, tekan Enter, kemudian pilih item Bps / Par / Bits di bawah huruf E, satu lagi muncul menu tekan C dan baris Q Semasa: sepatutnya kelihatan seperti ini "9600 8N1" tekan Enter. Pastikan bahawa dalam baris F - Kawalan Aliran Perkakasan: dan G - Kawalan Aliran Perisian: adalah Tidak, secara umum, semuanya harus seperti dalam tangkapan skrin di bawah, tekan Enter.

Simpan tetapan ini sebagai lalai "Simpan persediaan sebagai dfl" dan tutup "Keluar dari Minicom".

Sambungan

Kami pergi lebih jauh, kini kami mempunyai hampir segala-galanya siap, ia hanya perlu menyambungkan arduino ke port bersiri raspberi, seperti ini:

Terdapat satu titik di sini, arduino dan raspberry mempunyai tahap voltan yang berbeza dan, secara teori, mereka perlu diselaraskan, saya menasihati anda untuk membaca artikel itu.

Walaupun semuanya bekerja untuk saya secara langsung tanpa penyelarasan, anda tidak seharusnya meniru contoh yang buruk dan membeli penukar tahap logik, yang paling mudah kelihatan seperti ini:

Atau sekurang-kurangnya memasang pembahagi voltan pada perintang.

pelancaran

Semuanya sudah siap, anda boleh mulakan.

Kami menyemak semua sambungan, hidupkan pi raspberi, pergi ke konsol raspberi, mulakan minicom. Saya akan membuat tempahan segera, saya menyambung ke raspberi melalui ssh, saya menggunakan KiTTY (versi PuTTY yang diubah suai) sebagai pelanggan, ini penting. dengan terminal lain, nilai kekunci yang dihantar mungkin berbeza dan, oleh itu, perlu membuat elaun untuk angin - menukar nombor peralihan kes suis.

Secara umum, saya menyerahkan kepada anda seperti yang mereka katakan "seadanya". Baiklah, saya mungkin akan selesai dengan ini, IP KVM buatan sendiri sudah sedia.

P.S.

Akhir sekali, saya akan menerangkan apa yang berlaku dalam sisa kering.

Kelebihan:

- Harga
- Peranti itu ternyata agak murah
- Raspberry Pi: kira-kira 2700 rubel.
- Arduino UNO: kira-kira 400 rubel.
- Penukar VGA ke AV: kira-kira 700 rubel.
- Kad tangkapan video: 500 gosok.
- Jumlah: 4300 gosok.

- Penalaan halus
Anda boleh memintas hampir mana-mana kombinasi dan menetapkan hampir semua kekunci kepada mereka, sehingga KEYBOARDPOWER dan VOLUMEUP, dengan cara ini, anda boleh melihat nilai yang mungkin dalam fail pengepala HIDKeyboard.h, atau anda boleh menambah anda sendiri.

Kekurangan:

- Brek kedua-dua video dan penghantaran klik
- Yang kedua dan terbesar ialah kualiti gambar, emotikon sedih hanya diperlukan di sini, ia adalah dahsyat, walaupun anda mengurangkan resolusi pada komputer sasaran kepada minimum, maksimum yang boleh dilakukan adalah untuk mengkonfigurasi BIOS dan memilih item dalam pemuat but. Tetapi bukankah KVM sebenarnya diperlukan untuk ini?.. Dan untuk semua yang lain, ada radmin dan seumpamanya.

Tag: Tambah tag

Sejurus selepas lebih daripada satu komputer muncul di rumah, saya mempunyai keinginan untuk menyelamatkan diri daripada sentiasa menukar papan kekunci dan tetikus kepada unit sistem yang berbeza. Oleh itu, saya memutuskan untuk membeli peranti yang menarik, yang saya tulis dalam artikel terakhir - suis KVM atau suis KVM.

Dengan bayaran yang sederhana sebanyak 477 rubel, rakan-rakan Cina menghantar perkara yang indah ini melalui pos. Saya mengambil beberapa foto untuk menunjukkan kepada anda dan menghantar suis ke tempat yang sepatutnya di mana ia akan kekal lama sehingga ia dilitupi lapisan habuk tebal atau pecah lebih cepat.

Semua kandungan pakej adalah KVM 2-port dan 2 wayar khas untuk menyambung ke komputer. Orang Cina tidak melepaskan filem pembungkusan, jadi semuanya selamat sampai.

Foto di bawah menunjukkan bahawa suis mempunyai 3 penyambung VGA (satu untuk monitor dan 2 untuk unit sistem), serta 3 port USB. Terima kasih kepada mereka, sebagai tambahan kepada papan kekunci dan tetikus, kami juga boleh menyambung, sebagai contoh, pencetak, yang juga akan bertukar dari komputer ke komputer bersama-sama dengan peranti lain.

Pada penutup atas peranti terdapat butang suis yang besar, yang mudah ditemui dalam gelap. Tetapi ramai saintis komputer suka bekerja pada waktu malam dan, dengan cara itu, sangat sia-sia (siapa yang peduli mengapa - baca artikel saya). Terdapat juga 2 penunjuk LED pada bekas yang memberitahu anda port mana yang sedang digunakan. Di bahagian belakang suis KVM terdapat pelekat yang mengatakan bahawa peranti boleh berfungsi dengan resolusi sehingga 1920x1440.

Peranti disambungkan mengikut skema berikut:

KVM itu aku letak betul-betul di atas meja supaya mudah aku capai dengan tangan. Akibatnya, ruang kerja di sekeliling suis kelihatan seperti ini:

Selepas pelancaran pertama, saya mendapat kejutan kecil dalam bentuk imej kabur dan malap. Anda boleh menggunakan monitor dengan gambar sedemikian hanya jika anda ingin menanam penglihatan anda dalam beberapa hari.

Pertama sekali, saya memikirkan tentang Suis itu sendiri, tetapi selepas mencari maklumat di Internet, saya menyedari bahawa puncanya adalah kabel berkualiti rendah yang disertakan dengan kit itu. Tetapi itulah faktor penentu dalam memilih pesanan ini! Sekali lagi, orang Cina jatuh cinta!

Untuk diri saya sendiri, saya dapati penyelesaian berikut: Saya menyambungkan kabel dari unit sistem terus ke monitor, kerana saya mempunyai 2 input pada monitor (dvi dan vga), dan menukar antara mereka dilakukan dengan menekan butang pada monitor itu sendiri . Oleh itu, untuk beralih kepada mengawal komputer lain, bukannya satu butang pada kvm, saya juga perlu menekan butang pada monitor untuk menukar "gambar".

Bagi mereka yang tidak mempunyai output monitor yang betul, terdapat satu lagi penyelesaian mudah. Daripada wayar yang disertakan bersama kit, sudah cukup untuk menggunakan kabel dan wayar vga biasa bersama-sama dengannya usb A ke usb B(beginilah cara kebanyakan pencetak moden disambungkan). Saya fikir saya akan menggunakan kaedah ini sebaik sahaja saya mendapat 2 kabel USB yang diperlukan. Dengan kaedah ini, kami mengekalkan sepenuhnya fungsi peranti.

Secara umum, saya mempunyai tanggapan positif daripada menggunakan kvm, kerana perkara itu benar-benar berguna, walaupun terdapat sisa daripada ketidakgunaan wayar lengkap. Jika anda memutuskan untuk memesan yang sama untuk diri sendiri, saya nasihatkan anda untuk mengambil satu suis kvm sahaja supaya tidak mengambil risiko dan tidak membayar lebih untuk wayar.

Jika anda mempunyai sebarang soalan, tanya mereka dalam komen, saya dengan senang hati akan menjawabnya.



Kami mengesyorkan membaca

Atas