Skip to main content

# rpi-cam-mqtt-client

Client library to control a raspberry PI camera through MQTT.

Provides high level methods to control a raspberry PI camera:
  • get_cmd_list

  • get_cmd_info

  • run_command

  • get_status

  • get_ptviews

  • is_active

  • is_ptview_available

  • is_recording

  • is_detecting_motion

  • set_camera_status

  • set_motion_detection_status

  • start_video

  • stop_video

  • take_picture

  • set_exposure_mode

  • set_wb_mode

  • set_metering_mode

  • set_image_effect

  • set_pantilt

The camera needs to have the RPi-Cam-Web-Interface installed and the MQTT agent running. Check rpi-cam-mqtt (https://gitlab.com/gbus/rpi-cam-mqtt) project for further details.

## Installation

The library can be installed and called in a python module:

pip3 install rpicammqtt_client

from rpicammqtt_client import RpiCamMqttClient help(RpiCamMqttClient)

## Configuration

The configuration file is looked up from:

/etc/rpi-cam-mqtt/rpi-cam-mqtt.yaml $HOME/.rpi-cam-mqtt/rpi-cam-mqtt.yaml ./config/rpi-cam-mqtt.yaml

A template can be downloaded from:

https://gitlab.com/gbus/rpi-cam-mqtt-client/raw/master/rpicammqtt_client/config/rpi-cam-mqtt.yaml

## Use

The main class RpiCamMqttClient needs to have passed a reference to publish/subscribe custom definitions to implement the specific calls to the MQTT library of choice. One based on the paho mqtt library is provided and can be used for reference:

from rpicammqtt_client import RpiCamMqttClient from rpicammqtt_client.mqtt import MQTT

The RpiCamMqttClient needs the rpicam name as configured in the remote agent that controls the camera and a few extra options to change the MQTT behaviour.

The main method to use is run_command, which allows to publish any command as it would normally be sent to the PIPE. More info:

https://elinux.org/RPi-Cam-Web-Interface#Pipe

Additionally a few higher level methods are provided that simplify the use of the library. A good starting point is the list of examples described in the next section where it is possible to see the library in action.

## Applications

Example of applications using the library can be found in the package:

https://gitlab.com/gbus/rpi-cam-mqtt-client/tree/master/rpicammqtt_client/examples

Release files for rpicammqtt-client 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rpicammqtt-client 0.3.0
File Size Uploaded
rpicammqtt_client-0.3.0.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rpicammqtt-client 0.3.0
File Interpreter ABI Platform
rpicammqtt_client-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.3 kB

Release files / rpicammqtt_client-0.3.0.tar.gz

Download URL rpicammqtt_client-0.3.0.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
12d545dd566d3d1636ac7a3385d9a2cc711ff524945634ed1b5984ad6b9636bc
BLAKE2b-256 checksum
How to use checksums
d08bbf2dea38020205fdd6fe3107292c5bd1c83f50b8b3176ed993c73de57cdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

Release files / rpicammqtt_client-0.3.0-py3-none-any.whl

Download URL rpicammqtt_client-0.3.0-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3cac8dc4f76bf746d2c3f5dd855c75b9e129fb4e6bff15af4f35fb1ae48220c
BLAKE2b-256 checksum
How to use checksums
f8e5866a11ad4bebb1ba31171002ade5e599b87dd880fe55a949d260d18d076f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page