Cameras
Although there is a vast array of cameras that should work with HSS, this section will only consider the more common solutions.

First up is using a Raspberry Pi with one of the official camera releases.

If you have an old Raspberry Pi (like a model 1B), that is collecting dust in a desk draw, or a Raspberry Pi-Zero-W that is not being used - then these devices can be put to good use as an IP camera.

Raspberry Pi and MotionEYE-OS
A quick and easy solution is to flash MotionEYE-OS onto an SD card and pop this into the Pi, connect a camera to the camera port and you are up-and-ready to go.

Here’s a couple of photos of a typical way of connecting a Raspberry Pi and a tiny camera module.

If you read the documentation for MotionEYE-OS you’ll see the URL for the camera’s video stream is: http://<ip_address>:8081

For example:  http://192.168.1.161:8081/   // Obviously YOUR Raspberry Pi will have a different IP address.

Make a note of the Streaming URL as you will need to refer to it when you modify the config file in section 4 of this website.

MotionEYE-OS offers options to assign a fixed IP address to the Raspberry Pi (highly recommended). It is also suggested that you turn on Fast Network Camera as this increases the RPi’s performance at the expense of removing the motion detection feature.


Standalone ESP32-CAM
Next up is ESP32-CAM. This is a low-cost module consisting of a printed circuit board that houses an ESP32 WiFi-enabled micro-controller, a micro-SD card socket, a 2Mega-pixel camera and an on-board voltage regulator. A daughter board is available that has an USB interface chip and two 8-pin sockets. This arrangement enables the ESP32-CAM to be programmed/flashed from a computer.

Although there are quite a few firmware implementations to choose from, this multi-client version has proved very successful.

Go to the author’s GitHub repository - click the green button labelled [ Code ], unzip the file and flash it to an SD card.

It is suggested you allocate a fixed IP address to this device using the address reservation feature in your network router.

The Streaming URL produced by this device looks like this… http://<device_ip_address>/mjpeg/1

For example: http://192.168.1.164/mjpeg/1           // Obviously YOUR ESP32-CAM will have a different IP address.   

Make a note of the Streaming URL as you will need to refer to it when you modify the config file in section 4 of this website.


Using an off-the-shelf IP camera

Here’s one example of an off-the-shelf IP camera - the D-Link DCS-936L.

           

This camera offers the option of a secure login. If you activate this option then the Streaming URL will look like this…

                    http://<user>:<password>@<camera_ip_address>/video/mjpg.cgi

For example…   http://<fred>:<MyPassWord>@192.168.1.167/video/mjpg.cgi

Obviously YOUR off-the-shelf IP camera will have a different IP address.   

Make a note of the Streaming URL as you will need to refer to it when you modify the config file in section 4 of this website.


Using a mobile phone as a camera with DroidCam
There are many ‘apps’ that turn a mobile phone into an IP camera - DroidCam is just one example that is easy to set-up and use.

This is a screen-shot of DroidCam running on an Android mobile phone.

The screen-shot shows the Streaming URL is…  http://192.168.1.214:4747/video  

Obviously YOUR mobile phone will have a different IP address. It’s a good idea to assign it a fixed IP address via your router.

Make a note of the Streaming URL as you will need to refer to it when you modify the config file in section 4 of this website.

DroidCam for Android

Here’s a link to where you can get DroidCam for Android

DroidCam for iPhone and iPad

Here’s a link to where you can get DroidCam for iPhone or Ipad


The next step is to get a web-server installed on your computer.

Go to…    2. NGINX

Home Surveillance System (HSS)
The HSS system is a collection of  ‘flows’ consisting of nodes and a dashboard that forms part of Node-RED running on a server.

Network
Here’s a block diagram of a typical home network.

As can be seen from the diagram the router is the central part of the system and acts as the interface between the Internet and the various devices on the home network. Some of the devices are connected to the router via a CAT cable while others use WiFi.


Hardware

To get started with Node-RED, what a lot of people do is purchase a Raspberry Pi, install the Raspberry Pi OS - so they can run Node-RED - and then connect it to their network.

Although this image is of a Raspberry Pi-4B with 4GB of RAM, other models like the Raspberry Pi-3B should work just as well with HSS.

All recent models of the Raspberry Pi, apart from the Raspberry Pi-Zero-W, have WiFi as well as Ethernet capability so you can choose which method to use to connect it to your network. (The RPi-Zero-W only has WiFi.)

CAT cables tend to be more robust and reliable, especially in a building with thick walls - but might not be as fast as WiFi.

For the sake of this project, it is assumed your server is a Raspberry Pi. If you are using a Mac, a PC or some other box as your server you can still use these instructions although the detail in some of the steps might be slightly different.

The next step is connect your Raspberry Pi to your router using a cable or by joining the network using WiFi credentials.

Here we have shown a Raspberry Pi-4B connected to the router using a networking cable.

This setup allows you to run Node-RED as a server in the Raspberry Pi and to access Node-RED’s editor and/or dashboard from your desktop or laptop. This arrangement is known as running the Raspberry Pi in ‘headless’ mode.

This is the recommended sequence to get HSS up-and-running quickly and easily.

Please take the time to read the material on these website pages and to perform the steps in the sequence 1 through to 4.


1. Requirements  <<< You are here
    This section explains about networks, the extra nodes you need to install for Node-RED and some guidance on
    cameras that work well with HSS.

2. NGINX
    This section explains how to install NGINX, a web server, if you haven’t got one already running on your computer.

3. Install
    This section is a step-by-step guide for the installation sequence of HSS (using the out-of-the box config file)

4. Config file
    This section is a detailed step-by-step guide, explaining how to customise HSS to accept your cameras, etc..

Node-RED
It is assumed you already have installed Node-RED and have created a few flows, so you know a bit about Node-RED. It is also assumed you have activated ‘ssh’ and can login to your PI via a terminal window.

HSS requires a number of nodes beyond the 'basic' nodes and it needs 'ffmpeg' to be installed.

Directions for installing these items can be found in the 'Installation' section.

Other than the above, HSS just uses the basic nodes.

Once you have installed the extra nodes you will need to ‘stop’ and ‘start’ Node-RED so it uses the new nodes.


The next step is to get a web-server installed on your computer.

Go to…    2. NGINX

If you need details on finding a suitable camera to work with HSS, then read on…