Progettazione e sviluppo di un software applicativo su un single board computer
1. Sviluppo di un software applicativo
su un single-board computer con
architettura ARM
Relatore:
Chiar.mo Prof. Sergio Carrato
Correlatore aziendale:
Ing. Piergiorgio Menia
Laureando:
Alessandro Mascherin
2. Descrizione problema e motivazioni
• Lavoro svolto presso la Elimos S.r.l in seguito alla
richiesta di un azienda committente esterna
• Richiesta di un timbratore in grado di fornire un
ruolino di servizio all’operatore
3. Descrizione problema
Necessità di combinare:
• Lettura scheda identificativa utente
• Stampa delle attività giornaliere
Richiedendo inoltre:
• Semplicità di utilizzo per l’operatore
• Installazione in ambito industriale
• Funzionamento autonomo del sistema finale
4. Obiettivo della tesi
• Descrivere le operazione da svolgere per l’utilizzo di
un SBC ARM based in un ambiente non presidiato
• Rispetto delle specifiche di progetto
• Modularità e robustezza del software
5. Analisi Requisiti
• Dimensioni e costi contenuti
• Connessione TCP/IP
• Installazione di un Web Service
• Interfaccia Wiegand per lettura Tag RFID
• Generazione e stampa dei ruolini di servizio
• Aggiornamento e configurazione remota
6. Introduzione ambiente di lavoro: Hardware
• Hardware utilizzato: Raspberry Pi 2 Model B
o SBC Embedded Arm-Based
7. Introduzione ambiente di lavoro: Software
• Sistema operativo: Ubuntu Mate
• Per lo sviluppo dei moduli software e di altri strumenti
sono stati utilizzati C, C++, Bash
• Ambiente di sviluppo: NetBeans
9. Configurazione iniziale
• Partizioni in modalità di sola lettura
• Configurazione di rete (timeout all’avvio-
indirizzi IP)
• Configurazioni tramite FTP e SSH
• Gestione software applicativo tramite script
bash
10. Software applicativo: Gestione degli input
• Lettura del badge tramite interfaccia Wiegand
• Gestione input Web Server: Tiny XML
• Analisi e scomposizione delle stringa ricevuta
11. Software applicativo: Modulo di stampa
• Generazione di file PostScript
• I dati ricevuti vengono posizionati dinamicamente
sulla superficie di stampa