sabato 30 settembre 2017

A.S. 2017/18 - Esercitazioni di laboratorio per la materia SISTEMI E RETI/1

ESERCITAZIONE 07 - Interruttore remoto con RPI (09/04/18)
Controllare da remoto un impianto di irrigazione comandato da RaspberryPI

OBIETTIVI / ARGOMENTI TRATTATI
- il comando wget
- il comando sleep
- RPi GPIO



PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare diagramma di flusso e script
- Su un server di archiviazione remota (Drive, Dorpbox, Mega, ...) verranno caricati alternativamente il file "ACCENDI" o il file "SPEGNI"
- Realizzare uno script che controlli sempre la presenza di questi file, e, comandi di conseguenza l'elettrovalvola collegata, tramite un circuito adattatore, sul connettore gpio della RaspberryPI
- in fase di collaudo usare l'istruzione di echo invece dei comandi gpio
- aggiungere allo script il controllo della connessione alla rete Internet






-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 06 - CheckInternetConnection (12/03/18)
Verifica l'esistenza di in collegamento Internet valido, con ridirezione dell'output nel cestino, e indicazione della qualità del collegamento

OBIETTIVI / ARGOMENTI TRATTATI
output redirection link2
- passaggio di parametri

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare diagramma di flusso e script
- se allo script viene passato il parametro -v, lo script visualizzerà l'output del comando ping
altrimenti l'output verrà ridirezionato nel cestino /dev/null
- La qualità del collegamento è uguale al numero di ping eseguiti con successo.
- Visualizzare con un messaggio la qualità del collegamento: Qualità ottima, buona, sufficiente, scarsa e Connessione assente.
- restituiamo come exit status 0 per collegamento valido e 1 in caso di connessione assente
- [OPZIONALE] con l'opzione -l ridirezioniamo tutti i messaggi su un file di log

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 05 - CheckInternetConnection (12/02/18)
Verifica l'esistenza di in collegamento Internet valido

OBIETTIVI / ARGOMENTI TRATTATI
- il ciclo while nei diagrammi di flusso
- il cilclo while negli script bash [vedi cap. 9 corso Linux Essential]
- istruzione test con OR di espressioni
- istruzione ping
- exit status
- utilizzo delle costanti
- espansione aritmetica

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare diagramma di flusso e script
- definire una costante (variabile) contenente l'indirizzo ip verso il quale fare il ping
- definisco le seguenti costanti:
ERR_NOERROR=0
ERR_NOCONNETION=15
NUM_RIPETIZIONI=3
- restituisco come exit status se la connessione è presente o meno

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 04 - Backup (29/01/18)
Script per il backup di una cartella di sistema

OBIETTIVI / ARGOMENTI TRATTATI
- istruzione test sui file
- passaggio di parametri
- il comando tar

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare diagramma di flusso e script
- lo script verificata la presenza di un backup, se il file non esiste esegue il backup
  della cartella lavori, altrimenti esegue il comando tar con l'opzione che aggiorna con i
  file più recenti

LINK

GRIGLIA DI VALUTAZIONE:
[2 punti] - diagramma di flusso
[2 punti] - codice in bash: intestazione e commenti
[1 punti] - coerenza tra FC e codice
[3 punti] - codice in bash: algoritmo corretto
[1 punto] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[1 punto] - relazione: collaudo

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 03 - Login  (15/01/18)
Realizzare uno script che, letti come parametro il nome utente richieda la password, visualizzi un messaggio di accesso coerente. Es.: Accesso consentito; Nome utente sbagliato; ecc…

OBIETTIVI / ARGOMENTI TRATTATI
- istruzione test per il confronto di stringhe
- passaggio di parametri

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegnare diagramma di flusso e script
- nell'intestazione dello script spiegare l'obiettivo dello script e descrivere come è
  stato eseguito il collaudo
- per evitare i magic numbers, creare due variabili da usare all'interno dello scrip come costanti
  per il nome utente e la password. es.:
  NOME_UTENTE=mario.rossi
- richiamare lo script passando come parametro il nome utente e il nome completo
  es. $bash login.sh mario.rossi "Mario Rossi"
  i parametri saranno disponibili all'interno dello script come $1 e $2
- se il nome utente è sbagliato visualizzare un messaggio di errore e terminare lo script
  altrimenti richiedere, con l'istruzione read, la password
- se la password è sbagliata visualizzare un messaggio di errore e terminare lo script
  altrimenti visualizzare un messaggio di benvenuto
  es. Benvenuto Mario Rossi, accesso consentito

GRIGLIA DI VALUTAZIONE:
[20 punti] - diagramma di flusso
[20 punti] - implementazione del codice in bash: intestazione
[10 punti] - codice in bash: commenti
[10 punti] - coerenza tra FC e codice
[20 punti] - codice in bash: algoritmo corretto
[10 punti] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[10 punti] - relazione: collaudo

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 02 - Saluti v1.0  (08/01/18)
Realizzare uno script che, letti come parametri nome e orario, visualizzi un messaggio di saluto coerente. Es.: Buona Mattina Massimo; Buona Sera Massimo; ecc…

OBIETTIVI / ARGOMENTI TRATTATI
- Come si realizza un progetto
- I diagrammi di flusso
- La relazione tecnica
- Convenzioni per la scrittura di codice Bash
- Le variabili e il costrutto if

PROCEDIMENTO / SPECIFICHE INIZIALI
- Sono definite due fasce orarie: 0-18 giorno, 19-24 sera
- Configurare MobaXterm per collegarsi alla  RaspberryPI (93.63.234.78)
- Accedere e modificare la propria password
- Creare la cartella ES01-Saluti per contenere i file del nostro esercizio
- Creare il diagramma di flusso
- Creare lo script saluti_v10.sh
- Fare l'upload nella propria homedirectory dei file relazione e diagramma di flusso

GRIGLIA DI VALUTAZIONE:
[20 punti] - relazione: obiettivo e specifiche
[20 punti] - relazione: diagramma di flusso
[10 punti] - implementazione del codice in bash: intestazione
[10 punti] - codice in bash: commenti
[20 punti] - codice in bash: algoritmo corretto
[10 punti] - convenzioni di scrittura codice (intestazione, commenti, nomi var, ...)
[01 punti] - relazione: collaudo

RIFERIMENTI / LINK
- draw.io

-------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 01 (11/10/16)
Installazione del S.O. Linux su macchina virtuale

OBIETTIVI / ARGOMENTI TRATTATI
- Virtualizzazione
- Installazione di Ubuntu

PROCEDIMENTO / SPECIFICHE INIZIALI
- Scaricare la versione 16.04 server di Ubuntu
- Impostare come percorso delle macchine virtuali D:\VirtualMachines

RIFERIMENTI / LINK
https://www.virtualbox.org/

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE
OBIETTIVI / ARGOMENTI TRATTATI
PROCEDIMENTO / SPECIFICHE INIZIALI
GRIGLIA DI VALUTAZIONE:
RIFERIMENTI / LINK
-------------------------------------------------------------------------------------------------------------
Versione iniziale del 11/10/16
ultima modifica del 09/04/18

Nessun commento:

Posta un commento