Updating the Raspberry Pi Webcam

I built a streaming webcam showing the view from my downtown Oakland apartment in November 2012. I used a Raspberry Pi (Model B Revision 1.0) and the Raspian Wheezy (2012-10-28) image. For the webcam/web server software, I used MJPG-streamer. The problem with MJPG-streamer is that if the images/stream is available on the internet, then anyone can access the software.

Recently my Raspberry Pi began to lose the WiFi connection. In researching various solutions, I disabled WiFi power management on the Edimax EW-7811Un nano-size USB WiFi adapter. That didn’t solve the problem. I switched to Ethernet but the connection still dropped.

I found a nice script for “Rebooting the Raspberry Pi when it loses wireless connection“. It’s a script that runs in crontab and checks for a network connection by pinging a local address. If the ping fails, it restarts wlan0.

The checkwifi.sh script worked great, but then I had an issue with the video stream image oscillating. The image would continually go between light and dark and the only way to stop it was to restart MJPG-streamer.

I decided to update to the current Raspbian Jessie with Pixel and some other webcam software. The Motion-Project seemed not to difficult – I could use it as a streaming webcam. I decided to use Motion 4.0 and Kenneth Lavrsen’s Motion 4.0 Guide to help set it up. I don’t know if the image oscillation is an issue caused by using the Creative Live! Cam Chat HD (auto exposure?) but this current setup seems to have resolved the issue.

Windows Server 2012 on a Macbook

Server Manager, Windows Server 2012After the failure of an old computer running Windows Server 2003, I setup Windows Server 2012 on a Macbook.

Years ago, I set up a Sony Vaio PCG-Z505HS running Windows Server 2003 at home so I could keep up with Macs and Active Directory. When I recently experienced problems with DHCP and DNS, I discovered that the Vaio had died. There was no LED power indication. My troubleshooting consisted of jiggling the power connector and checking the power supply voltage. When I measured voltage from the AC adaptor, I gave up, using the rationale that it had lived its useful life. The Vaio, with a Pentium 3, 500 MHz CPU, was introduced in January 2000.

Coincidentally, I had a hardware failure in my Macbook (late 2006), so I decided to repurpose it as a domain server using an evaluation version of Windows Server 2012.

The Windows Server 2012 installation was simple using the Server with a GUI mode installation. The Server Manager and configuration tools greatly simplify the setup. With Windows Server 2012 on a Macbook running silicon introduced in 2006 – an Intel® Core™2 Duo Processor T7200 that has Intel® Virtualization Technology (VT-x), the next step is to try virtualization. As a Macbook running OS X, I successfully ran VMware Fusion VMs running Ubuntu and Windows 2000, though I forsee the 3 GB of RAM in the current system will be a limiting factor.

The best part about running an Active Directory domain at home is joining computeres to the domain. The welcome message says, “Welcome to the lower_slobbovia domain.

Macbook in a Mini-ITX Case

Macbook (late 2006), disassembled

My Macbook (Late 2006) has gone through many modifications and operating systems. Recently, it decided to stop responding to keyboard or trackpad input. Instead of trying to replace the trackpad/keyboard cable (which I’ve done once already), I decided to put logic board of the Macbook in a Mini-ITX case and try an evaluation version of Windows Server 2012.

ifixit’s MacBook Core 2 Duo Logic Board Replacement guide was helpful with the disassembly. After removing the logic board, I stripped the bottom case of the remaining parts (SSD, hard disk, speakers, display, etc). The MacBook logic board was short enough to fit in the case with the ports and connectors lining up with the opening for the Mini-ITX backplane.

Macbook in a Mini-ITX Case

I thought using the Macbook bottom case would be the best way to mount the system board because the case helps to align the MagSafe connector and the fan/heatsink assembly. I also wouldn’t have to mount other stand-offs in the Mini-ITX case. I used Dremel cut-off wheels to cut down the case bottom. To mount the logic board in the Mini-ITX case, I used double-sided foam tape.

The wiring for the ancillary devices – Wi-Fi, Bluetooth and speakers – were routed around the inside of the new case. The Mini-ITX case came with a bracket to mount 3.5″ hard drives internally but with non-standard headers on the logic board, I abandoned that idea. There was also a power supply, which I removed. I wired the power switch on the front of the case to the trackpad/keyboard connector on the logic board.

I had already removed the DVD drive when it stopped working in the summer of 2011 and replaced it with an SSD. I used double-sided tape to mount the SSD and the second hard drive to a bracket mounted above the logic board. Eventually, the short cable for the second hard disk failed and when I replaced it, the connector on the logic board failed from too many insertions.

When I first powered it on, it actually worked. The Mini-ITX case is slightly larger than a Mac mini (200 x 225 x 56mm vs 197 x 197 x 36mm) and slightly less attractive but it works. My only regret was breaking the circuit board for the system LED when I was disassembling the case.

Raspberry Pi Webcam

 Raspberry Pi Webcam

I’ve had a webcam serving live images using WebCam2000 running on my Macbook. I recently bought a new webcam, a Creative Live! Cam Chat HD (it was cheaper, $25, when I bought it August 2012). The previous webcam I was using, a Vivicam 3350B (I bought it on Woot! for $8.50 in 2005), didn’t have a Windows 7 driver and I was using Windows XP Mode and Windows Virtual PC – it was a little cumbersome.

When the Raspberry Pi was released, I thought it would be a great webcam server. I ordered one from Allied Electronics last July, but they never had stock. When Adafruit started selling them, I bought one.

After I acquired a compatible USB keyboard and dug up an Intellimouse Explorer 3.0, I started out with the 2012-09-18-wheezy-raspbian image. Googling found a Romanian site, BobTech, with an excellent tutorial for setting up a Raspberry Pi streaming webcam (English Google translation). Basically, the instructions just worked.

Later, I bought an Edimax EW-7811Un USB Adapter and with the current 2012-10-28-wheezy-raspbian image, WiFi was even easier to setup. The only change I made in the network setup was to give the Raspberry Pi a static IP address so I could find it. I edited wlan0 section in /etc/network/interfaces:

iface wlan0 inet static

address 192.168.1.115

netmask 255.255.255.0

gateway 192.168.1.1

nameserver 208.67.222.222

wpa-ssid Skynet

wpa-psk xxxxxxxxxxxxxx

I made a change to have MJPG-streamer serve a single image instead of a stream. Instead of using http://raspberrypi:8080/?action=stream, I used http://raspberrypi:8080/?action=snapshot. I use a script to reload the page every 10 seconds.  In mjpg-streamer.sh, I set FRAME_RATE=”10″ You really don’t see much action unless it’s windy.

Once the Raspberry Pi was setup, I used puTTY to connect to it, so I can start mjpg-streamer and do other things without having the Raspberry Pi connected to a monitor.