ENDPOINTS


WebServer dispone di specifici endpoint per lo scambio di dati con il dispositivo. 


/way

GET - IDENTIFICAZIONE

Restituisce WebId e nome del dispositivo.

$.ajax({

  url: '/way',

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});                

In caso di successo verrà reso l'identificativo WebId del dispositivo ed il nome assegnato.


/login

POST - LOGIN

Invio di comandi al dispositivo.

$.ajax({

  url: '/login',        // endpoint

  type: 'POST',                // metodo

  timeout: 4000,

  data: 0000,                // password del dispositivo

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

La risposta può essere OK (accesso effettuato) o ERROR (password non corretta).


Ulteriori endpoint sono raggiungibili solo dopo aver effettuato l'accesso.

Alla richiesta di uno degli endpoint che seguono senza avere prima effettuato il login il dispositivo renderà lo stato HTTP: 401 Unauthorized


/cmd

POST - COMANDI

Invio di comandi al dispositivo.

$.ajax({

  url: '/cmd',                // endpoint

  type: 'POST',                // metodo

  timeout: 4000,

  data: command,        // comando da inviare

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

I dati restituiti in caso di successo sono la risposta al comando, la stessa che si ottiene quando il comando viene inviato attraverso la console.

Alcuni comandi non sono consentiti da questo endpoint.



/readuser

GET - LISTA UTENTI

Restituisce la lista degli utenti memorizzati nel dispositivo. 

$.ajax({

  url: '/readuser',

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

In caso di successo verrà restituita una lista non ordinata di tutti gli utenti memorizzati nel dispositivo.



/readlog

GET - FILE LOG

Restituisce lo storico delle operazioni registrato dal dispositivo.

$.ajax({

  url: '/readlog',

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});

In caso di successo verrà restituito il file contenente lo storico delle operazioni (LOG).



/readmap

GET - MAPPA DISPOSITIVO

Restituisce la configurazione e lo stato di ogni risorsa memorizzata nel file di mappa del dispositivo.

$.ajax({

  url: '/readmap',

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});

In caso di successo verrà restituita l'intera mappa del dispositivo rappresentando ogni elemento nella forma TAGVALORE



/readrule

POST - LISTA REGOLE

Restituisce la lista totale o parziale delle regole.

Specificare nel POST l'intervallo, nel campo 1…500.

$.ajax({

  url: '/readrule',

  type: 'POST',

  timeout: 4000,

  data: "1,100",        // intervallo

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

In caso di successo verrà restituita la lista delle regole (nello specifico intervallo richiesto) memorizzate nel dispositivo.


/list

GET - LISTA FILES

Rende l'elenco dei files presenti nel dispositivo.

$.ajax({

  url: '/list',

  type: 'GET',

  timeout: 4000,

    success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

In caso di successo restituisce un elenco contenente percorso e nome dei files memorizzati nel dispositivo.


/read

GET - LEGGE FILE

Restituisce un file, specificare il percorso completo.

$.ajax({

  url: '/read/' + filename,

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});

In caso di successo restituisce il contenuto del file specificato.



/upload

POST - SCRIVE FILE

Memorizza un file, specificare il percorso completo.

$.ajax({

  url: '/upload/' + filename,

  type: 'POST',

  data: file,        // file da memorizzare

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});                

In caso di successo il file sarà memorizzato nel percorso specificato senza restituire alcun dato in risposta.



/audio

POST - SCRIVE FILE AUDIO

Memorizza un file audio nella specifica unità P.

$.ajax({

  url: '/upload/' + size + '/' + filename,

  type: 'POST',

  data: file,        // file audio da memorizzare

  timeout: 4000,

  success: function(data, status) {

    ///esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});        

In caso di successo il file sarà memorizzato senza restituire alcun dato in risposta.



/delete

GET - CANCELLA FILE

Cancella un file, specificare il percorso completo.

$.ajax({

  url: '/delete/' + filename,

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});                

In caso di successo il file sarà cancellato dal percorso specificato senza restituire alcun dato in risposta.


CORS

Richieste CORS sono supportate, quindi è possibile accedere agli endpoint anche dall'esterno, specificando l'indirizzo IP del dispositivo, di seguito un esempio di richiesta fatta da qualsiasi dispositivo presente nella stessa rete di un Avior che abbia indirizzo 10.0.0.88.


/way

GET - IDENTIFICAZIONE

Restituisce WebId e nome del dispositivo.

$.ajax({

  url: '10.0.0.88/way',

  type: 'GET',

  timeout: 4000,

  success: function(data, status) {

    //esegue in caso di successo

  },

  error: function(request, status, message) {

    //esegue in caso di errore

  }

});                

In caso di successo verrà reso l'identificativo WebId del dispositivo ed il nome assegnato.


In questo modo sarà possibile interagire con un Avior presente nella rete locale senza utilizzare le pagine ospitate sulla SD card.