Difference between revisions of "Terminale Linux Base"

From PNLUG
Jump to navigation Jump to search
(Created page with "Category:Corsi = Corso Terminale Linux Base (online) = == Iscrizione e informazioni generali == === A chi è rivolto === Il corso è rivolto '''esclusivamente ai soci'...")
 
 
(10 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
=== A chi è rivolto ===
 
=== A chi è rivolto ===
   
Il corso è rivolto '''esclusivamente ai soci''' PN LUG ([https://www.pnlug.it/associarsi/ clicca qui per scoprire come associarti]), ed è indicato sia per chi ha già conoscenze di base, sia per chi parte completamente da zero.
+
Il corso è rivolto '''esclusivamente ai soci''' PN LUG ([https://www.pnlug.it/associarsi/ 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 ====
 
==== Requisiti ====
Line 15: Line 15:
 
* Sapere installare programmi/pacchetti software da interfaccia grafica
 
* Sapere installare programmi/pacchetti software da interfaccia grafica
   
'Nota: Si menzioneranno le altre shell, ma ci si concentrerà su Bash.'
+
''Nota: Si menzioneranno le altre shell, ma ci si concentrerà su Bash.''
   
 
=== Quando ===
 
=== Quando ===
Line 62: Line 62:
 
Il corso si terrà online su piattaforma Big Blue Button.
 
Il corso si terrà online su piattaforma Big Blue Button.
   
  +
Il link verrà inviato ad iscrizione avvenuta.
=== Attrezzatura: cosa serve ===
 
   
  +
=== Quota di iscrizione ===
Ogni partecipante dovrà dotarsi per proprio conto del seguente materiale:
 
   
  +
Prima di procedere con il pagamento si consiglia di verificare la disponibilità di posti scrivendo una mail al seguente indirizzo [mailto:promozione@pnlug.it promozione@pnlug.it].
* PC portatile
 
* Arduino UNO o derivati (ad es. [https://www.seeedstudio.com/Seeeduino-Lotus-ATMega328-Board-with-Grove-Interface-p-1942.html SeedStudio Lotus Atmega328]), si sconsigliano vivamente i 'cloni', che solitamente offrono una qualità non accettabile
 
* Materiali tipici del [https://www.seeedstudio.com/Sidekick-Basic-Kit-for-Arduino-V2-p-1858.html Sidekick Base Kit per Arduino] (presenti anche in altri kit o acquistabili a piacere separatamente):
 
** Breadboard 800 point
 
** Cavetti per collegamenti su breadbard
 
** Resistenze 100Ohm, 220Ohm, 1kOhm, 10kOhm. 1MOhm, 10MOhm (10x ciascuna)
 
** Diodo 1N4001 o similari
 
** Pulsante momentaneo da breadboard
 
** Leds rossi, verdi e gialli (3 o 5mm) (un paio per colore)
 
** Sensore temperatura analogico NTC
 
** Sensore luce analogico LDR
 
** Buzzer
 
** Potenziometro
 
** Mini-Servo Motor SG90 (o similare)
 
* Altro materiale:
 
** Fotoaccoppiatori 4N35
 
** Transistor N-channel IRF520
 
** Stepper Motore Driver TB6612FNG
 
** Alimentatore 12V (o switching) anche di recupero
 
* Materiale facoltativo (se è presente è meglio, ma il docente può metterlo a disposizione temporaneamente per la lezione):
 
** Relay Board
 
** Display LCD I2C
 
** Motore DC 5v
 
** Strip led 12v
 
** Neopixels
 
* Materiale per la parte IoT:
 
** Board basata su ESP8266 (es. Wemos D1 Mini) o su ESP32 (es. Lolin 32), si deciderà assieme al docente quale versione prima di avviare la parte di corso relativa all'IoT
 
   
  +
La quota di iscrizione prevista è di '''€ 60,00''' e può essere versata via mezzo bonifico alle seguenti coordinate:
=== Quota di iscrizione ===
 
 
La quota di iscrizione prevista è di '''€ 80,00''' e dovrà essere versata esclusivamente a mezzo bonifico alle seguenti coordinate:
 
   
 
<pre>Associazione Pordenone Linux Users Group - PN LUG
 
<pre>Associazione Pordenone Linux Users Group - PN LUG
 
Banca BCC Pordenonese - filiale di Torre di Pordenone
 
Banca BCC Pordenonese - filiale di Torre di Pordenone
 
IBAN: IT51J0835612501000000040189
 
IBAN: IT51J0835612501000000040189
Causale: Nome e Cognome - Quota di iscrizione a CORSO ARDUINO</pre>
+
Causale: Nome e Cognome - Quota di iscrizione a CORSO TERMINALE LINUX BASE</pre>
   
  +
Oppure via PayPal [https://www.pnlug.it/paga-con-paypal/ cliccando questo link].
Prima di procedere con il pagamento si consiglia di verificare la disponibilità di posti scrivendo una mail al seguente indirizzo [mailto:promozione@pnlug.it promozione@pnlug.it].
 
   
 
=== Numero chiuso ===
 
=== Numero chiuso ===
Line 119: Line 91:
 
=== Obiettivi formativi ===
 
=== 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?
Percorso base/propedeutico: alla fine di questo percorso i partecipanti saranno in grado di creare i circuiti e di scrivere il codice necessario ad utilizzare i componenti elencati nei vari step.
 
   
  +
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.
=== Programma dettagliato ===
 
   
  +
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.
==== Arduino ====
 
   
  +
=== Programma ===
* 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)
 
   
  +
* Uso di base del terminale
===== Input: i sensori =====
 
  +
* Come ottenere informazioni (pagine man e altre fonti)
  +
* Standard input, standard output, standard error
  +
* Parametri e opzioni
  +
* Gestione di file e directory
  +
* Filtri e altre utilità di base
  +
* Recupero file da internet e loro manipolazione
  +
* Casi concreti d'uso:
  +
** Rimpicciolire centinaia di immagini con imagemagick
  +
** Aggiungere un'immagine di sfondo a tutti i file PDF di una directory
  +
** Convertire testi da / verso diversi formati con pandoc
   
  +
=== Docente ===
* 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
 
   
  +
'''Loris Tissino'''
===== Output: gli attuatori =====
 
   
  +
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.
* Led: l'output di base
 
* Buzzer: generiamo delle frequenze
 
* Motore elettrico DC
 
   
  +
=== Tutor ===
===== 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 ===
 
   
'''Mirco Piccin'''
+
'''Alberto Sartori'''
   
  +
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.
Sviluppatore, si occupa di ricerca, sviluppo, divulgazione e docenza di software e hardware rilasciati con licenza open source. Attraverso il mondo dell’hardware open source e della prototipazione elettronica approccia il design artigianale e industriale.
 
Co-founder di Xuni, azienda che ha scelto di lavorare con l'open source, fabber di FabLab Castelfranco Veneto e co-founder del Treviso Arduino User Group, community che si interessa di hardware open source e Arduino. Partecipa attivamente a varie comunità mondiali legate a progetti liberi.
 

Latest revision as of 16:30, 9 February 2021


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.

Il link verrà inviato ad iscrizione avvenuta.

Quota di iscrizione

Prima di procedere con il pagamento si consiglia di verificare la disponibilità di posti scrivendo una mail al seguente indirizzo promozione@pnlug.it.

La quota di iscrizione prevista è di € 60,00 e può essere versata via 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

Oppure via PayPal cliccando questo link.

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

  • Uso di base del terminale
  • Come ottenere informazioni (pagine man e altre fonti)
  • Standard input, standard output, standard error
  • Parametri e opzioni
  • Gestione di file e directory
  • Filtri e altre utilità di base
  • Recupero file da internet e loro manipolazione
  • Casi concreti d'uso:
    • Rimpicciolire centinaia di immagini con imagemagick
    • Aggiungere un'immagine di sfondo a tutti i file PDF di una directory
    • Convertire testi da / verso diversi formati con pandoc

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 Sartori

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.