Project

General

Profile

Actions

Camera » History » Revision 3

« Previous | Revision 3/5 (diff) | Next »
Hammel, 12 Nov 2019 21:13


Camera

This is only in the idea stage. No development on this has started.

Making remote camera controlled by Ironman has been an interesting problem. Many solutions use Arduinos. But then I ran across an interesting idea using a RPi Zero W set inside a dummy camera housing. That led me to think about how I can use PiBox directly instead of using an Arduino based solution.

ironman camera
High Level Camera Design

The camera is based on a RPi Zero W running a new PiBox Lite release (PiBox stripped of X and other unnecessary components). A web API is built using Mongoose (web server written in C and easily extendable) (or original source) that basically just starts up mjpeg-streamer just as the PiCam app current does. mjpeg-streamer provides a URL that the monitor will access.

The mongoose server is used to reduce overhead - mongoose is self contained and doesn't need a bunch of libraries. On the flip side, nodejs is easy to implement but carries lots of weight (as all scripting languages do) and would require an external programs for running some components.

The monitor is the standard Ironman Monitor with the addition of a new app: IMCameras. This is based on PiCam but supports selection of which camera to visually monitor. It also supports the following commands issued to selected monitors.

  • Start recording
  • Stop recording
  • Play a recording
  • Live view

A stretch goal is to allow display of up to four cameras at once. This would work only if omxplayer can be convinced to display only into a subsection of the framebuffer. Alternatively, a different player with hardware acceleration might be found, such as mpv.

The monitor would need extending to support storage, possibly using a new Ironman storage device that connects via Samba or NFS.

Updated by Hammel about 5 years ago · 3 revisions