41 lines
1.7 KiB
Markdown
41 lines
1.7 KiB
Markdown
|
# Corso ITF Meccatronica - Lezione di Informatica - 04/09/2024 #
|
||
|
|
||
|
Obiettivo della lezione/laboratorio pratico era quello di acquisire alcune
|
||
|
competenze di base in merito a:
|
||
|
|
||
|
* Utilizzo di Raspberry PI come piattaforma di prototipazione
|
||
|
* Gestione di sistemi operativi per Raspberry PI
|
||
|
* Accesso remoto a sistemi GNU/Linux
|
||
|
* Comprensione di base di un piccolo circuito elettronico
|
||
|
* Controllo e collaudo di un piccolo circuito comandato da Raspberry PI
|
||
|
* Conoscenze di base sul linguaggio di programmazione Python
|
||
|
* Composizione di uno script/programma Python a linea di comando per
|
||
|
l'attivazione del circuito
|
||
|
* Riutilizzo del codice del programma a linea di comando per la preparazione
|
||
|
di una webapp per l'attivazione del circuito
|
||
|
|
||
|
## Costruzione del circuito elettronico ##
|
||
|
|
||
|
Il circuito è stato costruito seguendo passo passo le istruzioni riportate su
|
||
|
un [tutorial pubblico in inglese](https://thepihut.com/blogs/raspberry-pi-tutorials/27968772-turning-on-an-led-with-your-raspberry-pis-gpio-pins)
|
||
|
|
||
|
## Test e collaudo a linea di comando ##
|
||
|
|
||
|
Diversamente dai comandi indicati nel tutorial precedente, è stata utilizzata
|
||
|
l'interfaccia standard di accesso alla GPIO fornita con [libgpiod](https://github.com/brgl/libgpiod).
|
||
|
|
||
|
## Script in Python ##
|
||
|
|
||
|
Per la scrittura del programma a linea di comando è stata usata la libreria
|
||
|
[wiringpi](https://github.com/WiringPi/WiringPi-Python) anziché le proposte
|
||
|
delle varie pagine indicate.
|
||
|
|
||
|
La gestione dell'interfaccia web per la app è stata scritta utilizzando il
|
||
|
framework [Flask](https://flask.palletsprojects.com/en/3.0.x/).
|
||
|
|
||
|
## CAVEAT ##
|
||
|
|
||
|
Il codice non è ottimizzato né ridotto appositamente: deve essere molto
|
||
|
leggibile e chiaro anche per persone che hanno poca dimestichezza con la
|
||
|
programmazione in Python.
|