30 ms·
Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi
- mtlynch 6y agoAuthor here. Happy to answer any questions or take any feedback about this post.
- pdevine 6y agoDude, thanks so much for this. I have a loud machine I’m using for ML stuff and I’ve been reluctant to move it to the basement as I didn’t want to have to run downstairs with a monitor for the odd issue. I also looked at KVMs and was annoyed at the prices. I have a R Pi sitting here I was looking to do a project with. This is perfect!
- mtlynch 6y agoOh, that's great! So glad it was helpful!
- simlevesque 6y agoHow would you remotely connect to something like this ? using something like ngrok ?
- mtlynch 6y agoYeah, I haven't looked into that much because everything is on my local network. ngrok looks like it would work. One of my users is looking into remote.it, which seems like a similar service.
- gyrgtyn 6y agozerotier
- jimatremoteit 6y agoI work for remote.it. If you or your users need any help setting up remote access to the TinyPilot let us know. This looks like a great application. We can make ssh/VNC/http on the Pi available remotely over internet as a free service no problem.
- mtlynch 6y agoOh, that's awesome. Thank you!
- fock 6y agoor VPN on your router? or just get a VPS and run wireguard.
- ghaberek 6y agoWould a Pi Zero W work for this, or do you need a full-size Pi 4? I would think that with the HDMI dongle doing the hardware MJPEG encoding, a Pi Zero might suffice. It'd be really neat to A) bring the cost down another $30 and B) be able to package everything into a tiny 3D printed case.
- mtlynch 6y agoThanks for reading! >Would a Pi Zero W work for this, or do you need a full-size Pi 4? I tested Key Mime Pi (the keyboard-only version) on the Pi Zero W and it worked great. I haven't tested TinyPilot on the Pi Zero W, but I think it will work. The video encoding is happening in the HDMI dongle, so it doesn't hammer resources much. I don't have a USB to microUSB adaptor on hand, but I'll order one now and see if it works. >be able to package everything into a tiny 3D printed case. Yeah, that would be neat! One of the biggest issues I have with TinyPilot's setup right now is that it looks kind of like a bunch of random hobbyist parts stuck together. A 3D printed case would be good and wouldn't have the heat issues that Pi 4 has.[0] [0] https://www.jeffgeerling.com/blog/2019/best-way-keep-your-cool-running-raspberry-pi-4 https://www.jeffgeerling.com/blog/2019/best-way-keep-your-co...
- cricalix 6y agoYou might also be able to use the "standard" radio kit metal boxes - tap some standoffs, carefully drill some holes for wires etc. Dunno which works out better for the world - ordering a pre-fab metal box that you have to do some work on (or perhaps use https://www.frontpanelexpress.com/ https://www.frontpanelexpress.com/ to get a customised enclosure), or printing something from plastic. Might depend on production volume, metal used etc.
- trm42 6y agoDo you happen to have any idea, whether older RPIs like 1 or 2 could work for this fast enough? Have some of those laying around.
- mtlynch 6y ago
- wojciii 6y agoCool project, but what about power management? What happens if the PC being controlled crashes and does not let you reboot it using keyboard shortcut? I'm might be damaged by testing and working with embedded development.
- swsieber 6y agoIf you can plug stuff into it, just use the KVM from a laptop and sit by it.
- fanatic2pope 6y agoPlug it into a smart outlet running tasmota.
- mtlynch 6y agoThanks for reading! >Cool project, but what about power management? What happens if the PC being controlled crashes and does not let you reboot it using keyboard shortcut? Yeah, that's one of the limitations. TinyPilot can't control power for the target computer. I don't know of any way to manage power without connecting the Pi to the target machine's motherboard, but that increases complexity significantly. I'm using this for a homelab, so it's easy for me to walk over and cycle power if that ever comes up, but for this to support more remote scenarios, I'd need to address this.
- baq 6y agohook up a gpio pin to a reset switch jumper somehow?
- wojciii 6y agoAPC produces (or rebranded) power control modules you can control over Ethernet. They are probably expensive. There are most likely cheaper products which would work. You should probably implement some kind of power control interface that could be used. Calling a shell script would be enough and some example implementations provided by your users. :) It doesn't need to be complicated.
- oakwhiz 6y ago
- tinco 6y agoThis is epic, I run a small computer cluster using workstation hardware (AMD 3970X's) and no IPMI boards exist. If I get some time I might build 7 of your little system to manage them all. Thanks!
- mtlynch 6y agoAwesome! I'd love to hear how it turns out.
- silverp1 6y agoAny thoughts on how this could work with VGA for example?
- mtlynch 6y agoI believe it should work with a VGA to HDMI adaptor, as another commenter suggested[0], though I haven't tested this personally. [0] https://news.ycombinator.com/item?id=23928401 https://news.ycombinator.com/item?id=23928401
- tlamponi 6y agoReally nice, exactly what I need just now as I'm setting up a remote workstation/part-time server at my families farm, but did not have a motherboard with IPMI/iKVM at hand. Oh, and thanks for using Proxmox VE! Was positively surprised when I saw our installer flash up out of nowhere :)
- mtlynch 6y agoWow, thank YOU for making Proxmox! I'm switching over after three years of Kimchi[0], and Proxmox does everything so much better. [0] https://github.com/kimchi-project/kimchi https://github.com/kimchi-project/kimchi
- tlamponi 6y agoGlad to hear that you like it! For (integrated) mouse support you could take a look at a project from a good friend and colleague: https://github.com/Blub/netevent https://github.com/Blub/netevent Allows passing along arbitrary input events over the network and more.
- mtlynch 6y agoThanks! I'll check it out.
- da39a3ee 6y agoThis isn't an area I know anything about but I really enjoyed your write-up (I still don't know what KVM stands for! But I get that you wanted to act as a physical keyboard and display over IP). From a quick skim of your site it looks like you've worked at large companies and now are doing some independent projects. Do you think you'll go back to working for a company (perhaps a smaller one?), or do you see yourself working independently for many years? I ask because (a) I'm also casting about at a similar point in my career doing independent projects, but (b) I've never worked at a truly large company, and (c) (someone like) you seem(s) like you'd be a great colleague to work with, and (d) my vague ambition is to work for a small company with skilled colleagues that I can learn from and to work on "technical" projects as opposed to product development but (e) I guess, when I see talented people such as yourself apparently rejecting the conventional job market, I partly infer that they've looked at what's on offer and declined and thus that I'm deluding myself in thinking that I'll find something in the conventional job market that I really want.
- mtlynch 6y agoThanks for reading! >I still don't know what KVM stands for! Oh, keyboard, video, mouse. The article does define it, but it's a little buried. >From a quick skim of your site it looks like you've worked at large companies and now are doing some independent projects. Do you think you'll go back to working for a company (perhaps a smaller one?), or do you see yourself working independently for many years? I'd love to continue working for myself forever. My ideal would be if I could find a business sustainable enough that I can hire 2-5 developers and other teammates to work with me. If I did have to go back to being an employee, I'd probably lean toward something smaller. It's very much about your temperament, what type of work you enjoy, and how much you value flexibility and autonomy. A good way to test the waters is by building a side business and see if you enjoy it more than your job. You can also read/hear more about the lifestyle in places like Indie Hackers[0], Starter Story[1], and WIP[2]. But I agree with you that you pass up certain kinds of growth by working on your own. I'm happy that I had ~10 years of experience with big companies before doing my own thing. I learn a lot on my own, but I don't think I could have learned a lot of my software "craftsmanship" kind of skills (e.g., designing for maintainability, creating repeatable, well-documented processes) had I not worked for Google and Microsoft. [0] https://indiehackers.com https://indiehackers.com [1] https://starterstory.com https://starterstory.com [2] https://wip.chat https://wip.chat
- PaulKeeble 6y agoHave you looked at a solution for controlling the power on/off yet? This was something I was considering to do with a Raspberry PI and a relay and I figure it is the final part of the solution for when the machine inevitably crashes. Admittedly if its just across the room it was less of a concern but I have had the need to restart while I was away before and it would be nice to be part of the solution.
- MayeulC 6y agoThis is a pretty simple thing to achieve electrically, just plug something instead of the power button inside the computer. You likely just need one mosfet. If soldering is too uncomfortable, you can find relays to control the main power supply (requires screwing a power supply cable and a couple dupont connectors). If you don't want to touch anything related to electronics, you could rely on enabling a watchdog on boot-up. Or control if from a smart power supply (you likely have a UPS plugged in, for instance). Use the power after power loss BIOS feature, or WoL to wake it up.
- tootie 6y agoIf this just requires USB and HDMI, it should theoretically work identically a for Mac Mini or even something like a Fire TV, yes? Is there an upper limit on resolution and frame rate for the dongle?
- mtlynch 6y ago>If this just requires USB and HDMI, it should theoretically work identically a for Mac Mini or even something like a Fire TV, yes? I believe so, but with the caveat that I haven't tested it. Does Fire TV take USB keyboard input? I have successfully captured video from a Roku Premiere[0], even though it's HDCP protected. The LKV373A couldn't capture anything out of it, but the $11 dongle did just fine. But that was just video capture. I didn't have a way of sending input to the Roku. >Is there an upper limit on resolution and frame rate for the dongle? Yes, the limit is 1280x720px @ 30FPS. [0] https://twitter.com/tinypilotkvm/status/1277994838210875392 https://twitter.com/tinypilotkvm/status/1277994838210875392
- tootie 6y agoI have a Fire TV brick (not stick) and it has a USB A port that I've successfully used with a mouse at least. I don't have a keyboard handy to test.
- Uhhrrr 6y agoI love how this is a project which puts together several different projects which are themselves the product of significant amounts of effort: RPi, the HDMI-USB dongle, the browser, and uStreamer. I think we are in for an interesting decade or so of people plugging things together like this. I'm curious why you use the browser instead of ffplay for decoding and display. I'd guess ffplay would be faster - but maybe not?
- mixmastamyk 6y agoFor one, it wraps the screen and input into one window. Using two would be unwieldy.
- fock 6y agoand today I was wondering how to solve the video problem! that's great timing.
- msbroadf 6y agoI was wondering if you could try my usb-ip software for the hdmi dongle. https://www.virtualhere.com https://www.virtualhere.com (ill give you a license key) i think this is quite useful for my customers and its something i was looking for. Can you pass the dongle directly through to your pc (no need for intermediate software) and see what the performance is like.
- mtlynch 6y agoThanks for reading! I'm not sure that VirtualHere would work in this scenario because it looks like it requires code on the client computer. I'd like to encapsulate all the software on the Pi so that the client computer doesn't need anything more than a web browser. The other tricky issue is that uStreamer is optimizing the stream to drop frames from the dongle when it detects that the browser is falling behind, so we'd lose that functionality.
- cerberusss 6y agoFantastic project. Amazing how you overcame each obstacle, and very well written to boot. Kudos. Quite funny how you brought 1000 ms latency down to 200 ms. I wonder how this compares to iDRAC and that Raritan device.
- mtlynch 6y agoThanks for reading! Yeah, it was kind of like the perfect difficulty level for this kind of project. If it was two months of work to get it working at all, I probably would have gotten discouraged, but it worked out that every couple weeks I was rewarded with a breakthrough that substantially improved the latency until it was finally a practical tool.
- cm2187 6y agoI don’t know about iDRAC but I used raritan a bit for some home projects and it’s not super fun. I couldn’t connect it on HDMI when the server was already running, it had to be connected before the boot. For both VGA and HDMI, it sort of works, there is a clunky but functional java desktop application, the screen is often off by a dozen pixels (part of the screen hidden) and the pointer too. For new servers, I just buy a supermicro motherboard with IPMI and stop worrying. You can set up an IP based firewall within IPMI, so that only a handful of IPs can even connect, plus a very strong password, and I am not too worried about exposing it to the WAN (I know it’s not a great idea but I don’t know any alternative that doesn’t require another U in a datacentre)..
- EvanAnderson 6y agoI've used virtually all of the iDRACs. They're probably in that 200ms area (based on my gut feeling w/ no empirical measurements). They've been fairly responsive in my experience.
- Bnshsysjab 6y agoOut of curiosity do they bring any functionality that this device does not?
- 6y ago
- numpad0 6y agoThat MacroSilicon MS2109 capture is super interesting! $11 shipped for 1080p30 capture is unbeatable. I wonder what kind of host SBC is going to be necessary to build a clone BlackMagic ATEM Mini without choking up USB bandwidth.
- mtlynch 6y agoAh! That's the name of it. Thanks! I didn't know how to tie it to any kind of identifier.
- mmastrac 6y agoA USB 2.0 device can use up to 480Mbps and MJPEG is on the order of 10s of Mbps (estimated), so I don't think you're anywhere near needing to worry about bandwidth. Your biggest complication will be real-time re-encoding and compositing with effects.
- numpad0 6y agoI can't believe it until I see it. I've seen USB EHCI choke up from just three webcams.
- vidanay 6y agoI'm all in favor of cool projects, and I have done my fair share of useless experiments. But wouldn't it just be simpler to attach a dumpster-sourced monitor and keyboard to the server in question for the 3-4 times a year you brick it? To me the idea of a locally placed 1:1 KVM "switch" (huh? it's not switching anything if it's 1:1) is crazy. It makes sense if it is remotely located, but not if it's within your own home.
- detaro 6y agonot sure why you talk about "switch"? The word never appears in the article? And at such a no-brainer price (especially if you already have a Pi), kind of worth it just to avoid the hassle of moving a screen around.
- vidanay 6y agohttps://mtlynch.io/tinypilot/raritan-kvm.png https://mtlynch.io/tinypilot/raritan-kvm.png
- mtlynch 6y agoI think the confusion is that the original comment was worded as if I called TinyPilot a switch, but I think you're actually saying you think it's strange that Raritan calls their device a switch, despite the fact that it's only 1-port.
- dewey 6y agoOf course it would be simpler, but it's also addressed multiple times in the blog post why he decided to do it anyway. I'm glad he did because it looks like a fantastic project.
- CyberDildonics 6y agoRemote monitors like this are occasionally used in offices so that powerful workstations can be put in racks. I'm not completely convinced it is a great idea, even for that application, but it does get used in those instances quite a bit.
- cmer 6y agoThis is a game-changer! Thanks for all your work on this. Do you have any plans to allow controlling more than 1 computer remotely? I'd love to implement this in my homelab.
- mtlynch 6y ago>This is a game-changer! Thanks for all your work on this. Thanks for reading! >Do you have any plans to allow controlling more than 1 computer remotely? I'd love to implement this in my homelab. Right now, I can't think of a way to do this. The Pi only has one USB OTG port, so I don't know of a way to share that among multiple machines. A friend suggested an interesting solution of chaining TinyPilot together with a "dumb" multi-machine KVM that supports switching via hotkey. So it would go: TinyPilot -> legacy KVM -> server1, server 2, ... You could still use a web interface and hop between servers using keyboard shortcuts that the legacy KVM understands.
- cmer 6y agoThat's a really great and simple idea, actually. I might give this a try.
- RealStickman_ 6y agoFunnily enough I'm waiting for my hdmi to usb capture card to arrive so I can play on my PS3 while also having the option of switching back to the desktop instantly.
- swiley 6y agoThat has to add a lot of latency. Although honestly I think some of the latency complaints by gamers are a little much. Personally I have a Bluetooth mouse/keyboard connected to my desktop with a super duper cheap projector pointed into the living room and can play FPS games on it just fine.
- ctas 6y agoIt has a lot of latency indeed. I tried the raspberry as a Steam Link alternative, but as far as I know the ethernet port is not suitable (?). I've also read that it actually gets worse if you plug in any USB peripherals. Correct me if I'm wrong though.
- swiley 6y agoYes the Ethernet port is on USB so you’re sharing (the already small) bandwidth between that and all the peripherals. This may have changed with the pi4 though.
- RealStickman_ 6y agoIt probably won't work. Though I think it could still be a fun project. Maybe I'll use it in the same way the author does in the end.
- grosswait 6y agoI just finished building a Pi KVM about a month ago using project https://github.com/pikvm https://github.com/pikvm. Has been great so far.
- mtlynch 6y agoYeah, I'm really impressed with that project and love Max's work! There's a bit of a barrier to entry though, as it requires you to compile the OS yourself. My goal with TinyPilot was to create something that's easier for newcomers to install and simpler for me to reason about.
- grosswait 6y agoAny plans to add power control to tiny pilot?
- x87678r 6y agoThis looks awesome. I was looking for a solution like this last year. I budgeted a few hundred bucks but couldn't find anything. Ideally would have a way to handle a few different boxes. I did see something called Intel AMT, part of Intel vPro. https://www.howtogeek.com/56538/how-to-remotely-control-your-pc-even-when-it-crashes/ https://www.howtogeek.com/56538/how-to-remotely-control-your... Does anyone have experience with this? (I have AMD box so doesn't help me) - actually looks like AMD has similar https://developer.amd.com/tools-for-dmtf-dash/ https://developer.amd.com/tools-for-dmtf-dash/
- Haemm0r 6y agoIt works, however you need a non-free special client called VNC Viewer Plus [1]. Afaik it is Windows only. You can enable regular VNC protocol capabilities for AMT[2], but then you can't use the interesting stuff anymore. [1] https://www.realvnc.com/en/products/viewerplus/ https://www.realvnc.com/en/products/viewerplus/ [2] https://blog.michael.kuron-germany.de/2011/10/using-intel-amts-vnc-server/ https://blog.michael.kuron-germany.de/2011/10/using-intel-am... //edit: link [2] added.
- tyingq 6y agoThis seems to show a reasonable option from Linux: https://www.cyberciti.biz/faq/remotely-access-intel-amt-kvm-linux-desktop/ https://www.cyberciti.biz/faq/remotely-access-intel-amt-kvm-...
- plett 6y agoI've used instructions similar to those to get AMT KVM working with a normal VNC client, it works fine. The only catch is that the AMT seems to intercept all traffic to port 5900 coming in through the NIC, not just that addressed to the IP of the AMT. It's only the "legacy" port 5900 VNC which is affected, the other ports such as 16992 for AMT's web admin are unaffected.
- vetinari 6y agoYou can use meshcommander[1], which has a nodejs version that runs under linux and mac. Then you just have to pay attention to your certs (if you are using https), because browser policy will apply. [1] https://www.meshcommander.com/meshcommander https://www.meshcommander.com/meshcommander
- ape4 6y agoSorry to ask but what's it cost to buy a KVM over IP device?
- EvanAnderson 6y agoYou're not going to find a decent one sub $500. Used devices can be had for less, but most of the older ones I've seen use terrible Java-based clients that are a major pain to get running on modern browsers. For multi-device KVMs you usually have to figure in the prices for the individual interface module dongles that plug into each computer, too. StarTech makes a USB-to-KVM that looked promising to me, but it's still >$400: https://www.startech.com/Server-Management/KVM-Switches/Portable-USB-PS-2-KVM-Console-Adapter-for-Notebook-PCs~NOTECONS01 https://www.startech.com/Server-Management/KVM-Switches/Port...
- ape4 6y agoThanks and that StarTech doesn't have HDMI. Maybe its cloud VMs that are removing the need for KVM over IP. I still want it.
- AaronFriel 6y agoI wouldn't say cloud VMs have removed the need, they've just made infra admins have to live without it. For the most part it's fine on well supported and tested OSes but before the container/kubernetes revolution I managed some personal VMs with esoteric distros in various clouds and so many things have to go right for that to work. A bad update or install of grub, initrd, dhclient, a handful of system services and maybe systemd, or sshd and the machine is effectively dead. You have to attach the disk to another machine to debug it. A more extreme example was when I went down the rabbit hole of trying to set up remotely unlocked full disk encryption on a cloud, just to see what was possible. This was maybe 4-5 years ago. This involved a pre-boot environment that would run from memory only, packaged into an initramfs and used dropbear as an ssh server to accept a connection. I really, really wish cloud VMs had virtual KVMs. It turns out, it's really easy to mess this up, and when you do recovery is Non Trivial. The best I found was that Azure's cloud allows you to connect (read/write!) a virtual serial port via web interface so you can use the Linux serial console to recover. That was a game changer for playing with this. If dropbear failed to come up, I at least got a shell into the pre-boot environment.
- EvanAnderson 6y agoThis looks great. To be useful in the datacenter environments I work in such a device would need VGA capture, though. Most servers don't have HDMI ports in my experience. Anybody know of a good, cheap V4L2 USB-based VGA capture dongle?
- diabeetusman 6y agoCould always add another dongle with something like this: https://www.amazon.com/dp/B07BKYBKGP https://www.amazon.com/dp/B07BKYBKGP maybe?
- bserge 6y agoMost obvious choice, but the USB port might not be able to provide enough power. You could splice in an external adapter with a bit of work, though :)
- Nexxxeh 6y agoI've used one of these a couple of time and they work great, not yet hooked up into the HDMI cap device but can test if anyone is interested.
- Nextgrid 6y agoNot sure if they are still easily available but look into https://blog.benjojo.co.uk/post/userspace-usb-drivers https://blog.benjojo.co.uk/post/userspace-usb-drivers.
- louwrentius 6y agoMost servers have built-in IPMI.
- C1sc0cat 6y agoOh nice I will have to look into this as I was considering Using a dual pc set up for streaming and this would be great for controlling the second pc (mac mini) I want to have main pc for running ROLLd20 and a daw - then use a mac mini to run the processed audio from my DAW into hangouts. This is so I can properly play in audio and , music cues as well as altering my voice to suit the character eg a galdos style for a robot
- lukevp 6y agoYou could probably do this with the loopback features of a podcast style interface and not need a second computer. The one I use is the MOTU M4, the M2 is a little cheaper. https://m.youtube.com/watch?v=IKjKymjc_R8 https://m.youtube.com/watch?v=IKjKymjc_R8
- C1sc0cat 6y agoYes I have looked at virtual loop back like Voicemeeter and might be able to do it with the routing aspects of the focusrite software. It is of course the sort of thing that should be baked into the OS.
- mtlynch 6y agoThanks for reading! I'm not an audio guy, so I can't comment on how well it would suit that scenario, but it sounds like a neat pipeline, and I'd love to hear about it if you end up building it.
- C1sc0cat 6y agoI was more a better way of remote controlling the mac vnc works but its a bit crap. The main idea was for GM's to use mood music to set the tone or for audio effects the classic red alert should for a sf based game. What I wanted it for was real time voice changing for character voices - basically the flanged goa'uld or the glados formant shifting robot voice or the classic Dalek voice
- NietTim 6y agoGreat little project! I had no idea capture cards got that cheap
- mtlynch 6y agoThanks for reading! Yeah, my understanding is that these capture cards are fairly recent. I think my timing was pretty lucky because a lot of earlier projects had to do HDMI->S-Video and S-Video->USB[0] to keep costs down because there weren't any inexpensive HDMI->USB options at the time. [0] https://github.com/Fmstrat/diy-ipmi#setting-up-the-hardware https://github.com/Fmstrat/diy-ipmi#setting-up-the-hardware
- jwatzman 6y agoIf you're looking to buy the card in the article, I just got one of these https://www.aliexpress.com/item/4000958505670.html https://www.aliexpress.com/item/4000958505670.html which looks to be exactly the same card, and doesn't require scouring eBay. I haven't done much with it yet, but can confirm that it arrived to me in the UK with no issues, and seems to work from a quick test.
- dukoid 6y agoI have given up on KVMs altogether and I am using the following approach now: - Most monitors have multiple digital inputs. Connect each computer to one of them - Use a USB switch keyboard and mouse - Before switching the USB switch, press the "lock screen" key combination and make sure locking the screen drops the video signal - After switching the USB switch, pressing shift should bring up the login dialog and re-activate video output. Since the monitor has just lost the signal in the previous step, it will scan the inputs and switch to the desired signal.
- jbob2000 6y agoI did this for a while, the problem is that there's really no such thing as a high-quality USB switch. They are all garbage and mess with USB devices in some way (at least at the consumer level).
- GordonS 6y agoI switched from a KVM to a USB switch a few years back, and haven't had any real issues with it. I don't think it was expensive either, just a standard USB 3 switch with only 2 ports. Occasionally it takes more than a few seconds after pressing the button for the switch to happen, but that's about it.
- BoysenberryPi 6y agoThis is my experience as well. I currently use a USB switch that I got off of Amazon for about 15 bucks. It typically "just works." Press the button, wait 2 seconds and my input devices have switched.
- TacticalTable 6y agoCare to share it? The one I have will work for a few switches, then both Windows/Mac will eventually stop recognizing the port its connected to until a reboot.
- znpy 6y agothe best thing in this article is the immediate link named "I don’t want your life story; just tell me how to build it "
- mtlynch 6y agoHaha, that was inspired by my experience of searching cooking recipes online.
- erikig 6y agoWhich begs the question - which cooking recipes start off with a biography of the author? Now I want to see those!
- mtlynch 6y agoOh, they all kind of do that. "Life story" is an exaggeration, but most recipe authors provide a lot of fluff backstory to a recipe before sharing the instructions because Google seems to favor longer content in search results. Here's a not so egregious example on a blog I follow, but it's ~8 paragraphs of fluff before they explain the recipe: https://www.ketoconnect.net/protein-waffle-recipe/ https://www.ketoconnect.net/protein-waffle-recipe/
- ed25519FUUU 6y agoReally neat project. Small optimization, you can use the RPI’s gpu accelerated h264 decoding and free up a lot of CPU: Change: ffmpeg -vcodec libxh264 To: ffmpeg -vcodec h264_mmal
- mtlynch 6y agoThanks, good tip! I ended up not using ffmpeg after I discovered uStreamer, but this is a good trick to have in my back pocket.
- fowl2 6y agoInteresting! I wonder if it'd be possible to skip the capture card and have the pi act as a USB graphics adaptor. Most firmware environments probably don't support them I guess.
- yencabulator 6y agoI fear that's gonna end up as one of those "we transport HDMI over an USB-C cable without making it actually be USB" things that require hardware support. (And the "USB monitor" projects meant to be a second display need drivers, seem to all be way too proprietary, and won't work for early boot.)
- rasz 6y agoI wager no firmwares support them at all. Those work only after whole system boots up and loads appropriate drivers.
- yetanta 6y agoUsing a timer on a screen to SEE latency. Why did I not think of that?!
- mtlynch 6y agoThanks for reading! I got the idea from danman, but his setup is much cooler than mine: https://blog.danman.eu/new-version-of-lenkeng-hdmi-over-ip-extender-lkv373a/ https://blog.danman.eu/new-version-of-lenkeng-hdmi-over-ip-e...
- superkuh 6y agoThe hardest part of this seems to be the V in the KVM and the solution of the author's is pretty neat. But I think things could still be improved by dropping his keyboard/mouse setup and just switching to the standard: barrier/synergy, https://github.com/debauchee/barrier https://github.com/debauchee/barrier
- mtlynch 6y agoThanks for reading! I'm not familiar with Barrier, but is my understanding correct that it requires software running on the target computer? If that's true, it wouldn't work for things like installing a new OS or managing BIOS because you'd have to wait for the computer to boot up fully before you're able to enter keyboard or mouse input.
- jseutter 6y agoWhile Barrier works well, TinyPilot is more capable. TinyPilot gives you full control of the remote machine, including BIOS screens. With Barrier you rely on having Barrier running on both machines, so you can't use it for things like reinstalling an operating system. Or fixing a machine that won't boot.
- mudkip 6y agoThis is pretty cool (for managing servers cheaply), but I remain disappointed that remotely controlling computers over a network with low latency is still a difficult task. I've been trying to find a way to use a bunch of machines remotely over my LAN (for gaming / media playback on multiple devices), and have been somewhat disappointed at the quality / latency of the various options I've played around with. It's especially disappointing when you have 10gbps networking, and sending uncompressed 1080p60 video over over the network with a couple ms of latency should be trivial, from a bandwidth perspective. Obviously this is a different problem than what you're trying to solve (remote management, so you have to do HDMI + USB stuff in hardware, adding some latency), but it's still annoying that there aren't great lower latency software options.
- xiao_haozi 6y agoSteam link does it, and fast enough to play games with no noticeable latency. Not sure what the magic is, though.
- mudkip 6y agoI haven't tried Steam Link yet, but I might give it a shot. I was originally looking for purely remote desktop stuff for a combination of managing computers and gaming, so I was mostly testing stuff not specifically marketed to gamers. Ideally I'd also like something that does software<->hardware (at higher latency obviously), so I can stream older computers or game consoles to a variety of devices as well. I did end up trying Parsec, since I saw some people recommending it, and that was terrible. Latency was fine (~10ms software <-> software) and video quality was alright, but audio quality was terrible despite being set to the highest option - which is especially bad, because there's no option to send uncompressed audio, and whatever "optimization work" they were doing to reduce bandwidth made their entire product unusable, despite the fact that there's no need to try saving 1mbps over a wired LAN.
- fock 6y agothe cool thing about this solution seems also, that it conveniently alleviates the "need a screen"-problem of the windows-screencapture-approach.
- bserge 6y agoThis is some great timing, I might need a KVMoIP setup soon and I couldn't find anything cheap. Very nicely written article, thanks!
- mtlynch 6y agoAwesome, glad it was helpful! Thanks for reading.
- Naac 6y agoThis is a great writeup. I wonder if this can be extended to connect multiple servers to a single Pi.
- systemBuilder 6y agoThis guy has apparently never heard of lynx browser. He wasted $40 and a lot of time because of that!
- detaro 6y agoHow does lynx browser help you adjust the BIOS or fix the boot process of a remote machine?
- dannyw 6y agoHey OP, I was reading your linked HomeLab article and you mentioned you'd rather have gotten a mobo with integrated GPUs next time. Actually, motherboards do not include integrated graphics, it's all in the CPU/APU. The mobo you linked would not provide graphics either. AMD unfortunately does not have a high end APU released to consumers right now (there are some 4000 series, but only to OEMs I believe). However, for a HomeLab setup, you might find a cheap GPU to be useful for many things (including hardware video transcoding).
- dsr_ 6y agoFor years and years, many motherboards did have graphics sets integrated in. These days, you'll still see that on a lot of server-class motherboards. e.g. https://www.supermicro.com/en/products/motherboard/M11SDV-4CT-LN4F https://www.supermicro.com/en/products/motherboard/M11SDV-4C... -- the line about AST2500 BMC graphics? That runs a VGA port.
- btown 6y agoI'm guessing the rationale for this is that even if the server's CPU can support onboard graphics, you wouldn't want to change the CPU's load profile just by plugging in a monitor to debug something? Or even to support CPUs that have no onboard graphics support?
- dsr_ 6y agoMostly the second -- the high end Intel and AMD CPUs don't have integrated graphics, and nobody wants to spend precious PCIe slots on a graphics card that won't be used except at install time and emergencies... or is more useful as a GPU slot that never produces video output.
- cptskippy 6y ago> Actually, motherboards do not include integrated graphics, it's all in the CPU/APU. You should probably qualify that as current generation. There's plenty of last gen Intel and AMD solutions with onboard dedicated graphics. I think the advent of GPU acceleration in servers and APUs for low end machines has impacted demand for these motherboards in current gen products.
- Neil44 6y agoI got a cheap Lantronix Spider KVM from eBay, it works quite well. Mine was an older VGA model but you can use it with a DP or HDMI to VGA adapter.
- TwoNineFive 6y agoI also have a couple of Lantronix Spiders. I use them at remote client sites. Some of the models have video-passthrough, which is an awesome feature. The ability to redirect an SMB share or local disk image to an emulated disk over the network is also a great feature for installing an OS. I recently had seen some article on CNX about those cheap USB video adapters and wondered about doing something like this to replace these old Spiders. There is definitely a market for a low-cost product here. It doesn't have to be perfect. As the article highlights, the pricing for this kind of product is just stupid.
- fulafel 6y agoA major con of the enterprisey ilom systems (such as the idrac) is their atrocious security track record. You are basically giving up your "the network is untrusted, I can survive its compromise" badge if you plug in one of those.
- parliament32 6y agoWell those ports should never face the internet anyway. Most servers will have a dedicated (physical) port you use for IPMI or whatever -- vlan that and only allow access from your VPN. If you're extra secure you can full on disable the switchport until you need it.
- extrapickles 6y agoMake sure in the BIOS to disable fallback to one of the other ethernet ports. Quite a few IPMIs will listen on eth0 if it looses the dedicated IPMI port link by default.
- fulafel 6y agoThis fail-open "should" is bad besides for the obvious reasons, also because it'll be extra ops complexity compared to a secure kvm widget that you don't have to handle with kid gloves. (And thirdly because of the sibling comment noted footgun.. or silent foot-boobytrap more properly)
- parliament32 6y agoThe problem is BMC has an astounding array of features[1] that are worth the operational complexity. This isn't just KVM like in OP's post... being able to remote mount images is a godsend when you're provisioning a server or diagnosing hardware issues or doing a BIOS update on the other side of the globe (with your other alternative being shipping a flash drive[2], then paying $200/hr for DC remote hands to plug it in for you). [1] https://www.supermicro.com/en/solutions/management-software/bmc-resources https://www.supermicro.com/en/solutions/management-software/... [2] don't even try to talk about PXE booting if you've never tried to get DHCP+BOOTP to work over a WAN
- Jaruzel 6y agoI have a similar solution in place. For reasons ... I have a machine that is 100% locked down by the client. I cannot install software on it, nor does it have any sort of remote access tools installed on it. To keep my work space clear, and negate the need for second monitor (as I need to be able to see the screen of this machine AND my main machine at the same time), I use an Elgato CamLink HDMI dongle[1] to capture the video output of the machine, and I use VLC to display it in a window on my main desktop. I use a bluetooth keyboard and mouse combo to control it. The latency on the video capture is very low (it doesn't feel any more laggy than a normal remote sesson), and as an added bonus I can screen capture the video stream, which is really useful for documentation. The CamLink is locked at 1080p, so as long as the machines desktop resolution matches that, I get a very crisp picture. I've been using this setup for almost two years now, on a daily basis with no issues. -- [1] https://www.elgato.com https://www.elgato.com
- bsharitt 6y agoNice, I had thought about an HDMI capture device but plugged it in, played with it for about 5 minutes trying to tune out the latency(I'm not exactly and ffmpeg pro) and didn't make much head way. I was also using either a pi 2 or 3, so that maybe have been part of the problem too. I'm glad someone actually had the time to see it through and put together a solution. Having one of these would have been super useful the past few days when I was having kernel panics due to a failing root disk on my home server, but I had any spare monitors stored away because I'm in the middle of moving. I'll have to give this a look once I get all settled in again.
- twicetwice 6y agoThere was another approach to the same problem posted on HN just yesterday[0], which took a very different route! Very interesting to compare/contrast the two appraches. That one doesn't do video, just gets you a terminal. (Not sure if it would let you mess with the BIOS or install a new OS like this one does? Not familiar enough with serial ports to assess.) But anyway, TinyPilot is super cool! I'd love to get it set up one day. And the "life story" as to how it came to be was really neat, and made me feel like I understood the whole solution. Great article! [0] https://news.ycombinator.com/item?id=23915777 https://news.ycombinator.com/item?id=23915777
- crypt1d 6y agoKVMs have been a the bane of my existence over the last 10 years. Almost 99% of the time they come with some ancient Java dependency that breaks on any modern OS and is barely usable. Not to mention the nightmare-ish KVM experience big players like OVH and Hetzner provide. This is a superior solution to all of them.
- louwrentius 6y agoNo. Modern IPMI is HTML5 based. Lightyears better than the old java/.net clients or this (awesome) hobby project.
- crypt1d 6y agoSure, the modern ones are better. But they are also very expensive, and usually only come with the higher end hardware too. If you are looking for a reasonably priced server today, you are likely to end up with the shitty Java-based KVM.
- TheSmiddy 6y agoDell, HP, Lenovo, and Supermicro all have firmware patches for their current line of servers that replace the java kvm with html5 versions. I assume most other manufacturers are following suit. It would be exceptionally rare to buy a brand new server today with a java based remote console.
- wjdp 6y agoNot tried anything like this before: looking at TinyPilot and Pi-KVM which one should I use? I'm happy doing some soldering. Is there anything that TinyPilot has that Pi-KVM doesn't? Has Pi-KVM added support for the HDMI dongle you used?
- mdevaev 6y agoPi-KVM can do all the same, and it also supports IPMI, VNC, and Mass Storage Device emulation. The only difficulty is that for the USB dongle to work, you need to add a couple of options to the config, because it's not yet supported out of the box. Everything else will work on its own.
- mtlynch 6y agoThanks for reading! I'd say, in short, Pi-KVM is more feature rich, while TinyPilot is simpler and more approachable with less functionality. Pi-KVM has several nice features that TinyPilot doesn't yet have, including power management, mouse support, authentication, TLS, and USB storage mounting. TinyPilot has a quicker install. Pi-KVM requires you to compile the OS locally, which takes about an hour. If you've got a Raspberry Pi OS system (aka Raspbian) already, you can configure it for TinyPilot with two commands, and the install takes 5-10 minutes. One of my goals with TinyPilot was to avoid a requirement for soldering/jumper cables, but if you don't mind soldering, that might not matter much to you. Pi-KVM works without soldering as well, but the documentation assumes soldering/breadboards. I hope that there's space for both projects, and Max and I have talked about ways to potentially collaborate.
- wjdp 6y agoI do too! Much healthier when multiple projects are tackling a problem from multiple perspectives. Your write-up has already shown both projects benefiting. I wouldn't have heard about this space at all without this article. I'm looking to build a new home-server and was looking at mobos with management support. No need for that now though! Now looking for ways to keep the Pi inside the server case. Ideally want to have a ethernet, power jack and HDMI end built into a PCI bracket so it remains movable. Thanks for the detailed reply. I'll likely give both projects a go.
- ed25519FUUU 6y agoI can't tell if the USB port that usually delivers power is the only one that supports "USB Device Mode" (USB OTG). Can someone confirm? If I could use any port, then there would be no need for powering the pi with a serial USB adapter.
- radiowave 6y agoFrom memory, this is correct. It's only the USB-C port that allows OTG operation. I remember a while back seeing someone selling a special splitter cable for the rpi4 which provided 2 separate USB connectors, one for powering the rpi and one for attaching the pi as a gadget to a USB host port. But I can't remember where I saw it, and haven't been able to turn up a link to it.
- fuzzy2 6y agoVery nice. I’ve been looking into the same thing, with a different video grabbing method though: A HDMI-to-CSI bridge (Auvidea B101/B102). Hopefully, this could somehow work with a Raspberry Pi Zero W, which is very compact and also supports USB-OTG. Unlike the Raspberry Pi 4, a single USB port can easily power it. Unfortunately, the much more powerful B102 bridge isn’t available. :(
- tmikaeld 6y agoRaspberry 3B is too slow for this?
- Nexxxeh 6y agoMore likely the lack of OTG being an issue, as elsewhere in the comments the author showed the CPU usage of the Pi 4. It's not even making a dent. It's super low overhead. I'd be surprised if it maxed out a 3B.
- rglover 6y agoThis is great, Michael :) One question before I buy... I'd like to use these to do development work like you suggested, too. Is the Hacker option the build with the best latency/least issues (set it and forget it)?
- mtlynch 6y agoThanks for reading! Honestly, the overhead from TinyPilot is so small that it's just a question of how powerful you want the device for other activities. Here's a screenshot I took earlier today on a Pi 4 with 2 GB of RAM. TinyPilot is streaming video over WiFi, and top shows that it's only using ~4% of CPU and ~2% of RAM: https://imgur.com/GadzDOr https://imgur.com/GadzDOr
- rglover 6y agoSold. Just picked one up. Thank you for figuring this out and making it easy to get!
- iron2disulfide 6y agoThis is cool. Any chance this would scale for many machines? I have a ~15 machine lab with no KVM setup right now, and could really use something like this if it works for a large number of devices.
- jolmg 6y agoI'm not really into electronics, but I imagine it wouldn't be that difficult to control the switch of a cheap KVM-switch with the GPIO pins of the RPi. One might even control multiple KVM-switches and daisy-chain them.
- iron2disulfide 6y agoHaha, I am kind of the opposite: I work on electronics, and am not much of a sys admin. One of the problems I've run into is that I haven't found a single switch solution with enough connections. I could build a multi-level multiplexer with many switches, but that's too much effort. If TinyPilot can support multiple KVM-over-IP connections, it would be a perfect fit for me.
- jolmg 6y ago> If TinyPilot can support multiple KVM-over-IP connections, it would be a perfect fit for me. RPis only have 1 OTG port, though. A device that could get it to handle more machines with that single port would functionally be a KVM-switch. I don't think there's a way around that, at least not one that'd be cheaper or more practical.
- tjoff 6y agoCouldn't you just connect a usb-hub?
- jolmg 6y agoI don't think there are usb-hubs that can work with the idea of one slave to multiple masters. Do you know of a USB hub that would work to connect one keyboard to multiple computers? That'd simply be against USB protocol. KVM switches are the devices that allow you to connect one slave to multiple masters by giving you a control of what master the slave should engage with at any one time.
- burnte 6y agoOy! I've been designing a HAT for a year to do this, but it would take VGA rather than HDMI. You've done well! :D
- lxe 6y agoOh man, the video latency woes. I've been going through the same motions trying to get minimal-latency stream-to-browser from an Amcrest (Dahua) IP camera. Their app and cloud services leaves much to be desired, so I tried to roll my own. They cameras send h264-encoded stream over rtmp but also through some kind of custom HTTP protocol which their browser app (requiring a scary binary native plugin) decodes, but it's challenging to reverse-engineer.
- hasperdi 6y agoFrom experience trying to minimise latency of Raspberry Camera stream, two biggest factors of latency are H264 encoding (maybe because it's temporal) and RTMP. MJPEG and UDP/TCP streaming work better (for me at least).
- captn3m0 6y agoWas stuck with latency issues on a unrelated streaming project, thanks for writing about ustreamer - going to try that out.
- deleted 6y ago[deleted]
- somethingwitty1 6y agoAwesome! I could have built this with what I have at home, but I purchased because this is something worth supporting.
- mtlynch 6y agoThanks for reading and for purchasing!
- annoyingnoob 6y agoA cool solution to a common problem.
- cptnapalm 6y agoI tried something like this, but instead of a KVM, a remote "terminal" for multiseat in Linux. usbip worked fine, but I couldn't get video to work for a damn. The idea was to have the main computer stream video from one seat to the RP and act as a client for the keyboard and mouse attached to the RP using usbip. Had I been able to get the video portion to work, then next step would have been setting the RP to boot to a fullscreen vlc (or what have you) which displayed the gdm login screen from the main computer.
- martinmunk 6y agoI've long considered creating a KVM IP thingie for VGA video with a BeagleBone Black. IIRC the PRUs (200mhz coprocessors) and the on-chip ADC should be fast enough to sample the video as-is, and have DMA access into main-cpu ram.
- naggie 6y agoBrilliant idea. I have an idea to extend this! 1. A relay to reset the PC like iDRAC/iLO 2. 2 dual pole relay to move a USB flash drive to and from the PC it's connected to, in combination with (1) you could then boot ISOs remotely by dd-ing the ISO to the flash drive and then connecting it to the host PC with a relay
- deleted 6y ago[deleted]
- agwa 6y agoIt should be possible for the Raspberry Pi to emulate a USB flash drive using the OTG connection, though I'm not sure if it can emulate a keyboard and a mass storage device at the same time. It would be a very valuable feature for sure.
- bronco21016 6y agoThe GPIO should easily be able to handle doing a reset by connecting with jumpers directly to the motherboard. I guess there may be some circuitry required... I'm not positive on how the standard motherboard pins work.
- devwastaken 6y agoAre there any projects that can do similar but on a VPS? Used to be a group video service called rabb.it where you could get a streamed Ubuntu desktop for groups that you can control through the browser.
- tfolbrecht 6y agoCheck out Apache Guacamole! "clientless remote desktop gateway" basically VNC/RDP through a browser https://guacamole.apache.org/ https://guacamole.apache.org/
- bronco21016 6y agoBecause of COVID my work on the road has come to a screeching halt. I was always using my iPad with an external keyboard for nearly everything and became really accustomed to having iMessage always a key command away. Now I work at home at a desktop with Ubuntu. It's a huge disruption to use iMessage now as I have to switch devices/keyboards. I had the thought of doing almost exactly this with the Ligthning-> HDMI adapter and some form of Bluetooth keyboard emulation. I can't wait to build one of these and start experimenting.
- rjeli 6y agooh, i wrote software that does this over airplay wifi mirroring and a bluetooth dongle as a mouse. i gave up because I couldn’t convince my phone to take a tablet hid profile for seamless mouse capture. it’s messy but I’ll throw it on github in a bit
- bronco21016 6y agoHow did you get the AirPlay mirroring working? Is there a library available for that? If I could just do that and use my keyboard's ability to switch bluetooth devices that might be sufficient.
- rjeli 6y agohttps://github.com/FD-/RPiPlay https://github.com/FD-/RPiPlay
- babuloseo 6y agogreat blog post! will try to watch the video at some point.
- jbj 6y agoI use barrier on my raspberry pi, and have a keyboard shortcut to pick wich machine receives the keystrokes and mouse movement. Additionally to this keyboard shortcut, I also need to click a button on my monitor since it can receive hdmi from multiple machines. It works great, If I could get it done with only a keyboard shortcut, I would only pick this solution if it does not induce additional lag.
- louwrentius 6y agoI respect this effort, I think it's a great accomplishment. I think most people are better off building their own home (lab) server with a motherboard that supports IPMI (KVM over IP) natively. Supermicro (only brand I've experience with) or other brands that build server motherboards all include IPMI with HTML5 support. Doing so will save you a lot of trouble. Maybe you may not be able to run the kind of hardware you want, but it's all a tradeoff. You have to choose. I have HP Microservers (quiet) and a Proliant (loud) all with ILo (HP IMPI) and it's awesome.
- voltagex_ 6y agoSo the recent Supermicros have a HTML5 iKVM, but mine originally came with a Java-only thing. When I had to send my box away to get repaired (Intel C2000 bug) it magically came back with a newer firmware that wasn't listed on their site and supported HTML5. I haven't been able to get remote ISOs working with the new interface, though.
- toast0 6y agoAt my last job, some of the Supermicro servers I worked with needed their SSD firmware updated. The hosting company's firmware update tool didn't actually update the SSD firmware (ugh) and it took forever, so I started doing the updates with remote ISOs, but some of the hosts had gone through the hosting company's tool which sometimes updated the IPMI firmware even though I didn't tell it to (double ugh). For those, I ended up loading the ISOs via PXELINUX's ISO loader. Kind of gross, but it got the job done -- might be an option for you?
- voltagex_ 6y agoYeah, I think PXELINUX and iPXE are using the same kind of tricks to load ISOs like this (if anyone wants to do a writeup I'd love to read it). I think I'm going to have to dig in and understand the "redfish" API that also appeared with the update.
- pdimitar 6y agoI'll use the opportunity to ask for a KVM switch help here if that's not breaking the board's rules (and I feel it's related to the topic): I got a company laptop recently and bought an Aten CS782DP KVM switch so I can reuse my gaming PC's monitor on it (using DisplayPort 1.4 cables). But when using my gaming PC the display now flickers very often when gaming and it's driving me crazy. Some people said it's the length of the DP 1.4 cables (they are very short though, <1m), some even say gas spring chairs introduce signal disturbance (wtf?), others say make sure the DP 1.4 cables don't touch any other cables. In any case: would a KVM switch like the one in the post help? I suspected NVIDIA's G-Sync but turning it off for several days made no difference. :( For the record, the display runs at 144Hz in both Win10 and Ubuntu. But it only flickers in Win10. The only thing that comes to mind is that the miniDP-to-DP cable that runs from my PC's videocard to the KVM switch is no good -- but not sure. I sadly can't use the KVM switch's DP-to-DP cable because my videocard only has miniDP on its rear. Anybody had similar struggles in the past?
- techntoke 6y agoHave you tried lowering to 60Hz in Windows to see if it helps? What about another switch?
- pdimitar 6y agoIn the very few games I play 60Hz is way too low so I haven't attempted it at all -- I want the maximum Hz/FPS. As for another switch, I am open to ideas if you have them. In my local market I was only able to find like 2-3 of them [that support DP 1.4] and they are all north of $250 -- which I don't mind but it would be non-pleasant to buy 5+ of them just to experiment. Maybe my requirement for DP 1.4 is silly though. Maybe HDMI would be fine.
- techntoke 6y agoMy guess is that switch simply doesn't support 144Hz, so if it works at 60Hz then you have your answer.
- nanomonkey 6y agoKVM = Keyboard, Video and Mouse For those, like me, who were ignorant of this particular use of KVM, and couldn't find it in the article or comments.
- Severian 6y agoYou could also probably add power/reset functionality by hacking something like this: https://www.amazon.com/SilverStone-Technology-Wireless-Computer-SST-ES02-USB-USA/dp/B0859PKPKT/ https://www.amazon.com/SilverStone-Technology-Wireless-Compu... Or possibly just wiring up a transistor to the power button pin (not sure if it sources or sinks) between motherboard and the Pi, and just hold it high until it boots.
- smcleod 6y agoJust be careful with that - it doesn't look like it's encrypted, so you could easily have random people resetting your server or you might even be opening your neighbours garage door ;)
- deeblering4 6y agoThis is a cool project, but I’ve given up on KVMs over IP because they are laggy and offer you a screen shot of the remote system at best. You can’t copy/paste or easily log the output of a KVM. Most modern x86 systems support boot input/output via serial, as does grub/grub2, the linux kernel and the userspace. It takes some trial and error to get the serial console set up for all steps in the boot sequence, but once that’s done you’ve got out of band access in a standard terminal with output history, copy, paste, etc. Pair this with a switched PDU or “smart” outlet and you’ve got a full remote managed server on a shoestring budget. Any adjacent or spare computer with a usb port can host a $5 usb serial adapter and play the role of the console server.
- michaelyoshika 6y agoGreat product! Although I also gave up on KVM already, I wouldn't hesitate to get a disruptor if it's 10x better.
- cryptonector 6y agoWow, this is fantastic. I think you can cut more latency by getting rid of nginx from the video path. That requires more functionality in ustreamer (e.g., authentication, TLS).
- vmurthy 6y agoIf you want to support the author and purchase the whole kit, here it is https://tinypilotkvm.com/ https://tinypilotkvm.com/ (Edit: No affiliation. Just happy to see something like this for hacking :) )
- mtlynch 6y agoThanks for your support!
- gyrgtyn 6y agoRaspberryIPMI
- neocodesoftware 6y agodell 2162ds are $60 each used on ebay for 16 ports not including pods
- punnerud 6y agoLove this! Startet building the same in 2018 with LKV373A and RPi Zero, and figured out that a better solution (for my need) was to host multiple virtual machines (11 x Ubuntu) under Windows Pro. One of the VMs is used for remote connection with SSH and reverse port forwarding, so i easily can connect, use RDP to Windows ++
- walrus01 6y agoas a side note for things that use the 'uvc' webcam video driver, there's $20-25 microscopes now that are standard usb webcams. Cheap things with plastic lenses. If you had a need to set up a fixed mounted microscope taking 30fps imagery of things on a production line (perhaps for a non critical quality control test?), you could totally do it with a rpi and one of these. https://trendowner.com/products/1000x-zoom-usb-microscope-camera https://trendowner.com/products/1000x-zoom-usb-microscope-ca...
- Chris2048 6y agoalso featured here: https://hackaday.com/2020/07/24/tinypilot-provides-kvm-over-ip-with-low-cost-and-even-lower-latency/ https://hackaday.com/2020/07/24/tinypilot-provides-kvm-over-...
- altmind 6y agoIs there any chance to have remote reset? Getting the control over reset/power pins over the rpi gpio?
- franga2000 6y agoThis seems to be extremely similar to what I've been working on writing up (which I'm slightly salty about :D) and it's great to see this stuff finally getting affordable. My design using the same capture card and a 3D-printed enclosure set me back just under 25€ shipped, which includes KVM, as well as USB/IP, CD emulation and power control (not to mention that you can program it to do basically anything else). I don't even know if anything like it exists on the market, let alone how much it might cost. Despite how buggy and horrible this kind of strange Chinese hardware is, it is absolutely incredible what you can accomplish with it.
- mtlynch 6y agoI'd love to see your write-up when it's ready! I think as more people discover this equipment, we're going to see better and more inexpensive software in this space, and hopefully all these projects can benefit from one another.
- atum47 6y agofantastic tutorial