Tesi centralina di controllo per serrature

  • View
    384

  • Download
    1

Embed Size (px)

DESCRIPTION

UNIVERSITA’ TELEMATICA “e-Campus”Facoltà di IngegneriaCorso Di Laurea in InformaticaProgettazione e sviluppo in C++ di una centralina di controllo per serrature motorizzate con controllo accessiRelatore: Luigi SartiTesi di Laurea di:Aldo FadaltiMatricola numero 5500Anno Accademico 2011/ 2012

Text of Tesi centralina di controllo per serrature

UNIVERSITA TELEMATICA e-Campus

Facolt di Ingegneria Corso Di Laurea in Informatica

Progettazione e sviluppo in C++ di una centralina di controllo per serrature motorizzate con controllo accessi

Relatore: Luigi Sarti

Tesi di Laurea di: Aldo Fadalti Matricola numero 5500

Anno Accademico 2011/ 2012

Universit Telematica e-Campus

Facolt di Ingegneria

IndiceIntroduzione .............................................................................................. 3 Requisiti..................................................................................................... 6 Concetti del corso di Algoritmi e Strutture Dati presenti nellambito della progettazione e sviluppo del software della centralina .................... 8 Scelta del microcontrollore ....................................................................... 9 Pre-verifica disponibilit RAM e uso della EEprom per i dati permanenti ................................................................................................................. 10 Scelta del Keypad e comunicazione con la centralina ............................ 12 Metodi di inizializzazione e startup in Arduino...................................... 15 Inizializzare le risorse hardware.............................................................. 16 Creazione di oggetti polimorfici sulla base di parametri iniziali costanti ................................................................................................................. 18 Gli Interrupt............................................................................................. 21 Creazione degli oggetti OOP ad allocazione dinamica tramite loperatore New()....................................................................................................... 23 Override del metodo di sistema per ricavare data e ora da un chip DS1307.................................................................................................... 24 Debugging, gestione errori e difficolt caratteristiche dello sviluppo con un microcontrollore ................................................................................. 25 Gestione password, parsing e logica di ricerca ....................................... 27 Realizzazione hardware della centralina................................................. 29 Motoriduttore .......................................................................................... 31 Esploso di montaggio.............................................................................. 33 Possibili utilizzi del prototipo ................................................................. 34 Analisi comparativa con i dispositivi commerciali esistenti ed elementi di novit................................................................................................... 37 Bibliografia.............................................................................................. 41

Pag. 2

Universit Telematica e-Campus

Facolt di Ingegneria

IntroduzioneIn un periodo di crisi economica che sta coinvolgendo i Paesi pi industrializzati, doveroso indirizzare gli sforzi creativi verso la ricerca di nuove tecnologie. LItalia e un paese non in grado di competere con i nuovi Paesi emergenti dal punto di vista della manodopera industriale. Di conseguenza, di fondamentale importanza maturare letica di creare novit tecnologiche in ogni contesto. Ecco da dove nasce lidea di progettare una serratura motorizzata. Ormai consuetudine nello stile di vita quotidiana usufruire di automatismi che rendono il vivere pi agevole. Sono svariate le comodit di cui ormai difficile fare a meno; si va dallaria condizionata ai finestrini elettrici di unautomobile, dai cancelli automatici alle tapparelle elettriche di una casa. La serratura rimane ancora uno dei pochissimi dispositivi profondamente legati allazione manuale della persona, si pensi che la prima chiave risale al 4000 a.C. nellantico Egitto. Pur essendosi evoluta nella tecnica di realizzazione costruttiva, la chiave rimasta concettualmente invariata nei secoli. Bisogna sempre ruotarla manualmente. La chiave anche un oggetto ingombrante da tenere sempre con s e, in caso di perdita, sussiste il serio pericolo di duplicazione. E stato riscontrato che le porte blindate, in assenza della chiusura con le mandate, sono facilmente apribili semplicemente forzando lo scrocco attraverso linserimento di una piccola lastra radiografica. E altres consuetidine, forse per pigrizia, non chiudere le mandate nelle ore diurne o per brevi permanenze nellambiente, con conseguente esposizione al rischio di ingressi forzati ad opera di indesiderati. Nel progetto della serratura motorizzata, la centralina impone la chiusura completa delle mandate ad ogni accostamento della porta. La presenza di un interruttore facilmente accessibile, chiamato Day&Night, inibisce in caso di attivazione la chiusura automatica che risulterebbe oppressiva negli ambienti lavorativi.

Pag. 3

Universit Telematica e-Campus

Facolt di Ingegneria

Figura 1: Vista esterna del dispositivo installato

