# 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": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "actcast",
"author": "Idein Inc.",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/12/3f/19ecaea98399fb461d77765cfe460fd9a21b133afc3b66a7715ff08e8c77/actfw_raspberrypi-3.1.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.1.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": "d02a993449a62ced93a1a6c2ecba6e4a760c5625c52dc8bdc98ebe9d06d29a93",
"md5": "efcb28672e7dca289749ee6d116ca18c",
"sha256": "62d141de97a7e4841392e201e650dd9a334b64c91f3d7c096a09c70db805aaeb"
},
"downloads": -1,
"filename": "actfw_raspberrypi-3.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "efcb28672e7dca289749ee6d116ca18c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 16064,
"upload_time": "2024-02-14T04:59:30",
"upload_time_iso_8601": "2024-02-14T04:59:30.936997Z",
"url": "https://files.pythonhosted.org/packages/d0/2a/993449a62ced93a1a6c2ecba6e4a760c5625c52dc8bdc98ebe9d06d29a93/actfw_raspberrypi-3.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "123f19ecaea98399fb461d77765cfe460fd9a21b133afc3b66a7715ff08e8c77",
"md5": "e5972a3dd133ddc628ebe0a9dbabeccc",
"sha256": "05318aa5960d84a97b70178648d5c8a09df0e648c5a9808ab6a42f67877b00b2"
},
"downloads": -1,
"filename": "actfw_raspberrypi-3.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e5972a3dd133ddc628ebe0a9dbabeccc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 13448,
"upload_time": "2024-02-14T04:59:32",
"upload_time_iso_8601": "2024-02-14T04:59:32.538443Z",
"url": "https://files.pythonhosted.org/packages/12/3f/19ecaea98399fb461d77765cfe460fd9a21b133afc3b66a7715ff08e8c77/actfw_raspberrypi-3.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-14 04:59:32",
"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"
}