I know I’m in the minority when I say this, but I absolutely *hate* Raspberry Pi. The thing is useless. I have tried to like RPi — everyone I speak with raves about them. But for me, the board falls in the Uncanny Valley, between “Arduino” and “a real computer”. Every single time I have attempted to put a RasPi into service, I have utterly failed.
You may or may not know me. I’ve been a Unix hack for a long, long time. I know my way around a sudo and an apt-get. Let’s talk about inode tables sometime.
Here’s the latest fail.
I have some IP cameras hanging about; they produce video on http://camera/video.cgi. I don’t care about motion capture. I don’t care about audio. I just want to see what the camera is pointing at, in an easy way.
So, I built myself a dumb little HTML file, with a table, an iframe for each camera, and a label for each camera. Imagine 15 lines of HTML. Load the HTML from a local file into a browser, and magic.
So I decide “Hey, wouldn’t it be nice to have a machine that runs a little webserver to statically serve up this one page of 3 iframes?”, and, like the sucker that I am, I started looking up how to do this with Raspberry Pi.
Just install lighttpd, put your index.html in the appropriate place, and off you go.
three hours later, I finally had all the permissions and apt-get updates and &c done, and I was able to point a browser (from a real computer) at the Pi, and magic.
Then I decided to point a browser from the Pi to the exact same URL, and nothing. I tried a few different browsers, I played with ffmpeg (which is now called avconv) and mplayer and mjpg-streamer and…
five hours later, I gave up in disgust, plugged the monitor from the Pi into the Real Computer, and put a full-screen browser window up “on the second monitor”.
I wasn’t asking much of the Pi. And it wasn’t super loaded-down, either. CPU was at 0 most of the time, and never spiked when I was requesting the iframes. There were even a few moments where I was able to sort of get something displaying (like when I used avconv to RE-ENCODE the video, and then mplayer could play it back), but nothing like a couple lines of config here, and then magic.
For most projects I build, at most I’d need an Arduino (although I have been enjoying going no-chip and “doing it in hardware” lately). Read a couple sensors, blinky the LEDs, turn the motor… all that is dead simple with a µcontroller, no OS required.
But there are times when you’d like to be able to connect over Ethernet (perish the thought that I could get a stupid RPi to bring a wifi connection online by itself, but that’s another story), or store a bit of data to spit back later, and all of a sudden, the idea of a little Linux box starts sounding good. Great, break out the second keyboard and mouse and monitor, boot the little board, and prepare yourself for a few hours of battle. And once you’re all done, you’re going to find that the Pi is not beefy enough to do the job.
9 times out of 9, I need an Arduino. The 10th time, I’ll try a Pi, fail to get it to do anything useful, and figure out how to 1) live without, 2) do it in a simpler way on an Arduino, or 3) waste a “real computer” on a dumb little job.
If you get your dander up, and decide that you absolutely need to show me the error of my ways, let’s talk about the projects I’ve been working on, and let’s get these little guys up and running!
Stupid Raspberry Pi, always ruining everything.