A friend of mine recently took a break at his cabin up north. He wanted to know if I had any recommendations on the technology that could allow him to keep an eye on things from afar. The only challenge is that his cabin is relatively far away and cell or internet service is not available in the area. With that in mind, I wanted to design a solution that would keep an eye on things using a Raspberry Pi, some cutting edge computing, and a satellite connection.
For this project I am using the Constellation of swarms of satellites; it is a low cost solution to provide satellite connectivity for IoT devices in remote locations. Where one solution would be to stream images live from a camera using a high bandwidth connection for offsite processing, this project performs onsite processing (edge computing) instead to send only the results, which allows us to continue this project for a long time. at the low price of $ 5 per month. Here’s how to create a remote cabin monitoring and warning system with a Raspberry Pi, a camera, and the Swarm Eval Kit.
What you will need for this project
How to build a remote cabin surveillance system with a Raspberry Pi
Before you start, set up your Raspberry Pi. If you haven’t already, check out our article on how to install a Raspberry Pi for the first time or how to make a Raspberry Pi headless installation (without keyboard and screen). For this project we recommend a Raspberry Pi headless installation.
1. Install git. We’ll need it to download the code from GitHub.
sudo apt-get update sudo apt-get -y install git
2. Clone the repository to your home directory. This will download all the source code needed for people detection and communication with the Swarm Tile.
cd ~/ git clone https://github.com/rydercalmdown/remote_cabin_monitor.git
3. Run the command “make install” to install all the dependencies of the project. This script will take care of installing the lower level dependencies, as well as the Python libraries that you need for the project to run. The machine learning library we use to detect people is packaged in one of the Python libraries, so it might take a few minutes to install.
cd ~/remote_cabin_monitor/ make install
4. Connect your Raspberry Pi camera to the Raspberry Pi and mount it to the desired location.
5. Test your Raspberry Pi camera by taking a snapshot with the following command.
raspistill -o test.jpeg
6. Assemble and register your Swarm Eval Kit using the instructions in the quick start guide. This will connect it to the network for data transmission.
7. Turn on your Swarm Eval Kit system with the button on the side.
8. Configure your Raspberry Pi Wi-Fi to the SSID of the Swarm evaluation kit. This will need to be done directly on the pi with an external monitor and keyboard. All SSH connections to the pi will be dropped when the pi switches to the Swarm SSID.
The easiest way to do this is to use raspi-config (sudo raspi-config), go to System Options-> Wireless LAN, and then enter the SSID of the Swarm Eval Kit (you will need to find it on another device where it will be swarm-xxxx) and entering a default password of 12345678.
9. Run the app to test it. If the Raspberry Pi is successfully connected to the Swarm Kit, it will send a startup email over the network. Depending on the availability of your satellite, it may take a while to reach your inbox; use this pass checker to determine when a satellite will be overhead.
cd ~/remote_cabin_monitor make run
ten. Configure the application to run on startup by adding a line to the /etc/rc.local file.
sudo nano /etc/rc.local # Add the following line before the last line . /home/pi/remote_cabin_monitor/env/bin/activate && export EMAIL_FROMfirstname.lastname@example.org && export EMAIL_TOemail@example.com && /home/pi/remote_cabin_monitor/env/bin/python /home/pi/remote_cabin_monitor/src/app.py &
11. Place the Swarm Eval Kit in a sky view, and mount the Raspberry Pi and the camera in the desired location.
While running, the Raspberry Pi will continuously extract images from the camera and check them for the presence of a person. If a person is detected, the Pi will send a message to the Swarm Eval Kit, which will then communicate with a constellation of satellites via VHF. The satellites will relay the message to a downlink, and you will then receive an email stating that a person has been detected. The Pi will also send an email every 24 hours that no one has been detected to let you know it’s still working.
This type of system can also be modified to send more than people detection data. Leak detection, fire detection, and any kind of sensor that can communicate with a Raspberry Pi can all be sent over the network.