Skip to main content

actfw's additional components for RaspberryPi

Project description

actfw-raspberrypi

actfw's components for Raspberry Pi. actfw is a framework for Actcast Application written in Python.

Installation

sudo apt-get update
sudo apt-get install -y python3-pip python3-pil 
pip3 install actfw-raspberrypi

Document

Usage

See actfw-core for basic usage.

actfw-raspberrypi provides:

  • actfw_raspberrypi.capture.PiCameraCapture : Generate CSI camera capture image
  • actfw_raspberrypi.Display : Display using PiCamera Overlay
  • actfw_raspberrypi.vc4.Display : Display using VideoCore IV
  • actfw_raspberrypi.vc4.Window : Double buffered window

Example

  • example/hello : The most simple application example
    • Use HDMI display as 640x480 area
    • Capture 320x240 RGB image from CSI camera
    • Draw "Hello, Actcast!" text
    • Display it as 640x480 image (with x2 scaling)
    • Notice message for each frame
    • Support application setting
    • Support application heartbeat
    • Support "Take Photo" command
    • Depends: python3-picamera fonts-dejavu-core
  • example/grayscale : Next level application example
    • Use HDMI display as 640x480 area
    • Capture 320x240 RGB image from CSI camera
    • Convert it to grayscale
    • Display it as 640x480 image (with x2 scaling)
    • Notice message for each frame
    • Support application setting
    • Support application heartbeat
    • Support "Take Photo" command
    • Depends: python3-picamera
  • example/parallel_grayscale : Paralell processing application example
    • Use HDMI display as 640x480 area
    • Capture 320x240 RGB image from CSI camera
    • Convert it to grayscale
      • There exists 2 converter task
      • Round-robin task scheduling
    • Display it as 640x480 image (with x2 scaling)
    • Notice message for each frame
      • Show which converter processes image
    • Support application setting
    • Support application heartbeat
    • Support "Take Photo" command
    • Depends: python3-picamera
  • example/uvccamera : UVC camera capture example
    • picamera is unnecessary
    • Use HDMI display center 640x480 area
    • Capture 320x240 RGB image from UVC camera
    • Convert it to grayscale
    • Display it as 640x480 image (with x2 scaling)
    • Notice grayscale pixel data histogram
    • Support application setting
    • Support application heartbeat
    • Support "Take Photo" command
    • Depends: libv4l-0 libv4lconvert0

Development Guide

Installation of dev requirements

pip3 install poetry
poetry install

Running tests

poetry run nose2 -v

Running examples

On a Raspberry Pi connected to HDMI display:

poetry run python example/hello

Releasing package & API doc

CI will automatically do. Follow the following branch/tag rules.

  1. Make changes for next version in master branch (via pull-requests).
  2. Make a PR that updates version in pyproject.toml and merge it to master branch.
  3. Create GitHub release from master branch's HEAD.
    1. Draft a new release.
    2. Create new tag named release-<New version> (e.g. release-1.4.0) from Choose a tag pull down menu.
    3. Write title and description.
    4. Publish release.
  4. Then CI will build/upload package to PyPI & API doc to GitHub Pages.

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

actfw_raspberrypi-3.1.0.tar.gz (13.4 kB view hashes)

Uploaded Source

Built Distribution

actfw_raspberrypi-3.1.0-py3-none-any.whl (16.1 kB view hashes)

Uploaded Python 3

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