Terminale Linux Base
Corso Terminale Linux Base (online)
Iscrizione e informazioni generali
A chi è rivolto
Il corso è rivolto esclusivamente ai soci PN LUG (clicca qui per scoprire come associarti), ed è indicato sia per chi ha già conoscenze di base, sia per chi parte completamente da zero (ma soddisfa i sottostanti requisiti).
Requisiti
- Avere un PC con Linux installato (preferibilmente distribuzioni Debian/Ubuntu e derivate)
- Sapere aprire un terminale
- Sapere installare programmi/pacchetti software da interfaccia grafica
Nota: Si menzioneranno le altre shell, ma ci si concentrerà su Bash.
Quando
Il corso verrà avviato Martedì 23 Febbraio 2021, le lezioni avranno cadenza settimanale e si terranno il Martedì sera dalle ore 18:30 alle ore 20:30.
La durata totale del corso è di 12 ore, suddivise in 6 lezioni da 2 ore ciascuna.
Calendario lezioni
Lezione | Data | Orario |
---|---|---|
1 | Mar. 23/02/2021 | 18:30 - 20:30 |
2 | Mar. 02/03/2021 | 18:30 - 20:30 |
3 | Mar. 09/03/2021 | 18:30 - 20:30 |
4 | Mar. 16/03/2021 | 18:30 - 20:30 |
5 | Mar. 23/03/2021 | 18:30 - 20:30 |
6 | Mar. 30/03/2021 | 18:30 - 20:30 |
Dove
Il corso si terrà online su piattaforma Big Blue Button.
Quota di iscrizione
La quota di iscrizione prevista è di € 60,00 e dovrà essere versata esclusivamente a mezzo bonifico alle seguenti coordinate:
Associazione Pordenone Linux Users Group - PN LUG Banca BCC Pordenonese - filiale di Torre di Pordenone IBAN: IT51J0835612501000000040189 Causale: Nome e Cognome - Quota di iscrizione a CORSO TERMINALE LINUX BASE
Prima di procedere con il pagamento si consiglia di verificare la disponibilità di posti scrivendo una mail al seguente indirizzo promozione@pnlug.it.
Numero chiuso
Il numero massimo di partecipanti è 15.
Il corso verrà attivato con un numero minimo di almeno 10 iscritti, altrimenti verrà posticipato a data da destinarsi.
Contatti
Per chiarimenti o ulteriori informazioni si prega di inviare una mail al seguente indirizzo promozione@pnlug.it.
Contenuti
Obiettivi formativi
Si apre un terminale e c'è un prompt che ti sollecita ad impartire un comando. Ma quale comando? Con quali parametri? Come ottenere informazioni su che cosa è possibile fare? E, soprattutto, come interpretarle per adattarle alle tue esigenze concrete?
Con questo corso, imparerai i rudimenti di base per affrontare il terminale con sicurezza e verrai portato/a piano piano ad esplorarne le molteplici funzionalità che ancora oggi, in epoca di interfacce grafiche avanzate, lo rendono imbattibile per molte operazioni.
Attraverso esempi semplici e concreti, basati su esigenze di ordinaria amministrazione (ad esempio, potresti voler rimpicciolire tutte le fotografie scattate con lo smartphone, oppure trasformare i file pdf di una cartella in immagini o viceversa), vedrai come il terminale manifesta tutta una potenza e una flessibilità irraggiungibili con altri strumenti.
Programma dettagliato
Arduino
- Software utilizzati durante il corso: installazione, preview e test
- Strumenti di lavoro e come si usano: breadboard e componenti
- "Hello World!" targato Arduino: il blink (utilizzo di led e resistenze)
Input: i sensori
- Pulsante: leggiamo pin digitali e gestiamo gli stati
- Potenziometro: leggiamo pin analogici e gestiamo la taratura
- Comunicazione seriale: apriamo un canale di comunicazione tra Arduino e PC
- Fotoresistenza, termoresistenza, altri sensori analogici
- Tecniche di filtraggio e pulizia segnali analogici
- Condizioni logiche
Output: gli attuatori
- Led: l'output di base
- Buzzer: generiamo delle frequenze
- Motore elettrico DC
Mappiamo sensori e attuatori
- PWM: dimmeriamo led, cambiamo velocità a motori
- Led indirizzabili
- Fotoaccoppiatori e interfacciamento ad altri circuiti
- Mosfet e strip led e altri carichi 12v
- Relè e carichi 220v
Processing
Verranno utilizzati sensori e attuatori visti nella prima parte del percorso.
- Grafica generativa: creare interfacce grafiche dinamiche da nerd (scrivendo codice)
- Eventi mouse e tastiera: controllare interfacce usando eventi da mouse e tastiera
- Interfacce grafiche: generare interfacce di input/outupt utente
- Interfacciamento a filesystem: leggere/scrivere/caricare e gestire contenuti testo o multimediali
- Comunicazione seriale da Arduino a Processing: usiamo dati letti dai sensori collegati ad Arduino per costruire interfacce dinamiche o semplici grafici
- Comunicazione seriale da Processing ad Arduino: usiamo interfacce grafiche per controllare attuatori collegati ad Arduino
Comunicazione seriale di Arduino con Python
Valorizziamo Processing sopra Python perchè permette di generare interfacce in maniera molto più veloce.
Comunicazione seriale di Arduino con Node.js
Valorizziamo Processing sopra Nodejs perchè permette di generare interfacce in maniera molto più veloce.
Internet Of Things
Verranno utilizzati sensori e attuatori visti nella prima parte del percorso.
- Come fare IoT con Arduino e con altre schede analoghe: overview
- Connessione indiretta e connessione diretta: schede standard VS schede dotate di connettività (Arduino famiglia MKR, Boards basate su ESP*, ..)
- Protocolli standard e più utilizzati (MQTT, OSC, HTTP, TCP, UDP...)
- Formati di interscambio dati standard (JSON, XML, CSV) - elaborazione e creazione
- Interfacciamento a servizi esterni e API (OpenData, Telegram...)
- Backend e frontend per gestione dati di sensori: esempi di piattaforme opensource (Emoncms, Grafana, Adafruit IO, Arduino Cloud...)
- Sistemi di integrazione di servizi online e locali: NodeRed
- Integrazione con RaspberryPi & affini
Docente
Loris Tissino
Insegna in una scuola superiore di Pordenone e ha tenuto diversi corsi di formazione professionale sull'uso del sistema operativo GNU/Linux. È socio fondatore del PN LUG e collabora a diversi progetti di software Open Source.
Tutor
Alberto Sartor
Coordina il Master in High Performance Computing erogato da SISSA ed ICTP, insegna diversi corsi di programmazione avanzata all'Universita' di Trieste, per il Master e per gli studenti di dottorato in SISSA. I suoi interessi di ricerca sono il calcolo ad elevate prestazioni sui moderni super-calcolatori. Contribuisce allo sviluppo di diversi progetti Open Source e detiene un dottorato in Ingegneria Nucleare.