Skip to main content

OVOS camera skill

Project description

Camera Skill

Camera skill for OpenVoiceOS

Description

This skill allows you to take pictures using a connected webcam. You can configure various settings to customize its behavior.

Examples

  • "Take a picture"

Settings

The settings.json file allows you to configure the behavior of the Camera Skill. Below are the available settings:

Setting Name Type Default Description
video_source Integer 0 Specifies the camera to use. 0 is the default system webcam.
play_sound Boolean true Whether to play a sound when a picture is taken.
camera_sound_path String camera.wav Path to the sound file to play when taking a picture.
pictures_folder String ~/Pictures Directory where pictures are saved.

Example settings.json

{
  "video_source": 0,
  "play_sound": true,
  "camera_sound_path": "/path/to/camera.wav",
  "pictures_folder": "/home/user/Pictures",
  "keep_camera_open": false
}

Additional Steps for Raspberry Pi Users

If you plan to use this skill on a Raspberry Pi, it requires access to the libcamera package for the Picamera2 library to function correctly. Due to how libcamera is installed on the Raspberry Pi (system-wide), additional steps are necessary to ensure compatibility when using a Python virtual environment (venv).

In these examples we use the default .venv location from ovos-installer, ~/.venvs/ovos, adjust as needed

Steps to Enable libcamera in Your Virtual Environment

  1. Install Required System Packages
    Before proceeding, ensure that libcamera and its dependencies are installed on your Raspberry Pi. Run the following commands:

    sudo apt install -y python3-libcamera python3-kms++ libcap-dev
    
  2. Modify the Virtual Environment Configuration
    If you already have a virtual environment set up, enable access to system-wide packages by modifying the pyvenv.cfg file in the virtual environment directory:

    nano ~/.venvs/ovos/pyvenv.cfg
    

    Add or update the following line:

    include-system-site-packages = true
    

    Save the file and exit.

  3. Verify Access to libcamera
    Activate your virtual environment:

    source ~/.venvs/ovos/bin/activate
    

    Check if the libcamera package is accessible:

    python3 -c "import libcamera; print('libcamera is accessible')"
    

Why Are These Steps Necessary?

The libcamera package is not available on PyPI and is installed system-wide on the Raspberry Pi. Virtual environments typically isolate themselves from system-wide Python packages, so these adjustments allow the skill to access libcamera while still benefiting from the isolation provided by a venv.

Notes

  • These steps are specific to Raspberry Pi users who want to utilize the Picamera2 library for camera functionality. On other platforms, the skill defaults to using OpenCV, which does not require additional configuration.
  • Ensure that libcamera is installed on your Raspberry Pi before attempting these steps. You can test this by running:
    libcamera-still --version
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovos-skill-camera-0.0.3a1.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

ovos_skill_camera-0.0.3a1-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file ovos-skill-camera-0.0.3a1.tar.gz.

File metadata

  • Download URL: ovos-skill-camera-0.0.3a1.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for ovos-skill-camera-0.0.3a1.tar.gz
Algorithm Hash digest
SHA256 4a263e31acc8548eceb0d460ba7f1b88bc04c3bcb749b17e82df2f1db83d6be6
MD5 5977213becb5ced30ecaa8142696b28f
BLAKE2b-256 d5ec5ee454ed7f6a670b33b45e34b5ad37bd43036df827872da656c58517d818

See more details on using hashes here.

File details

Details for the file ovos_skill_camera-0.0.3a1-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_skill_camera-0.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 3593573f2524f67ae2fca1d97fbf3fb6c7fcf402561478bdd7d097aeab2f7f3e
MD5 35fdb66698956a32a7926647b6054715
BLAKE2b-256 d3b71a768944bb4afde169ac06948cb8412a4e170a303e761a1da2fcff4fd528

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page