RasPY Utility

RasPY Utility Logo

Welcome to RasPY Utility Documentation

RasPY Utility is a comprehensive application for controlling and monitoring Raspberry Pi GPIO pins through an intuitive graphical interface or REST API.

Table of Contents

Introduction

Development

Additional Resources

Community

Key Features

Modern Graphical Interface

🔌 Complete GPIO Support

🌐 Web Interface

Quick Start

  1. Installation - How to install and configure RasPY Utility
  2. Guide - Application usage guide
  3. API - API documentation for developers
  4. Development - Development and contribution guide

User Guide

Graphical Interface

The RasPY 4 Utility graphical interface is designed to be intuitive and easy to use.

GPIO Control

  1. Open the GPIO control window from the menu
  2. Select the pin to control
  3. Use the buttons to toggle pins
  4. Monitor status in real-time

GPIO Simulator

The simulator allows you to test code without physical hardware:

  1. Start the simulator from the GPIO menu
  2. Use the interface to simulate input/output
  3. Changes are reflected in real-time

Logging and Debugging

The application logs important events in the logs/app.log file. Use the built-in Log Viewer to:

Keyboard Shortcuts

API Reference

Overview

The RasPY 4 Utility REST API allows controlling GPIO pins via HTTP requests. All responses are in JSON format.

Available Endpoints

GET /api/gpio

Returns the status of all configured GPIO pins.

Example response:

{
  "17": {"state": 0, "mode": "out", "description": "Red LED"},
  "18": {"state": 1, "mode": "in", "description": "Button"}
}

GET /api/gpio/<int:pin>

Returns the status of a specific pin.

Parameters:

Status codes:

Example response:

{
  "state": 0,
  "mode": "out",
  "description": "Red LED"
}

POST /api/gpio/<int:pin>/on

Turns the specified pin on.

Parameters:

Status codes:

POST /api/gpio/<int:pin>/off

Turns the specified pin off.

Parameters:

Status codes:

Usage Examples

GPIO Control with Python

import requests

BASE_URL = "http://localhost:5000/api/gpio"

# Get status of all pins
response = requests.get(f"{BASE_URL}")
print("Current status:", response.json())

# Turn on pin 17
response = requests.post(f"{BASE_URL}/17/on")
print("Turn on response:", response.status_code)

Useful Resources