update
This commit is contained in:
@@ -53,6 +53,17 @@ The `system_monitor.py` must be installed on every node you wish to monitor.
|
|||||||
* Edit `node_config.json` to set the `client_id` (must match the ID in `clients.json`) and MQTT credentials.
|
* Edit `node_config.json` to set the `client_id` (must match the ID in `clients.json`) and MQTT credentials.
|
||||||
* (Recommended) Set up a systemd service to run the agent automatically at boot.
|
* (Recommended) Set up a systemd service to run the agent automatically at boot.
|
||||||
|
|
||||||
|
#### ⚙️ Running as a System Service (systemd)
|
||||||
|
To keep the system running continuously and start automatically at boot, use the provided `.service` files:
|
||||||
|
|
||||||
|
1. Copy the appropriate file to the systemd directory:
|
||||||
|
* For Server: `sudo cp systemd/fleet-console.service /etc/systemd/system/`
|
||||||
|
* For Nodes: `sudo cp systemd/fleet-agent.service /etc/systemd/system/`
|
||||||
|
2. Reload the systemd daemon: `sudo systemctl daemon-reload`
|
||||||
|
3. Enable it to start on boot: `sudo systemctl enable fleet-console` (or `fleet-agent`)
|
||||||
|
4. Start the service: `sudo systemctl start fleet-console`
|
||||||
|
5. Check the status: `sudo systemctl status fleet-console`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<a name="italiano"></a>
|
<a name="italiano"></a>
|
||||||
@@ -104,5 +115,16 @@ Il file `system_monitor.py` va installato su ogni nodo che vuoi monitorare.
|
|||||||
* Modifica `node_config.json` impostando il `client_id` (deve corrispondere all'ID in `clients.json`) e le credenziali MQTT.
|
* Modifica `node_config.json` impostando il `client_id` (deve corrispondere all'ID in `clients.json`) e le credenziali MQTT.
|
||||||
* (Consigliato) Crea un servizio systemd per avviare l'agente automaticamente al boot.
|
* (Consigliato) Crea un servizio systemd per avviare l'agente automaticamente al boot.
|
||||||
|
|
||||||
|
#### ⚙️ Esecuzione come Servizio di Sistema (systemd)
|
||||||
|
Per mantenere il sistema sempre attivo e avviarlo in automatico all'accensione, usa i file `.service` forniti:
|
||||||
|
|
||||||
|
1. Copia il file appropriato nella cartella di systemd:
|
||||||
|
* Per il Server: `sudo cp systemd/fleet-console.service /etc/systemd/system/`
|
||||||
|
* Per i Nodi: `sudo cp systemd/fleet-agent.service /etc/systemd/system/`
|
||||||
|
2. Ricarica i demoni di sistema: `sudo systemctl daemon-reload`
|
||||||
|
3. Abilita l'avvio automatico: `sudo systemctl enable fleet-console` (oppure `fleet-agent`)
|
||||||
|
4. Avvia il servizio: `sudo systemctl start fleet-console`
|
||||||
|
5. Controlla lo stato: `sudo systemctl status fleet-console`
|
||||||
|
|
||||||
---
|
---
|
||||||
*Created by IV3JDV @ ARIFVG - 2026*
|
*Created by IV3JDV @ ARIFVG - 2026*
|
||||||
|
|||||||
+132
@@ -0,0 +1,132 @@
|
|||||||
|
============================================================
|
||||||
|
INSTALLATION GUIDE - FLEET CONTROL CONSOLE
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
This guide describes the steps to install the Central
|
||||||
|
Dashboard and the Remote Agents on MMDVM nodes.
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
1. PRE-REQUISITES
|
||||||
|
------------------------------------------------------------
|
||||||
|
Ensure Python 3 is installed on all systems.
|
||||||
|
The necessary dependencies are listed in the
|
||||||
|
'requirements.txt' file.
|
||||||
|
|
||||||
|
Install dependencies:
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
2. SERVER SETUP (CENTRAL HUB)
|
||||||
|
------------------------------------------------------------
|
||||||
|
The server handles the web interface and user permissions.
|
||||||
|
|
||||||
|
Steps:
|
||||||
|
1. Configure 'config.json' using 'config.example.json' as a template.
|
||||||
|
2. Enter MQTT credentials and VAPID keys.
|
||||||
|
3. Define repeaters in the 'clients.json' file.
|
||||||
|
4. Start the server:
|
||||||
|
python3 app.py
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
3. GENERATING VAPID KEYS (PUSH NOTIFICATIONS)
|
||||||
|
------------------------------------------------------------
|
||||||
|
Required to enable browser and mobile notifications.
|
||||||
|
|
||||||
|
1. Go to https://vapidkeys.com/ and generate the keys.
|
||||||
|
2. Copy 'Public Key' and 'Private Key' into 'config.json'.
|
||||||
|
3. Set 'vapid_claim_email' (e.g., "mailto:your@email.com").
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
4. AGENT SETUP (REMOTE NODES)
|
||||||
|
------------------------------------------------------------
|
||||||
|
To be installed on each Raspberry Pi / MMDVM Node.
|
||||||
|
|
||||||
|
1. Copy 'system_monitor.py' and 'node_config.json' to
|
||||||
|
'/opt/node_agent/'.
|
||||||
|
2. Edit 'node_config.json' with a unique 'client_id'.
|
||||||
|
3. (Optional) Install 'RPi.GPIO' for hardware reset.
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
5. RUNNING AS A SERVICE (SYSTEMD)
|
||||||
|
------------------------------------------------------------
|
||||||
|
For auto-start and process monitoring.
|
||||||
|
|
||||||
|
Configuration:
|
||||||
|
1. Copy .service files to '/etc/systemd/system/':
|
||||||
|
- Server: sudo cp fleet-console.service /etc/systemd/system/
|
||||||
|
- Nodes: sudo cp fleet-agent.service /etc/systemd/system/
|
||||||
|
2. Reload systemd:
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
3. Enable start on boot:
|
||||||
|
sudo systemctl enable fleet-console (or fleet-agent)
|
||||||
|
4. Start the service:
|
||||||
|
sudo systemctl start fleet-console
|
||||||
|
|
||||||
|
|
||||||
|
============================================================
|
||||||
|
GUIDA ALL'INSTALLAZIONE - FLEET CONTROL CONSOLE
|
||||||
|
============================================================
|
||||||
|
|
||||||
|
Questa guida descrive i passaggi per installare la Dashboard
|
||||||
|
Centrale e gli Agenti Remoti sui nodi MMDVM.
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
1. REQUISITI PRELIMINARI
|
||||||
|
------------------------------------------------------------
|
||||||
|
Assicurarsi di avere Python 3 installato su tutti i sistemi.
|
||||||
|
Le dipendenze necessarie sono elencate nel file
|
||||||
|
'requirements.txt'.
|
||||||
|
|
||||||
|
Installazione dipendenze:
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
2. SETUP DEL SERVER (HUB CENTRALE)
|
||||||
|
------------------------------------------------------------
|
||||||
|
Il server gestisce l'interfaccia web e i permessi.
|
||||||
|
|
||||||
|
Passaggi:
|
||||||
|
1. Configura 'config.json' partendo da 'config.example.json'.
|
||||||
|
2. Inserisci le credenziali MQTT e le chiavi VAPID.
|
||||||
|
3. Definisci i ripetitori nel file 'clients.json'.
|
||||||
|
4. Avvia il server:
|
||||||
|
python3 app.py
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
3. GENERAZIONE CHIAVI VAPID (NOTIFICHE PUSH)
|
||||||
|
------------------------------------------------------------
|
||||||
|
Necessarie per abilitare le notifiche su browser e mobile.
|
||||||
|
|
||||||
|
1. Vai su https://vapidkeys.com/ e genera le chiavi.
|
||||||
|
2. Copia 'Public Key' e 'Private Key' nel 'config.json'.
|
||||||
|
3. Imposta 'vapid_claim_email' (es. "mailto:tua@email.com").
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
4. SETUP DELL'AGENTE (NODI REMOTI)
|
||||||
|
------------------------------------------------------------
|
||||||
|
Da installare su ogni Raspberry Pi / Nodo MMDVM.
|
||||||
|
|
||||||
|
1. Copia 'system_monitor.py' e 'node_config.json' in
|
||||||
|
'/opt/node_agent/'.
|
||||||
|
2. Modifica 'node_config.json' con il 'client_id' univoco.
|
||||||
|
3. (Opzionale) Installa 'RPi.GPIO' per il reset hardware.
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
5. ESECUZIONE COME SERVIZIO (SYSTEMD)
|
||||||
|
------------------------------------------------------------
|
||||||
|
Per l'avvio automatico e il monitoraggio del processo.
|
||||||
|
|
||||||
|
Configurazione:
|
||||||
|
1. Copia i file .service in '/etc/systemd/system/':
|
||||||
|
- Server: sudo cp fleet-console.service /etc/systemd/system/
|
||||||
|
- Nodi: sudo cp fleet-agent.service /etc/systemd/system/
|
||||||
|
2. Ricarica systemd:
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
3. Abilita l'avvio al boot:
|
||||||
|
sudo systemctl enable fleet-console (oppure fleet-agent)
|
||||||
|
4. Avvia il servizio:
|
||||||
|
sudo systemctl start fleet-console
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
Created by IV3JDV @ ARIFVG - 2026
|
||||||
|
============================================================
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Fleet Control - Remote Node Agent
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
# Agent must be run as root for services restart (MMDVMHost etc.) and use GPIO
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/node_agent
|
||||||
|
ExecStart=/usr/bin/python3 /opt/node_agent/system_monitor.py
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Fleet Control Console - Central Hub
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
WorkingDirectory=/opt/web-control
|
||||||
|
ExecStart=/usr/bin/python3 /opt/web-control/app.py
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
|
# Ottimizzazioni per la gestione dei log
|
||||||
|
StandardOutput=syslog
|
||||||
|
StandardError=syslog
|
||||||
|
SyslogIdentifier=fleet-console
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
Reference in New Issue
Block a user