Planetnikstorm sensing & local warning network
Technologia

Z czego budujemy StormNode?

StormNode powstaje jako praktyczny, terenowy węzeł sieci Planetnik: ma wykrywać aktywność burzową, zbierać dane środowiskowe, określać kontekst lokalizacji GNSS/GPS, wykonywać zdjęcia nieba i wysyłać telemetrykę do panelu projektu.

FireBeetle 2 ESP32-S3-U z kamerą OV2640
FireBeetle 2 ESP32-S3-U + OV2640

Główna płytka prototypu: Wi‑Fi/Bluetooth, kamera OV2640, logika firmware, obsługa zdjęć, HTTPS upload i telemetryka.

ESP32‑S3Wi‑Fikamerafirmware
DFRobot Gravity Lightning Distance Sensor AS3935
Gravity Lightning Distance Sensor — AS3935

Czujnik wyładowań atmosferycznych używany do wykrywania lokalnej aktywności burzowej, dystansu i siły sygnału wyładowania.

AS3935do 40 kmI2CIRQ
DFRobot Gravity I2C BME280 Environmental Sensor
Gravity I2C BME280

Czujnik środowiskowy do pomiaru temperatury, wilgotności i ciśnienia. Pomaga dopisać kontekst pogodowy do zdarzeń burzowych.

temperaturawilgotnośćciśnienieI2C
Gravity moduł odbiornika GNSS GPS BeiDou I2C UART DFRobot TEL0157
Gravity GNSS GPS BeiDou — I2C/UART — DFRobot TEL0157

Moduł odbiornika GNSS GPS BeiDou ze złączem Gravity, obsługujący komunikację I2C/UART. W StormNode służy do danych lokalizacyjnych, czasu oraz kontekstu synchronizacji i korelacji w klastrach.

GNSSGPSBeiDouI2C/UART

Zdjęcia i dane bazowe wybranych układów pochodzą z publicznych materiałów producenta DFRobot: FireBeetle 2 ESP32-S3-U, Gravity Lightning Distance Sensor, Gravity I2C BME280. Zdjęcie modułu GNSS/GPS pochodzi z publicznych materiałów sklepu Botland dla produktu DFRobot TEL0157.

Firmware i AI-assisted coding

Firmware oraz narzędzia projektu rozwijamy iteracyjnie. W procesie rozwoju wykorzystujemy również Codex od OpenAI i narzędzia AI wspierające analizę kodu, prace programistyczne, dokumentowanie i automatyzację.

Zmiany pozostają pod kontrolą zespołu i standardowego procesu wersjonowania oraz wdrażania. Zespół odpowiada za decyzje techniczne, weryfikację zmian, testy sprzętowe i finalne wdrożenia.

CodexfirmwaretelemetriaGNSS/GPSHTTPS uploadanaliza logów

Autorski panel StormNode

Równolegle rozwijamy własny panel dla StormNode: prezentację zdarzeń, zdjęć, pomiarów, stanu urządzeń, historii i danych archiwalnych. Panel pozostaje warstwą operatorską, natomiast wybrane dane przeznaczone dla społeczności będą trafiały przez API i warstwę realtime do Planetnik Cloud.

panel WWWAPIdane archiwalnerealtime

Planetnik Cloud

Tworzymy osobną społeczną warstwę prezentacyjną pod adresem planetnik.cloud ↗. Jej zadaniem jest czytelne pokazanie rozwoju sieci, lokalnych obserwacji, danych pogodowych, zdjęć i kontekstu aktywności burzowej.

społeczna mapaStormNodeAPIrealtime

Hosting i zaplecze serwerowe

Projekt ma własne zaplecze hostingowe oparte o serwery dedykowane oraz systemy Linux, w tym Rocky Linux i openSUSE. Dzięki temu możemy samodzielnie rozwijać API, panel, bazę danych, archiwum zdarzeń i elementy monitoringu bez uzależniania się od gotowej platformy SaaS.

Do tworzenia kopii zapasowych infrastruktury projektu wykorzystujemy Proxmox Backup Server (PBS), który wspiera odtwarzanie środowisk i danych w razie awarii.

serwery dedykowaneRocky LinuxopenSUSEmonitoringProxmox Backup Server (PBS)backup

Infrastructure as Code

Konfigurację infrastruktury utrzymujemy jako kod (Infrastructure as Code). Wykorzystujemy Cinc do automatycznego zarządzania konfiguracją serwerów Linux. Wersjonowanie konfiguracji ułatwia kontrolę zmian i odtwarzanie środowisk, a Zabbix wspiera monitorowanie usług i infrastruktury.

IaCCincLinuxZabbixautomatyzacjakontrola zmian

Infrastruktura i rozwój projektu

Planetnik Network to nie tylko urządzenia pomiarowe. Równie dużą wagę przykładamy do infrastruktury, która je obsługuje. Dla użytkowników oznacza to uporządkowany rozwój usług, a dla partnerów i współpracowników — wspólny, kontrolowany proces pracy nad kolejnymi elementami sieci.

Źródła strony WWW, paneli, API i firmware'u są wersjonowane w GitLabie. Zmiany wdrażamy poprzez zautomatyzowane procesy GitLab CI/CD, a konfigurację infrastruktury utrzymujemy jako kod (Infrastructure as Code). Cinc służy do automatycznego zarządzania konfiguracją serwerów Linux. Elementy infrastruktury komunikują się przez prywatną, szyfrowaną sieć wykorzystującą WireGuard.

