# actfw-raspberrypi
actfw's components for Raspberry Pi.
actfw is a framework for Actcast Application written in Python.
## Installation
```console
sudo apt-get update
sudo apt-get install -y python3-pip python3-pil
pip3 install actfw-raspberrypi
```
## Document
* [API References](https://idein.github.io/actfw-raspberrypi/latest/)
## Usage
See [actfw-core](https://github.com/Idein/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
```console
pip3 install poetry
poetry install
```
### Running tests
```console
poetry run nose2 -v
```
### Running examples
On a Raspberry Pi connected to HDMI display:
```console
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](https://github.com/Idein/actfw-raspberrypi/releases/new).
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Idein/actfw-raspberrypi",
"name": "actfw-raspberrypi",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "actcast",
"author": "Idein Inc.",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/a7/81/d38b6b83d2badec07598f3274bfa156b0c0273d313cd5263f0ac5aa80675/actfw_raspberrypi-3.2.0.tar.gz",
"platform": null,
"description": "# actfw-raspberrypi\n\nactfw's components for Raspberry Pi.\nactfw is a framework for Actcast Application written in Python.\n\n## Installation\n\n```console\nsudo apt-get update\nsudo apt-get install -y python3-pip python3-pil \npip3 install actfw-raspberrypi\n```\n\n## Document\n\n* [API References](https://idein.github.io/actfw-raspberrypi/latest/)\n\n## Usage\n\nSee [actfw-core](https://github.com/Idein/actfw-core) for basic usage.\n\nactfw-raspberrypi provides:\n\n* `actfw_raspberrypi.capture.PiCameraCapture` : Generate CSI camera capture image\n* `actfw_raspberrypi.Display` : Display using PiCamera Overlay\n* `actfw_raspberrypi.vc4.Display` : Display using VideoCore IV\n* `actfw_raspberrypi.vc4.Window` : Double buffered window\n\n## Example\n\n* `example/hello` : The most simple application example\n * Use HDMI display as 640x480 area\n * Capture 320x240 RGB image from CSI camera\n * Draw \"Hello, Actcast!\" text\n * Display it as 640x480 image (with x2 scaling)\n * Notice message for each frame\n * Support application setting\n * Support application heartbeat\n * Support \"Take Photo\" command\n * Depends: python3-picamera fonts-dejavu-core\n* `example/grayscale` : Next level application example\n * Use HDMI display as 640x480 area\n * Capture 320x240 RGB image from CSI camera\n * Convert it to grayscale\n * Display it as 640x480 image (with x2 scaling)\n * Notice message for each frame\n * Support application setting\n * Support application heartbeat\n * Support \"Take Photo\" command\n * Depends: python3-picamera\n* `example/parallel_grayscale` : Paralell processing application example\n * Use HDMI display as 640x480 area\n * Capture 320x240 RGB image from CSI camera\n * Convert it to grayscale\n * There exists 2 converter task\n * Round-robin task scheduling\n * Display it as 640x480 image (with x2 scaling)\n * Notice message for each frame\n * Show which converter processes image\n * Support application setting\n * Support application heartbeat\n * Support \"Take Photo\" command\n * Depends: python3-picamera\n* `example/uvccamera` : UVC camera capture example\n * `picamera` is unnecessary\n * Use HDMI display center 640x480 area\n * Capture 320x240 RGB image from UVC camera\n * Convert it to grayscale\n * Display it as 640x480 image (with x2 scaling)\n * Notice grayscale pixel data histogram\n * Support application setting\n * Support application heartbeat\n * Support \"Take Photo\" command\n * Depends: libv4l-0 libv4lconvert0\n\n## Development Guide\n\n### Installation of dev requirements\n\n```console\npip3 install poetry\npoetry install\n```\n\n### Running tests\n\n```console\npoetry run nose2 -v\n```\n\n### Running examples\n\nOn a Raspberry Pi connected to HDMI display:\n\n```console\npoetry run python example/hello\n```\n\n### Releasing package & API doc\n\nCI will automatically do.\nFollow the following branch/tag rules.\n\n1. Make changes for next version in `master` branch (via pull-requests).\n2. Make a PR that updates version in `pyproject.toml` and merge it to `master` branch.\n3. Create GitHub release from `master` branch's HEAD.\n 1. [Draft a new release](https://github.com/Idein/actfw-raspberrypi/releases/new).\n 2. Create new tag named `release-<New version>` (e.g. `release-1.4.0`) from `Choose a tag` pull down menu.\n 3. Write title and description.\n 4. Publish release.\n4. Then CI will build/upload package to PyPI & API doc to GitHub Pages.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "actfw's additional components for RaspberryPi",
"version": "3.2.0",
"project_urls": {
"Changelog": "https://github.com/Idein/actfw-raspberrypi/blob/master/CHANGELOG.md",
"Documentation": "https://idein.github.io/actfw-raspberrypi/latest/",
"Homepage": "https://github.com/Idein/actfw-raspberrypi",
"Repository": "https://github.com/Idein/actfw-raspberrypi"
},
"split_keywords": [
"actcast"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9098eaed8672b454230e56500ca68c60fee5ae8b6671295cfe01c869a6f114af",
"md5": "136e364f813a8ffeb930086fa14d678e",
"sha256": "3b9b28ba09b1bc44d8aa89090918560f925dffa0d3f59a77a8f9c2fb186cc7c1"
},
"downloads": -1,
"filename": "actfw_raspberrypi-3.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "136e364f813a8ffeb930086fa14d678e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 16340,
"upload_time": "2024-11-05T07:30:42",
"upload_time_iso_8601": "2024-11-05T07:30:42.481276Z",
"url": "https://files.pythonhosted.org/packages/90/98/eaed8672b454230e56500ca68c60fee5ae8b6671295cfe01c869a6f114af/actfw_raspberrypi-3.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a781d38b6b83d2badec07598f3274bfa156b0c0273d313cd5263f0ac5aa80675",
"md5": "fd83b4d769711c29c6fb8cc04dd4801f",
"sha256": "d63b1b21f3cb0694cba01786e9d8bb17f654e9034619ee1ae7c2b643d45393ee"
},
"downloads": -1,
"filename": "actfw_raspberrypi-3.2.0.tar.gz",
"has_sig": false,
"md5_digest": "fd83b4d769711c29c6fb8cc04dd4801f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 13721,
"upload_time": "2024-11-05T07:30:44",
"upload_time_iso_8601": "2024-11-05T07:30:44.182909Z",
"url": "https://files.pythonhosted.org/packages/a7/81/d38b6b83d2badec07598f3274bfa156b0c0273d313cd5263f0ac5aa80675/actfw_raspberrypi-3.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-05 07:30:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Idein",
"github_project": "actfw-raspberrypi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"lcname": "actfw-raspberrypi"
}