This is the backend api of the "progetto201" project.
Gli script si occupano di gestire i dati provvenienti dalla frontend e di gestirli inserendo/aggiornando/rimuovendo dati sul database.
Importare in MySQL il database con tutte le tabelle con il file db100_100.sql
Posizionare il contenuto della cartella www
nella cartella servita dal server web (per apache /var/www
)
e infine modificare le credenziali nel file credentials.ini
per poter
connettere PHP a MySQL
Per la documentazione di tutti gli script andare in questa pagina
Per aggiungere planimetrie non e' necessario modificare righe di codice: basta inserire nella cartella delle planimetrie il documento svg e selezionarlo dall'interfaccia
Attualmente non e' possibile aggiugere
colori dell'interfaccia dall'interfaccia stessa:
occorre aggiungere un record nella tabella t_colors
del database.
E' possibile modificare i label direttamente dall'interfaccia nella pagina delle impostazioni
Per aggiungere nuovi sensori al sistema, oltre
ad adattare lo script mqtt_manager,
occorre aggiungere allo script /api/sensors/columnnames.php
i nuovi tipi.
Esempio, alla prima versione l'api accetta un sensore, il tipo "0":
$nodetypes = array("0" => "t_type0_data");
Se si dovessero aggiungere due nuovi tipi occorre aggiungerli all'array in questo modo:
$nodetypes = array("0" => "t_type0_data", "1" => "t_type1_data", "2" => "t_type2_data");
Poi occorre anche aggiungere i nuovi tipi allo script /api/sensors/data.php
:
- andare nella funzione
getData()
, e aggiungere uno/piu' elseif nel punto:
if ($nodetype === 0){
$action_res = getDataType0($t_conn_res, $nodeid, $min_timestamp, $max_timestamp);
}
else{
// errore: tipo non riconosciuto
array_push($action_res['errors'], array('id' => 930,
'htmlcode' => 422,
'message' => "can't get data for this node type (not supported)"));
}
Ad esempio:
if ($nodetype === 0){
$action_res = getDataType0($t_conn_res, $nodeid, $min_timestamp, $max_timestamp);
}
elseif ($nodetype === 1){
$action_res = getDataType1($t_conn_res, $nodeid, $min_timestamp, $max_timestamp);
}
elseif ($nodetype === 2){
$action_res = getDataType2($t_conn_res, $nodeid, $min_timestamp, $max_timestamp);
}
else{
// errore: tipo non riconosciuto
array_push($action_res['errors'], array('id' => 930,
'htmlcode' => 422,
'message' => "can't get data for this node type (not supported)"));
}
- Creare tante funzioni quanti sono i tipi prendendo come riferimento la funzione
getDataType0()
E infine modificare lo script /api/sysinfos/rssi.php
:
aggiungere alla variabile:
/// Array with data tables
$data_tables = array("t_type0_data");
i nuovi tipi. Esempio:
/// Array with data tables
$data_tables = array("t_type0_data", "t_type1_data", "t_type2_data");
- php
- server web
- mysql
01_01 2020-05-10:
Primo commit
Zenaro Stefano