Turing-Complete Slow Cooker

The idea on this one is to put my new slow cooker on the internet, so if I can’t make it home in time to turn it off and have a delicious dinner, I can log in to my apartment over an SSH tunnel and turn off my slow cooker from anywhere in the world. Great idea! Eventually I’ll be able to expand this to other devices. Maybe have my whole kitchen on the internet. Who knows?

The first step is to figure out how to interface with a computer’s parallel port. There are 25 pins on a standard parallel port, and eight of them can be physically controlled to be either 0 or 5 volts. And, as I’ve learned from previous projects, this is enough to operate a MOSFET and control fun things! So I can theoretically control eight devices in the kitchen. I’ll probably plug the kitchen light into it because it’d be easy after what I did to it already, but maybe Bradley’s coffee pot is next…

These ports used to be used for printers but are largely considered “legacy” now, so I will be using a 1996-era Packard Bell with a Pentium II to interface with various appliances. I installed Ubuntu 9.04 (I didn’t have a 9.10 CD but whatever, I’m just using a command-line interface) and then decided to try Python out. I found this page on Ubuntu Forums to start off:

Ubuntu Forums!

After messing around with Python for a little bit I found this tutorial which uses C:


I had to change a couple of things with the source code but I think this is the route I’m going to take. I’m not the world’s strongest programmer but I think this will be enough. Eventually, I may go back and switch to Python because someone wrote a GUI to alter the pins on the parallel port. Any way, I have already been able to SSH into the computer I’m going to use to control the pins on the parallel port and am going to start wiring everything up this afternoon. Clemson’s iced over so everyone’s freaking out and not doing anything interesting, so this will have to do! But to be honest I’d probably be doing this any way. Electricity is awesome.

Leave a comment

Your email address will not be published. Required fields are marked *