Since I finally have a little downtime, I thought I’d use this opportunity to explain my fishcam setup in a bit more detail. First take a look at a picture of the entire setup.
1. 10 gallon aquarium
2. USB webcam & servo
3. Laptop (server)
4. Gator ornament
5. Servo (for gator)
6. ioBridge module
9. Temperature probe
Not much to it, is there? As far as the video goes, I use an USB webcam plugged into an old 1GHz laptop. The laptop uses WebcamXP to grab the video stream from the USB camera and serve up the images. The laptop is connected to my router which has a port open for internet traffic to see the video. I suppose I could have used an IP camera, but I put this together with parts I already had.
You may have noticed that my fishcam is interactive. Not only can you pan the camera left and right, but you can open and close the gator jaws. Both actions are controlled by hobby servos (the kind you find in radio-controlled airplanes). For the webcam, I used zip-ties to attach a servo to the top of a miniature tripod. Then I just shoved the servo axle into the button of the webcam. The webcam is manual focus. After setting the the focus with the adjustment wheel, I placed a piece of tape over it. The tape was needed because of the back and forth motion caused the camera to slowly shift out of focus.
The gator is attached to a different servo with a piece of fishing line. I drilled a small hole in the top of the gator head and threaded the line through it. The line then comes up and out of the tank and attached to the servo below. You can see the servo clamped to the side of the aquarium stand with the fishing line running to it in the picture to the right.
So how are the servos being controlled from the web? This is done with a few pieces of hardware from ioBridge.com. The main component is the IO-204 module. It connects to my router through a network cable. Once plugged in, the module establishes a connection with the ioBridge servers on its own. After creating an account and registering the module, I was able to make a few “web widgets” that controlled the servo positions. The widgets were easy to create through a menu based wizard that asked a few questions about my setup. I then had a snippet of code that I inserted into the HTML of this page. That snippet automatically loads the button, which when clicked, moves the servo to the correct position. In order for the IO-204 module to control servos, I needed to get a Servo Smart Board from ioBridge. Basically, this is an accessory board that plugs into module and allows for servo control.
The ioBridge module is capable of doing a lot more than moving servos. Since I had a few open connections left on my ioBridge module, I decided to attach a few probes to track the temperature of the water in the aquarium as well as the outside temperature. Using the same online wizard, I was to make another widget to display the water temperature on this page.
The other aspects of my setup aren’t quite as hi-tech. The main light is on a digital appliance timer. I have the light set to turn off at 11pm and back on at 7am. As my fishcam popularity began to grow, I noticed a lot of visitors were coming to my site when the light was off and seeing nothing. I added the moonlights to at least give them something to look at during the night-time hours. The moonlights are basically a string of blue LEDs. I drilled a row of holes in the aquarium hood and pushed the LEDs through the holes. I just leave the moonlights on all the time. It doesn’t seem to hurt anything.