40ac0dd2b43213b7075766ed4648d2893ba7f36d
GPIO Monitor Dashboard for Raspberry Pi
Реалтайм мониторинг параллельной GPIO-шины Raspberry Pi через C + Go + Web Dashboard.
Проект читает входящие сигналы с GPIO-пинов Raspberry Pi по прерыванию, передаёт данные через FIFO pipe в Go-сервер и отображает всё в браузере в реальном времени.
Возможности
✅ Захват данных по GPIO interrupt
✅ Работа через WiringPi
✅ FIFO pipe между C и Go
✅ Высокоскоростной RingBuffer
✅ HTTP API
✅ Web Dashboard
✅ Работа через Wi-Fi Access Point Raspberry Pi
✅ Подходит для ПК и мобильных устройств
Архитектура
GPIO BUS (8 bit)
↓
gpio-interrupt.c
↓ stdout
systemd socket FIFO (/tmp/gpio_pipe)
↓
Go Server
↓
HTTP API (:8080)
↓
Dashboard (Browser)
# Структура проекта
.
├── cmd/server/main.go # Go HTTP сервер
├── internal/adapter/ # RingBuffer
├── web/
│ ├── index.html
│ ├── dashboard.html
│ ├── css/style.css
│ ├── js/app.js
│ └── favicon.png
├── scripts/
├── start-server.sh
└── README.md
# GPIO pin
WR/STROBE = GPIO27
DATA BUS:
D0 = GPIO21
D1 = GPIO7
D2 = GPIO6
D3 = GPIO5
D4 = GPIO25
D5 = GPIO24
D6 = GPIO23
D7 = GPIO22
# Установка
sudo apt update
sudo apt install golang git build-essential
# Сборка
go build -o gpio-monitor-server ./cmd/server
# Запуск сервера
./start-server.sh
sudo systemctl start monitor-gpio.service
# Dashboard
Открывать на http://192.168.77.1:8080
# API
GET /api/health
GET /api/history
# Wi-Fi режим Raspberry Pi
SSID: fix_me
IP: 192.168.77.1
Подключение: ssh user@192.168.77.1
# License
MIT
Description
Languages
TypeScript
31.2%
Go
27.7%
CSS
18.9%
C
7.9%
Python
4.9%
Other
9.4%