Se si considerano sufficienti i motivi finora esposti per dotarsi di una serratura motorizzata, si possono allora valutare anche altre funzionalit dovute alla presenza di una centralina elettronica. La pi importante sicuramente caratterizzata dal controllo accessi che, oltre a garantire lingresso autenticato, permette anche di limitare lentrata degli utenti solo in certe fasce orarie di determinati giorni settimanali. Oltre a ci, lutente con i privilegi di ammistratore pu in qualunque momento disporre dellelenco completo degli accessi, comprensivo di orario e di identificativo, salvato su una comune chiavetta USB. Linstallazione del dispositivo che abilita fisicamente lapertura automatica intuitivo e applicabile a qualunque sistema di chiusura gi pre esistente.

Pag. 4

Universit Telematica e-Campus

Facolt di Ingegneria

Ci reso possibile, a livello meccanico, dalla giunzione mediante coppia conica fra il perno del motoriduttore e il codolo del cilindro. Il numero ridotto di componenti di cui composto il prototipo costuisce un ulteriore vantaggio sia in termini di costi che di installazione.

Figura 2: Vista interna del prototipo montato

Pag. 5

Universit Telematica e-Campus

Facolt di Ingegneria

RequisitiLa centralina soddisfa le seguenti specifiche: Funzione day&night attivabile con semplice tasto selettore; in modalit day non chiude le mandate Programmabile facilmente dallutente da tastiera Impostazione di password personalizzate con accesso a fasce orarie ristrette, giornaliere o settimanali fino a 50 utenti Blocco tastiera esterna (pressione di 2,5 secondi del pulsante di apertura interno); sblocco automatico allapertura dallinterno Rolling code: permette di inserire pi numeri fino allinserimento della password corretta(per evitare la memorizzazione visiva di chi osserva mentre digiti il codice) La tastiera comunica con la centralina in modo criptato, anche collegando i fili tra di loro, il sistema non apre la porta. Dopo 30 digitazioni casuali, il sistema si blocca per 3 minuti. Funzione anticoercizione: inserendo il proprio codice +1 apre la porta e chiama e/o manda SMS fino a 5 numeri di telefono con funzione allarme Apertura e chiusura automatica di scrocco e mandate senza lausilio delle chiavi Apertura da remoto tramite un semplice squillo telefonico senza costo Gestione degli utenti abilitati allapertura da remoto tramite semplici SMS autorizzati da un codice amministrativo Memorizzazione degli ultimi 5500 accessi, con relativo orario. Lutente amministratore ha la possibilit di scaricare su una chiavetta USB i dati memorizzati in un file formato Excel

Pag. 6

Universit Telematica e-Campus

Facolt di Ingegneria

Figura 3: Specifiche operazionali del software del microcontrollore

Pag. 7

Universit Telematica e-Campus

Facolt di Ingegneria

Concetti del corso di Algoritmi e Strutture Dati presenti nellambito della progettazione e sviluppo del software della centralina1. Applicazione di Design Pattern per esigenze tipiche dei microcontrollori applicati al C++ 2. Concorrenza nel microcontrollore a CPU singola. Uso degli interrupt per la gestione di processi secondari a priorit Real Time. Variabili volatili 3. Uso di meccanismi di astrazione, tipici della programmazione OOP, come strumento per un ottimale riutilizzo di codice. 4. Il concetto di ricorsione applicato alla scansione di strutture dati in memoria EEprom. Complessit teorica dellalgoritmo. Vantaggi e svantaggi nelluso di una EEprom 5. Applicazione dei concetti fondamentali della programmazione orientata agli oggetti: incapsulazione, strutturazione gerarchica delle classi, ereditariet, polimorfismo e information hiding 6. Programmazione event driven in C++ in risposta a eventi fisici esterni trasmessi da sensori e keypad 7. Gestione delle eccezzioni nel microcontrollore. Debugging e monitoring della memoria su un dispositivo privo di output visivo, con uptime continuo al 100% (watchdog) 8. Trasmissione seriale tra microcontrollori. Ricezione dei caratteri dal keypad e corrispettivo invio di informazioni sul segnale acustico 9. Gestione password, parsing e logica di ricerca. 10.Tecniche avanzate della programmazione OOP nel microcontrollore, hacking dello stesso al fine di disporre di Templates e allocazione di oggetti (operatori new()e free())

Pag. 8

Universit Telematica e-Campus

Facolt di Ingegneria

Scelta del microcontrolloreArduino un microcontrollore open source programmabile in C++.

Figura 4: Una foto del microcontrollore Arduino Mega

Il modello utilizzato per governare la centralina di questo progetto il Mega basato su processore ATmega1280 ad una fr