Coming Soon: Solar-Powered Security Camera and Securing Your Home Security System
Here's a peek at my current work in progress: a solar-powered Raspberry Pi Zero security camera. I've been tweaking this design for the last couple months and I finally have a working prototype!
The main thing I've been tweaking is the 3D printed housing. I wanted something compact and durable, but also something modular and adjustable. Here's what I came up with:
Here's a close-up of the mount:
I just mounted it on the old pergola in my backyard today. I want to see how it holds up against Virginia's summer heat, humidity, and rain and make final adjustments before I post the tutorial. Main things I'm concerned about:
The hexagonal base holds the lithium-ion polymer battery. I intentionally separated it from the Raspberry Pi (in the oval case) to encourage heat dissipation. The battery gets warm while charging, but not hot to the touch. Unfortunately, I don't have anything in place to monitor battery heat remotely, so I'll just walk out there the next time it hits 95°F and do a touch test.
I designed the little hat (solar panel mount) to cover the power switch and the power input ports. I also sealed the seams and gaps with silicone sealant. Hopefully that's enough!
I'm thinking 2-4 weeks of field testing. We'll see what the weather brings.
Securing the Security Camera
The initial goal here was not to create a solar powered Raspberry Pi camera; it was actually just to create a secure home security camera (the solar power and 3D modeling was just for fun). Most home security cameras on the market today are not secure. Here are some common vulnerabilities:
Unsecure Passwords: If your security camera (or any IoT device) limits password length and prohibits special characters, it's time to find another camera.
Unmaintained Firmware: When was the last time you updated your security camera's firmware? Does the manufacturer even provide firmware updates?
Unencrypted Streaming: Is your video stream encrypted? If not, you've just made it that much easier for a hacker to tap into the stream and spy on you.
On top of all this, many security cameras on the market require their cloud services for video storage. Even when you trust the intentions of the cloud service company, you also have to trust that their facilities and security practices will prevent a data breach. And also that they don't hire dirtbags that will spy on customers for fun.
So this is where Raspberry Pi comes in. Your Raspberry Pi is guaranteed to have OS and kernel updates via apt update && apt upgrade (which you can automate with crontab). You are also able to customize its security to meet your needs.
Here are the tutorials on deck:
How to Setup a Raspberry Pi Zero MJPEG Stream with mjpg-streamer
MJPEG is video-only (no audio), but mpjg-streamer keeps CPU usage under 20%. Other options are available, but should be reserved for Raspberry Pi's with more than one CPU.
How to Setup a Secure NVR Server with ZoneMinder and WireGuard
This server will host a WireGuard server, which Raspberry Pi camera clients can connect to for stream encryption.
This will cover ZoneMinder setup, WireGuard setup, camera addition, local storage setup, and remote access.
Solar-Powered Raspberry Pi Zero Security Camera Assembly
This will be a Raspberry Pi Zero, a 3.5W 6V solar panel, and a 5000 mAh battery. I will post the editable Fusion 360 files for those that want to use different parts.