Live data from Hacker News

Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

mtlynch.io

191–200 of 284 posts

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#191

This 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)?

Thanks 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

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#192
post #45
post #17

Earlier quoted context omitted.

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? I'm might be damaged by testing and working with embedded development.

Thanks 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 usi…

A horrible way would be to set the target to power on after power loss. Plug the target into a WiFi-controlled smart plug, like the Belkin Wemo. In the event of catastrophic hard lock, power cycle it at the wall.

A better way would be a relay and microcontroller, which you could also potentially use for the USB HID stuff too.

In theory, you could have a HDMI switch, a single Pi and HDMI grabber, and just a microcontroller board for each target machine that could have power button control, keyboard emulation etc built in.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#193

Earlier quoted context omitted.

Well 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.

This 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)

The 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/...

[2] don't even try to talk about PXE booting if you've never tried to get DHCP+BOOTP to work over a WAN

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#194
post #2

Author here. Happy to answer any questions or take any feedback about this post.

Have 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.

This 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.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#195
post #2

Author here. Happy to answer any questions or take any feedback about this post.

Would 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.

The immediate issue would be the Pi Zero W only has one usable (micro)USB port, the other port is Power In only. If you run it for OTG, you can't use it for the dongle.

There would be ways around this though, perhaps using a cheap microcontroller for the USB HID stuff.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#196
I 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.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#197
post #125

Not 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?

Thanks 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.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#198

Raspberry 3B is too slow for this?

More 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.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#199

Earlier quoted context omitted.

Would 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.

The immediate issue would be the Pi Zero W only has one usable (micro)USB port, the other port is Power In only. If you run it for OTG, you can't use it for the dongle. There would be ways around this though, perhaps using a cheap microcontroller for the USB HID stuff.

Yeah I forgot that only one of the USB ports actually does data. I guess you could use a Teensy that interfaces through the GPIO pins and pretends to be the keyboard and mouse.

Re: Show HN: TinyPilot – Build a KVM over IP using a Raspberry Pi

#200

This 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.

Thanks for reading!

I don't think there's a way to get the Pi to capture video or impersonate keyboards for more than one computer at a time.

A neat idea a friend proposed to me was to buy a "dumb" KVM that supports switching through keyboard hotkeys and use that to scale it to multiple machines. See my comment here: https://news.ycombinator.com/item?id=23928251

Post reply on HN