Dzięki wersjonowaniu kodu i konfiguracji oraz automatyzacji przygotowujemy zaplecze do wdrażania kolejnych elementów Planetnik Network w sposób powtarzalny, kontrolowany i skalowalny. Ułatwia to odtwarzanie środowisk, śledzenie zmian i rozwój sieci wraz z dołączaniem kolejnych węzłów.

Od pomysłu do rozwoju sieci Każda zmiana przechodzi przez kontrolowany proces pracy zespołu.
  1. Zespół i pomysł

    Rozwój i weryfikacja zmian przez zespół, ze wsparciem narzędzi AI.

    Codex · AI-assisted development
  2. Wersjonowany kod

    Źródła aplikacji, API, firmware’u i konfiguracji z historią zmian.

    GitLab
  3. Automatyzacja

    Wdrażanie zmian i zarządzanie konfiguracją w powtarzalny sposób.

    CI/CD · IaC · Cinc
  4. Rozwój sieci

    Zaplecze przygotowane na kolejne usługi i węzły Planetnik Network.

    Powtarzalność · skalowalność
Prywatna komunikacja

WireGuard wspiera szyfrowaną komunikację infrastruktury.

Kopie zapasowe

Proxmox Backup Server (PBS) wspiera odtwarzanie środowisk i danych.

wersjonowanie koduCI/CDInfrastructure as Codeautomatyzacjapowtarzalne wdrożeniaskalowalność

Technologia pod lokalny nowcasting

Dane z urządzeń StormNode projektujemy tak, aby w przyszłości wspierały lokalny nowcasting: analizę bieżących sygnałów pogodowych, trendów telemetrycznych, zdjęć nieba oraz zdarzeń wykrywanych przez klastry węzłów.

Stack projektu

Technologie, narzędzia i środowisko

Planetnik korzysta z popularnych technologii sprzętowych, programistycznych i infrastrukturalnych. Poniższa lista pokazuje środowisko projektu bez sugerowania partnerstwa, certyfikacji ani formalnej współpracy z właścicielami wymienionych marek.

Sprzęt i prototypowanie

DFDFRobot / Gravity

Moduły czujników i płytki rozwojowe używane w prototypach StormNode.

ESPESP32 / FireBeetle

Główna platforma urządzenia StormNode z Wi‑Fi, kamerą i firmware C++.

AArduino ecosystem

Środowisko prototypowania i biblioteki kompatybilne z ekosystemem Arduino.

GNSSGNSS / GPS / BeiDou

Lokalizacja węzłów oraz kontekst czasu i synchronizacji danych w klastrach.

Projektowanie i druk 3D

Firmware i programowanie

AICodex — OpenAI

Wsparcie zespołu w analizie kodu, pracach programistycznych, dokumentowaniu i automatyzacji. Zmiany podlegają weryfikacji oraz standardowemu procesowi wersjonowania i wdrażania.

IDEArduino IDE v2

Środowisko kompilacji i programowania prototypów firmware StormNode.

C++C++

Główny język firmware urządzenia: sensory, kamera, telemetria i komunikacja.

PHPPHP

Warstwa panelu, API, odbioru zdarzeń, zdjęć i danych telemetrycznych.

HTMLHTML / CSS / JavaScript

Interfejs WWW, strona informacyjna, prezentacja danych i elementy UX.

Infrastruktura i utrzymanie

RLRocky Linux

Stabilne środowisko serwerowe dla usług projektu, zaplecza WWW, API, panelu i automatyzacji.

OSopenSUSE

System Linux wykorzystywany w środowiskach roboczych, testowych lub administracyjnych projektu.

PVEProxmox VE

Środowisko wirtualizacji i testów infrastruktury dla usług projektu.

PBSProxmox Backup Server (PBS)

Tworzenie kopii zapasowych infrastruktury projektu oraz odtwarzanie środowisk i danych w razie awarii.

DADirectAdmin

Panel hostingowy wykorzystywany w zapleczu WWW i środowiskach testowych.

GLGitLab

Wersjonowanie źródeł strony WWW, paneli, API, firmware'u i konfiguracji infrastruktury oraz historia zmian, issue i dokumentacja techniczna.

CI/CDGitLab CI/CD

Zautomatyzowane procesy wdrażania zmian, powiązane z wersjonowanym kodem i kontrolą zespołu.

CincCinc

Automatyczne zarządzanie konfiguracją serwerów Linux, wspierające spójne i powtarzalne środowiska projektu.

WGWireGuard

Prywatna, szyfrowana komunikacja pomiędzy elementami infrastruktury projektu.

ZBXZabbix

Monitoring usług, serwerów i elementów infrastruktury wspierającej API, panel oraz środowiska testowe Planetnika.

IaCInfrastructure as Code

Powtarzalne podejście do konfiguracji serwerów, usług i środowisk projektu.

LXLinux

Wspólna warstwa systemowa dla usług serwerowych, narzędzi administracyjnych i eksperymentów infrastrukturalnych.

Nazwy technologii, produktów i znaki towarowe należą do ich właścicieli. Planetnik wykorzystuje je jako elementy środowiska projektowego, sprzętowego lub infrastrukturalnego. Wymienienie nazwy nie oznacza partnerstwa ani certyfikacji.

Co dalej?

Kolejne etapy to dopracowanie obudowy zewnętrznej, stabilizacja firmware, rozbudowa panelu, testy terenowe oraz zaproszenie pierwszych uczestników do sieci pilotażowej.