CM3-Home technical documentation Buy

Camera interface

On the CM3-Home board is available the same camera interface of the standard Raspberry Pi 3. Since the HDMI video interface is not available, this article explains how to use the camera from the network.

The MIPI connector for the Raspberry Pi cam is placed in the middle of the board closed to the CM3 socket as shown below:

We have chosen this position to place the camera on the front panel of the DIN rail case.

Enable the camera

Insert the camera connector with the blue band oriented to the relay then turn-on the board and access to the Linux prompt using an ssh connection.

Run:

sudo raspi-config

Select Interfacing Options-->P1 Camera and enable the camera interface.

Install this overlay (dt-blob.bin) on the microSD by typing:

sudo wget http://goo.gl/U4t12b -O /boot/dt-blob.bin

Then check if the camera is enabled by typing:

vcgencmd get_camera

Python example

I found on this URL https://blog.miguelgrinberg.com/post/flask-video-streaming-revisited a very easy way to implement example of video streaming made in pure Python written by Miguel Grinberg.

I suggest to read this tutorial to understand how it works. But if you want to try quickly these are thet steps to do:

Install Flask, the Python support for the Pi Camera and git:

sudo apt update
sudo apt install -y python-flask python-picamera git

Clone the flask-video-streaming repository:

git clone https://github.com/miguelgrinberg/flask-video-streaming.git

Move inside the directory created by Git:

cd flask-video-streaming

and type:

CAMERA=pi python app.py

Open a browser on your PC and go to the URL:

Launch Flask server at startup

Create a filed called /lib/systemd/system/flask.service with the follow content:

[Unit]
Description=Flask
After=systemd-user-sessions.service

[Service]
Environment="CAMERA=pi"
ExecStart=python flask-video-streaming/app.py
Restart=on-abort
User=pi
WorkingDirectory=/home/pi

[Install]
WantedBy=multi-user.target

Enable the new service:

sudo systemctl daemon-reload
sudo systemctl enable flask.service
sudo systemctl start flask.service

Home page CM3-Home technical documentation Buy