Files
go-service/README.md

102 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
✅ Подходит для ПК и мобильных устройств
---
# Архитектура
```text
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