RaspEye takes a picture at a set interval, opening doors for creating timelapses and livestreams. Technically, it is a Node.js application that you can run on your Raspberry Pi.
The idea for RaspEye came up when I was talking about a video I have to make about my three month internship at We Work We Play. We thought it'd be nice to have a camera following me every minute during my time here. What'd make it even more fun, is a way to look inside the office from everywhere.
The main challenge building this was using the small size of the Raspberry Pi to its full potential. We want it to live in a small box, connected to a wall socket and nothing else. It was important that we could set it once and then forget about it.
The first problem for that was removing display and keyboard access, so everything had to go through ssh. I wrote about that here.
Another problem I ran into was that it sometimes crashed when losing network or server downtime. Having it ran by Forever solved that.
We wanted to be able to position the camera when setting it up, and it's not fun waiting three minutes after every position change to see if the view is better or worse. That's why I wrote a 'burst mode' that takes picture after picture during the first three minutes.
The code for the RaspEye can be found on Github.
Because the main goal was to easily handle files, generate timelapses and have a live view into the office, there had to be some kind of server. The API is a Node.js (Express3) instance with simple endpoints for file handling etc, pushing new files from the server to all connected clients through web sockets. This makes it a decent live webcam.
The website also has a feature to generate movie timelapses with all captures between a certain start- and endpoint.
The server and a sample web app can be found on Github too.