wrz 2026
Monitoring browaru Pirali
Monitoring sterownika PLC Siemens w browarze w trybie tylko do odczytu, z dashboardem na żywo i alertami SMS
- Automatyzacja
- Przemysłowy IoT
- Czas trwania
- 1 miesiąc
- Firma
- Pirali
- Rola
- Inżynier IoT i full-stack
Przegląd
Zdalny monitoring browaru Pirali: Raspberry Pi co 10 sekund odczytuje temperatury i stany urządzeń ze sterownika PLC Siemens w warzelni i zapisuje je w Postgres. Pokazuje je dwujęzyczny dashboard webowy, a alerty i odpowiedzi SMS informują zespół na bieżąco.
Narzędzia
- Raspberry Pi
- Python
- Siemens S7-200 SMART
- PostgreSQL
- Supabase
- Next.js
- ECharts
- Tailscale
Potrzeba
Warzelnią steruje jeden sterownik PLC Siemens S7-200 SMART i panel dotykowy, a jej dane nigdzie dalej nie trafiały. Temperatury fermentacji zapisywano ręcznie, a rozjeżdżająca się temperatura w tanku fermentacyjnym, nagrzewający się zbiornik gotowego piwa czy nocna awaria glikolu pozostawały niezauważone, dopóki ktoś nie przeszedł obok panelu.
Odczyt sterownika PLC
Po wizji lokalnej 11 czujników temperatury Pt100, falowniki i zawory przypisano do ich miejsc w pamięci sterownika. Sterownik jest odczytywany bezpośrednio przez python-snap7, bez podsłuchiwania linii szeregowych, dodawania czujników czy korzystania z chmury producenta panelu. Raspberry Pi utrzymuje dokładnie jedno połączenie tylko do odczytu, odpytuje co 10 sekund, buforuje dane w SQLite i wysyła je partiami do Postgres; responder SMS na modemie USB odpowiada na wiadomość „status” migawką stanu instalacji i wysyła alerty, gdy zasilanie sieciowe zanika i wraca.
Dashboard
Dashboard w Next.js 16 z ECharts, po gruzińsku i angielsku, w motywie jasnym i ciemnym, pokazuje animowany schemat obiegu glikolu, rząd wskaźników KPI i dziennik zdarzeń. Odczytuje dane przez chronione hasłem API ograniczone do zapytań SELECT. Gdy skończył się darmowy limit Neon, baza przeniosła się do Supabase, a idempotentny skrypt migracji skopiował całą historię.
Rezultat
Działa na miejscu od września 2026 r. Z Neon do Supabase przeniesiono 187 015 odczytów i 5 046 zdarzeń przy 0 duplikatach, a dashboard uzyskuje w Lighthouse 100 punktów za dostępność w obu motywach.