fastpluggy-rpi-gpio

No description available

Official
v0.1.0
51138 downloads this week
Latest version
Requires Python >=3.8
by FastPluggy Team

Quick Install

pip install fastpluggy-rpi-gpio
Or with specific version:
pip install fastpluggy-rpi-gpio==0.1.0

Raspberry Pi GPIO Plugin for FastPluggy

This plugin provides an interface to control and monitor Raspberry Pi GPIO pins through the FastPluggy framework.

Features

  • [x] Control GPIO pins (set mode, read/write values)
  • [x] Real-time monitoring of pin state changes
  • [x] Web-based dashboard for visualizing and controlling GPIO pins
  • [x] Configuration options for pin behavior

Features Implemented

The following features have been fully implemented:

GPIO Control

  • GPIO pin mode control (input/output)
  • GPIO pin value control (high/low)
  • Support for all Raspberry Pi GPIO pins (BCM numbering)
  • Error handling for invalid pins, modes, and values

Real-time Monitoring

  • WebSocket support for real-time pin state updates
  • Configurable polling interval
  • Automatic fallback to polling if WebSocket is not available

Web Interface

  • Interactive dashboard for visualizing pin states
  • Pin details panel for controlling individual pins
  • Settings page for configuring plugin behavior
  • Real-time updates of pin states in the UI

Configuration

  • Default pin mode setting
  • Polling interval configuration
  • Interrupt-based monitoring toggle
  • WebSocket notifications toggle

Installation

  1. Install the plugin:
    bash pip install fastpluggy-rpi-gpio

  2. Enable the plugin in your FastPluggy configuration.

Requirements

  • Raspberry Pi hardware
  • Python 3.8 or higher
  • FastPluggy framework
  • Need gcc

Configuration

The plugin provides the following configuration options:

  • default_pin_mode: Default mode for GPIO pins (input or output)
  • polling_interval_ms: Interval in milliseconds for polling pin states
  • enable_interrupts: Enable interrupt-based GPIO monitoring
  • enable_websocket_notifications: Enable websocket notifications for pin state changes

Usage

Web Interface

The plugin provides a web interface with the following pages:

  • GPIO Dashboard: Visualize and control GPIO pins
  • GPIO Settings: Configure plugin settings

API

The plugin provides the following API endpoints:

  • GET /gpio/api/pins: Get the status of all GPIO pins
  • POST /gpio/api/pins/{pin_number}/mode: Set the mode of a GPIO pin
  • POST /gpio/api/pins/{pin_number}/value: Set the value of a GPIO pin

Development

To set up the development environment:

  1. Clone the repository
  2. Install dependencies:
    bash pip install -e .

Testing

Run the tests with pytest:

pytest

CI/CD

This project supports both GitHub Actions and GitLab CI/CD for continuous integration and deployment:

GitHub Actions

  • Tests are automatically run on multiple Python versions (3.8, 3.9, 3.10, 3.11)
  • When a new tag is pushed (format: v*), the package is automatically built and published to PyPI
  • The CI/CD pipeline is triggered only when changes are made to files in the plugin directory

GitLab CI/CD

  • Tests are run on multiple Python versions (3.8, 3.9, 3.10, 3.11)
  • Package is built and published to PyPI when a tag is pushed (format: v*)
  • CI/CD pipeline includes caching for faster builds
  • The pipeline is triggered only when changes are made to files in the plugin directory

License

This plugin is released under the MIT License.

No Changelog Available

This plugin does not have a Changelog file or it could not be extracted from the package.

fastpluggy-rpi-gpio API

API documentation for this plugin is not available.

Package Analysis

Last analysis performed: 2025-08-04 13:59:16

✓ Valid Entry Point

This plugin has a valid entry point:
raspberry_pi_gpio = fastpluggy_plugin.raspberry_pi_gpio.plugin:RaspberryPiGpioPlugin

Issues Found

Issues were found during analysis, but details are not available.

v0.1.0

Latest

Plugin Information

Name
fastpluggy-rpi-gpio
Version
0.1.0
Entry Point
fastpluggy_plugin.raspberry_pi_gpio.plugin:RaspberryPiGpioPlugin
Python
>=3.8
Status
✓ Official Plugin
Repository
GitHub
Keywords
raspberry pi gpio hardware

Dependencies

gpiozero
None

Download Statistics

51138
Weekly
219165
Monthly
14611
Total

Download Frequency: ~304 downloads per hour
Average Per Day: 7305.5 downloads
Last Download: 1 hours ago
Yearly Estimate: 2666508 downloads
100% estimated growth rate based on 2 days of data