https://github.com/woodmurderedhat/raspberry-gpio-controller
A professional-grade web application for controlling and monitoring Raspberry Pi GPIO pins with enterprise features.
https://github.com/woodmurderedhat/raspberry-gpio-controller
gpio gpio-pins pinout raspberry-pi raspberry-pi-5 raspberrypi rpi5 rpi5-gpio rpi5-pinout webapp
Last synced: 4 months ago
JSON representation
A professional-grade web application for controlling and monitoring Raspberry Pi GPIO pins with enterprise features.
- Host: GitHub
- URL: https://github.com/woodmurderedhat/raspberry-gpio-controller
- Owner: woodmurderedhat
- License: mit
- Created: 2024-12-08T17:48:48.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-01-01T18:47:02.000Z (6 months ago)
- Last Synced: 2025-01-01T19:36:00.931Z (6 months ago)
- Topics: gpio, gpio-pins, pinout, raspberry-pi, raspberry-pi-5, raspberrypi, rpi5, rpi5-gpio, rpi5-pinout, webapp
- Language: JavaScript
- Homepage: https://woodmurderedhat.github.io/raspberry-gpio-controller/
- Size: 63.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
currently broken
# Raspberry Pi GPIO Controller Pro
A professional-grade web application for controlling and monitoring Raspberry Pi GPIO pins with enterprise features.
## 🚀 Features
- **Complete GPIO Control**
- GPIO Input/Output
- Hardware & Software PWM
- I2C (6 buses)
- SPI (Multiple buses)
- UART (5 ports)
- PCM Audio- **Advanced Pin Configuration**
- Drive strength (2mA to 16mA)
- Slew rate control
- Hysteresis settings
- Edge detection- **Enterprise Security**
- User authentication with JWT
- Role-based access control (Admin/User)
- Comprehensive audit logging
- Secure password hashing- **System Monitoring**
- Real-time temperature tracking
- CPU usage monitoring
- Memory utilization
- Power management
- Voltage readings
- Clock speeds
- Throttling status## 📋 Requirements
- Raspberry Pi 5 (recommended) or compatible model
- Python 3.x
- Node.js 18.x or later
- npm or yarn
- SQLite3## 🛠️ Installation
1. **Clone the Repository**
```bash
git clone https://github.com/woodmurderedhat/raspberry-gpio-controller.git
cd raspberry-gpio-controller
chmod +x install.sh
./install.sh
```
The install script installs the backend and frontend.
But if you want to manually do it, here's a guide:A. **Backend Setup**
```bash
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start the backend server
python app.py
```B. **Frontend Setup**
```bash
cd frontend
npm install
npm start
```## 🔐 First-Time Setup
1. **Default Admin Account**
- Username: `admin`
- Password: `admin`
- **Important**: Change the password immediately after first login2. **Creating Additional Users**
- Log in as admin
- Navigate to User Management
- Click "Add User"
- Set username, password, and role (Admin/User)## 📱 Using the Application
### Authentication
1. **Login**
- Navigate to http://your-pi-ip:3000
- Enter your credentials
- The system will provide a JWT token for subsequent requests### GPIO Control
1. **Basic Pin Control**
- Select a pin from the grid
- Choose pin mode (Input/Output)
- For output pins:
Toggle HIGH/LOW state
Set PWM values if applicable2. **Advanced Pin Settings**
- Click "Advanced Settings" on any pin
- Configure:
Drive strength
Slew rate
Hysteresis
Edge detection3. **Pin Presets**
- Save current configuration as preset
- Load presets for quick setup### System Monitoring
1. **Dashboard**
- Real-time system metrics
- Temperature readings
- CPU/Memory usage
- Power consumption
- Clock speeds
- Throttling status
- Voltage readings### Audit Logging
1. **View Logs**
- Access audit logs from menu
- Filter by:
User
Action type
Pin number
Timestamp## 🔧 Advanced Configuration
### Environment Variables
```bash
JWT_SECRET_KEY=your-secret-key
FLASK_ENV=production
CORS_ORIGIN=http://your-frontend-url
```## 🛡️ Security Best Practices
1. **Change Default Credentials**
- Modify admin password immediately
- Use strong passwords2. **Network Security**
- Run behind reverse proxy
- Enable HTTPS
- Restrict to local network
- Use VPN for remote access3. **Access Control**
- Use appropriate user roles (Admin/User)
- Limit admin accounts
- Regular access audits## 🔍 Troubleshooting
### Common Issues
1. **Permission Errors**
```bash
# Add user to gpio group
sudo usermod -a -G gpio $USER
```2. **Connection Issues**
- Check if backend is running
- Verify frontend URL in CORS settings
- Ensure correct IP and port configuration## 📄 License
MIT License - see LICENSE file for details
## 🆘 Support
For issues and feature requests, please open an issue in the GitHub repository.
=======
- Create GitHub issue- Documentation: [Raspberry GPIO Controller](https://woodmurderedhat.github.io/raspberry-gpio-controller/)