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.3.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ovos-skill-camera-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 e422fc8522dacbbdef5e665cade1b7ecc124beeb26793ac11f27359d52fec70b
MD5 b362faada5de779585b3cea9edea1b45
BLAKE2b-256 891e1fb644478e367b05940ea25d77812886bb632ed88cac48cd0e8de07a82e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ovos_skill_camera-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 43292700608a2d13af4dc96c0b38a475d23f49c45b674a0f600dff7cabebd6c2
MD5 ec30b3383f2404bc79ad63007115010a
BLAKE2b-256 7925978d5798a12fc65d1fd6e70e26b49c405950e30c2a847d5866b4ec31cd22

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