1
Indice Classe Virtuale 2013 ............................................................................................................................ 3 Premessa............................................................................................................................................. 10 Organizzazione del lavoro ................................................................................................................. 11 Guida Tecnica ......................................................................................................................... 12 Controllo di gestione ............................................................................................................... 12 Team di gestione delle comunicazioni .................................................................................... 13 Team Elettronico ..................................................................................................................... 13 Team Informatico .................................................................................................................... 14 Team Meccanico ..................................................................................................................... 14 Programmazione di Arduino .............................................................................................................. 15 Ricerca delle librerie ...................................................................................................................... 15 Forum ......................................................................................................................................... 15 Librerie ....................................................................................................................................... 15 Come importare le librerie ......................................................................................................... 16 Ricerca di guide ed esempi per la programmazione .................................................................... 16 Test del funzionamento del lettore Rfid ......................................................................................... 17 Test del funzionamento di Openpicus ............................................................................................ 18 Creazione dell’applicativo software................................................................................................... 19 Stesura del database ....................................................................................................................... 19 Scrittura delle logiche di ricerca .................................................................................................... 19 Creazione dell’interfaccia grafica .................................................................................................. 20 Componenti HW e SW per la acquisizione dei pacchetti dati ........................................................... 21 Trasmissione dati ........................................................................................................................... 21 Invio e ricezione pacchetti di informazioni.................................................................................... 21 Costruzione Meccanica dei Gate – dal progetto al prodotto .............................................................. 22 Desing ............................................................................................................................................ 22 Dimensionamento .......................................................................................................................... 23 Ingegnerizzazione del prodotto ...................................................................................................... 24 Statistiche sulla qualità delle nostre scelte ......................................................................................... 25 Scelta di Openpicus ........................................................................................................................ 25 Collegamento database – programma diretto senza l’ utilizzo di un framework ........................... 25 Notebook piuttosto che Raspbarry Pi............................................................................................. 25 Gate ad aggancio sulla presa a 220 V invece di una struttura a torretta ....................................... 25 Caratteristiche e requisiti della soluzione ottenuta ............................................................................ 26 People Meter .................................................................................................................................. 26 Analisi delle potenzialità, e delle migliorie del progetto ............................................................... 26 Analisi dei costi .................................................................................................................................. 27 Lista del materiale utilizzato per il progetto .................................................................................. 27 Riferimenti ......................................................................................................................................... 28 Codice Software ............................................................................................................................. 28 Codice OpenPicus .......................................................................................................................... 29 Codice Arduino .............................................................................................................................. 29 Glossario ............................................................................................................................................ 30
2
Classe Virtuale 2013
Foto
CognomeNome
Anniballi Gulio agiulio.7@hotmail.it
Anno Istituto ed di indirizzo nascita 1994
"Volterra-Elia" Elettrotecnica
RUOLO:
FRASE PERSONALE:
Team di gestione delle comunicazioni
“Chiedi sempre, critica solo quando ben conosci!”
Baldini Gulio
baldini.giulio@virgilio.it
RUOLO:
FRASE PERSONALE:
Guida tecnica
“There are many worlds, but they share the same sky one sky, one destiny!”
Bordi Michele
bordi.michele.mb@gmail.com
RUOLO:
FRASE PERSONALE:
Guida tecnica
“Abbiate cura dei mezzi e i fini si realizzeranno da soli!”
Busti Andrea
andrea95_18@hotmail.it
RUOLO:
FRASE PERSONALE:
Referente tecnico
“Yes we can!”
1995
1995
1995
"Volterra-Elia" Elettrotecnica
"Volterra-Elia" elettrotecnica
"Volterra-Elia" Meccanica
3
Foto
CognomeNome
Anno Istituto ed di indirizzo nascita
Calzaccia Fabio
fabio.calzaccia@gmail.com
1995
RUOLO:
FRASE PERSONALE:
Team Elettronico
“Il successo è cadere nove volte e rialzarsi dieci!”
Cardelli Daniele
danielecardelli358@gmail.com
RUOLO:
FRASE PERSONALE:
Interfaccia meccanica
“Non condivido le tue idee ma mi batterò fino alla morte affinché tu possa esprimerle.”
Ceka David
david_95thbest@hotmail.it
RUOLO:
FRASE PERSONALE:
Interfaccia software
“Embarance your dreams!”
Cimarelli Mattia
mattia.cimarelli@gmail.com
RUOLO:
FRASE PERSONALE:
Team Elettronico
“L’immaginazione è più importante della conoscenza”
1995
“Divini” Elettronica
“Marconi” Meccanica
1995
“MerloniMiliani” Informatica
1995
“Marconi” elettronica
Albert Einstain
4
Foto
CognomeNome
Anno Istituto ed di indirizzo nascita
Diambrini Leonardo
leo.diambrini@libero.it
1995
RUOLO:
FRASE PERSONALE:
Team Elettronico
“Una parola è troppa e due sono poche!”
D’ Imperio Luca
Dimperio95.LDi@gmail.com
RUOLO:
FRASE PERSONALE:
Guida tecnica
“Ci sono cento modi per riuscire; il bello è scegliere!”
Dong Yunkai
yunstaf@hotmail.it
RUOLO:
FRASE PERSONALE:
Team Elettronico
“Chi sa ascoltare con attenzione valorizza chi sa ben parlare!”
Ferrucci Alessandro
ferruccialessandro@live.com
1995
1994
1995
"Volterra-Elia" Elettronica
"Volterra-Elia" Elettronica
“Marconi” Elettronica
"Volterra-Elia" Meccanica
RUOLO:
FRASE PERSONALE:
Project manager
"Il rinunciatario non vince mai.. il vincitore non rinuncia mai.."
5
Foto
CognomeNome
Anno Istituto ed di indirizzo nascita
Gasparini Lorenzo
gasp.lorenzo@gmail.com
1995
RUOLO:
FRASE PERSONALE:
Interfaccia Software
“Impara a conoscere i tuoi limiti e superali!”
Giampieri Marco
giampierimarco1995@gmail.com
RUOLO:
FRASE PERSONALE:
Controllo di gestione
"Per quanto possa essere difficile provaci fino alla fine!"
Genovasi Francesco
francesco.garfield@hotmail.it
RUOLO:
FRASE PERSONALE:
Interfaccia meccanica
“Servi del pianeta, schiavi di nessuno.”
Inesi Giuliano
insesi.giuliano@gmail.com
RUOLO:
FRASE PERSONALE:
Interfaccia meccanica
“Per fare un passo avanti devi perdere l’equilibrio per un attimo.”
1995
1994
1995
“Marconi” Informatica
“Marconi” Elettronica
“Divini” Elettrotecnica
“Divini” Meccanica
6
Foto
Cognome-Nome
Anno Istituto ed di indirizzo nascita
Lacorte Marco Vincenzo
marco_lacorte@hotmail.it
1995
RUOLO:
FRASE PERSONALE:
Interfaccia meccanica
“Tanta grinta e voglia di fare sono la mia pillola quotidiana.”
Lanari Nicola
lanari.nicola@yahoo.it
RUOLO:
FRASE PERSONALE:
Project manager
“Nulla finisce, cambia solo il modo di vedere le cose… basta solo cambiare la posizione di dove si è!”
Lippolis Martina
marty9509@hotmail.it
RUOLO:
FRASE PERSONALE:
Team di gestione delle comunicazioni
“È divertente fare l’impossibile! “ W. Disney
Mantini Alex
alex110612hotmail.it
RUOLO:
FRASE PERSONALE:
Interfaccia meccanica
“Godiamoci la vita finché possiamo!”
1995
“Merloni – Miliani” Meccanica
“Merloni – Miliani” Meccanica
1995
“Merloni – Miliani” Chimica
1995
“Divini” Meccanica
7
Foto
CognomeNome
Anno Istituto ed di indirizzo nascita
Orazi Gabriele
gabriorazi07@gmail.com
1995
“Marconi” Informatica
RUOLO:
FRASE PERSONALE:
Interfaccia software
“Your time is limited, so don't waste it living someone else's life. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. Everything else is secondary. STAY HUNGRY.” STAY FOOLISH. “ Steve Jobs
Pellino Marco
marko_95pll@hotmail.it
1995
RUOLO:
FRASE PERSONALE:
Interfaccia software
“Siamo condannati a costeggiare eternamente il confine dell’eternità, senza far mai il tuffo definitivo.” E.A. Poe
Santamarianova rodolfo.santamarianova@divini.org 1995 Rodolfo
“Marconi” Informatica
“Divini” Informatica
RUOLO:
FRASE PERSONALE:
Interfaccia software
“Due cose sono infinite : l’universo e la stupidità umana, ma riguardo l’universo ho ancora dei dubbi.” A. Einstein
Thabet
zabadani@hotmail.it
Ibrahim RUOLO:
FRASE PERSONALE:
Team di gestione delle comunicazioni
“La cultura rende liberi.”
1995
“Divini” Chimica
8
CognomeNome
Anno Istituto ed di indirizzo nascita
Talevi Iacopo
iacopo.talevi@gmail.com
1995
Foto
RUOLO:
FRASE PERSONALE:
Team Elettronico
“Faccio un appello: Io presente!”
"Volterra-Elia" Informatica
9
Premessa Il progetto è volto a controllare un flusso di persone in un edificio. La logica con cui questo potrà avvenire, sarà basata sull’utilizzo in remoto di un server web notebook da parte delle diverse interfacce Pc, Smartphone, Tablet. Il server comunicherà con un dispositivo di controllo Arduino, che necessita di un’alimentazione e di un assemblaggio con le relative schede elettroniche dedicate alla lettura di dispositivi Rfid (radio frequency identification) e comunicazione di rete Wi-Fi : Lettore Rfid Openpicus FlyportWifi 802.11G Ogni badge dovrà passare in prossimità di un gate apposito per la rilevazione e l’identificazione dell’utente. L’apparato circuitale convertirà il movimento fisico in un pacchetto di informazioni quali: il codice rispettivo all’ Arduino da cui si è avvertito l’impulso, quello del dispositivo Rfid che è passato, l’ora e la data di invio dati che raggiungerà il Server Web e verrà memorizzato in un database. Il software su questa macchina utilizzerà i dati nel disco per l’elaborazione e la creazione di funzioni logiche volte a controllare il flusso nell’edificio.
10
Organizzazione del lavoro Per un’organizzazione ottimale, l’intero lavoro che il sistema di controllo di flusso ci richiede, lo abbiamo suddiviso in parti generali quali: guida tecnica, project manager, controllo di gestione, comunicazione, relatore tecnico, informatica per strutturare il database, informatica per la creazione di un’interfaccia software, elettronica e meccanica; questo ci consente di considerare immediatamente, durante la realizzazione del progetto, le problematiche di natura diversa nel modo più immediato ed efficace.
11
Guida Tecnica D’Imperio Luca, Bordi Michele, Baldini Giulio alla realizzazione di una documentazione dettagliata sull’esperienza progettuale, perché possano rendere disponibile il progetto a chiunque sia interessato e riproducibile in modo da poterlo studiare e migliorare.
Controllo di gestione Busti Andrea come referente tecnico, Genovasi Francesco ai controlli di gestione e Lanari Nicola e Ferrucci Alessandro nel ruolo di Project manager sono responsabili dell’andamento progettuale del gruppo. Serietà, impegno e collaborazione portano ovunque.
12
Team di gestione delle comunicazioni Anniballi Giulio, Lippolis Martina e Thabet Ibrahim devono avere chiari i loro obiettivi e diffondere le migliori qualità del progetto con piattaforme web e video multimediali.
Team Elettronico Dong Yunkay, Calzaccia Fabio, Giampieri Marco, Talevi Jacopo, Diambrini Leonardo e Cimarelli Mattia sono una squadra munita di voglia di fare e collaborazione volte a trovare le soluzioni alle problematiche inerenti all’hardware Arduino. Una delle colonne portanti del progetto in quanto gestisce la comunicazione della sensoristica Rfid.
13
Team Informatico Pellino Marco, Gabriele Orazi, Gasparini Lorenzo, Ceka David e Santamiarianova Rodolfo sono le menti attente ed ostinate che servono per mutare le nostre idee in dinamiche software, dare loro un aspetto che rispecchi l’intuitività e le comodità d’utilizzo pensate.
Team Meccanico Cardelli Daniele, Inesi Giuliano, Mantini Alex e Lacorte Marco si occupano del desing, del dimensionamento e dell’ingegneria di un case che ospiterà l’apparato circuitale periferico da istallare in ogni macro zona dell’ edificio in cui il flusso verrà misurato.
14
Programmazione di Arduino La Arduino UNO è una scheda basata sul microcontrollore ATmega328, ha 14 pin di input/output digitali (6 dei quali possono essere usati come segnali PWM),6 input analogici, un quarzo a 16MHz, un connettore USB, un jack per l'alimentazione, un connettore per la programmazione ICSP ed un pulsantino per il reset della scheda. La scheda inoltre fornisce tutto ciò che è necessario per supportare il funzionamento del microcontrollore.
Ricerca delle librerie Abbiamo consultato dei forum per capire quali librerie utilizzare.
Forum
Per un qualsiasi problema inerente ad Arduino, un sostegno da parte degli utenti registrati al forum dedicato può risultare di grande aiuto. 1° - LINK: http://forum.arduino.cc/index.php/board,51.0.html
Allo stesso modo per le curiosità su OpenPicus ecco il forum dedicato. 2° - LINK: http://community.openpicus.com/forum
Librerie RTC (Per la memorizzazione della data e dell’ora)
LINK: https://github.com/adafruit/RTClib
ADAFRUIT (Per il lettore rfid) LINK: https://github.com/adafruit/Adafruit_SSD1306
15
Come importare le librerie
(NOTA per Windows ) Per aggiungere le librerie scaricare i file “.zip” e copiare le cartelle contenute dentro “libraries”: che è la cartella interna a quella d’istallazione di arduino. E’ consigliabile rinominarle rimuovendo i caratteri speciali.
Ricerca di guide ed esempi per la programmazione
Per ogni libreria ci siamo riferiti a degli esempi che potessero fornirci dei suggerimenti sull’utilizzo delle funzioni richieste dai nostri componenti. Ad ogni passaggio di un tag davanti al lettore rfid occorre memorizzare data e ora. All’interno della libreria “RTClibmaster” abbiamo consultato l’esempio ds1307. Successivamente in “AdafruitSSD1306master” ci è stato di riferimento l’esempio “ssd1306_128x32i2c ” per lo sviluppo della lettura codici tag rfid.
16
Test del funzionamento del lettore Rfid
17
Test del funzionamento di Openpicus
18
Creazione dell’applicativo software
Stesura del database
La cartella “risorse” deve essere presente sul server perché l’applicazione web deve attingere da questa le informazioni necessarie quali: le immagini corrispondenti alle mappature dell’edificio, immagini dei profili, icone, loghi e immagini dei gate.
Scrittura delle logiche di ricerca L’applicazione di divide in due parti: Desktop e Web. La prima è stata realizzata pensando ad un utilizzatore che sia anche amministratore perché possa effettuare modifiche sul database come ad esempio l’inserimento di nuovi nominativi, la modifica degli esistenti, la gestione dei gate. E’ stato scelto di differenziare l’applicativo web da questa per una maggiore sicurezza; per gli accessi online, abbiamo preferito permettere univocamente di consultare l’andamento dei flussi e delle presenze.
NOTA: I permessi e le ricerche sono stati gestiti con codice “C#” e generalmente con l’uso delle relative funzioni: •Select •Insert •Delete •Update
19
Creazione dell’interfaccia grafica Abbiamo Strutturato 5 modelli diversi di grafiche per l’interfaccia del nostro programma “People Meter” e confrontandoli con una mappa di obiettivi logici minimi ovvero:
1. Collegarsi al database -> uso DNS e MySQL come classe Microsoft 2. Leggere dati con l’utilizzo del codice nativo
3. Elaborazione dati:
Libreria “PeopleMeterlib.dll”
Risorse assenze, presenze, visualizzazione gate e flussi
..e con i requisiti fondamentali per la nostra idea di progetto:
• Intuitività • Semplicità • Chiarezza
..siamo giunti alla scelta di questa veste.
20
Componenti HW e SW per la acquisizione dei pacchetti dati
Trasmissione dati
La trasmissione dati tra Open Picus e il server notebook è indispensabile per permettere al software di identificare il tag ed associarlo alla persona corrispondente registrata, individuare il piano in cui è passata e catalogare questo evento in una precisa fascia oraria.
Invio e ricezione pacchetti di informazioni
Dopo l’inizializzazione Arduino rimane in attesa ed ogni volta che un tag passa nelle vicinanze di un Gate crea un pacchetto dati unendo tre stringhe: l’ID tag nella prima, l’ID Arduino nella seconda, infine data e ora nella terza.
ID tag
ID Arduino
Data e Ora
Pacchetto Dati
OpenPicus
Server notebook
La comunicazione tra Openpicus e il server avviene tramite protocollo TCP/IP. 21
Costruzione Meccanica dei Gate – dal progetto al prodotto
Desing Abbiamo ideato un modello in stile squadrato a spigoli regolari e arrotondati con angoli di 90°. Una struttura sobria, semplice e compatta contenente Arduino uno, la shield Rfid, Openpicus e un trasformatore di tensione da “AC 220V 50Hz ” a “DC 12V 500 mA”. Premettendo che ci siamo dovuti adattare alle limitazioni imposte sulla produzione dei pezzi con stampanti 3D (che vincolano le dimensioni di ogni stampa ad un massimo di 20 cm x 20 cm), l’interno del nostro modello è composto da due parti. Una parte superiore in cui andrà posizionata la tecnologia per il controllo della sensoristica ed una inferiore ove sarà inserito il trasformatore per fornire l’alimentazione corretta ai circuiti. Questa seconda, nel primo prototipo, ha anche la funzione di controbilanciare la colonna che si forma una volta completato l'assemblaggio totale del Gate. Con la seconda versione, la parte inferiore presenta uno spazio centrale sottostante al circuito in modo da ridurre l’ingombro del trasformatore. La modalità decisa per il montaggio dei modelli è stata l'incastro che risulta intuitivo e veloce.
22
Dimensionamento In allegato il disegno del case esterno con le quote per il dimensionamento.
23
Ingegnerizzazione del prodotto
Parole Chiavi:
Versatilità Leggerezza Semplicità Efficienza
Materiali Scelti per la costruzione:
ABS (Acrilonitrile – Butadiene – Stirene) Lexan ( Poliuretano ST33)
ABS è il materiale adibito alla realizzazione della parte interna del nostro gate. La sua leggerezza, resistenza, resilienza e basso costo rendono il prodotto completo per un utilizzo pensato in un luogo chiuso. E' un polimero. Si tratta di un materiale termoplastico amorfo che presenta un basso assorbimento di umidità ed ha una densità che va da 1.03 a 1.07. Si stampa per iniezione, estrusione e termoformatura; si incolla, si salda bene e può essere avvitato con viti automaschianti. Presenta buona rigidezza e tenacità a basse temperature fino a -40 °C, elevata durezza, resistenza agli urti e alle scalfiture. Ha un ottima resistenza elettrica. E' utilizzabile termicamente da -45 a +85 °C, ci sono tipi speciali che possono operare anche a temperature più elevate, quando brucia la fiamma è fuliginosa e non si ha sgocciolamento, presenta caratteristiche autoestinguenti migliorabili con versioni resistenti alla fiamma. Per quanto riguarda l'ambiente resiste ad acqua, soluzioni saline acquose, acidi diluiti, soluzioni alcaline, idrocarburi saturi, benzina, oli minerali, grassi animali e vegetali, e presenta una sufficiente resistenza all'invecchiamento, mentre non resiste ad acidi minerali concentrati, idrocarburi aromatici e clorurati, eteri e chetoni. Una cover esterna in Lexan, a differenza del primo, può fornirci sufficiente trasparenza alle radiazioni led richieste per il controllo del funzionamento elettronico del nostro Gate. 1° versione
2° versione
3° versione
24
Statistiche sulla qualità delle nostre scelte
Scelta di Openpicus Questa scelta è stata fatta data la maggiore stabilità di connessione, il minor costo e perché siamo per l’open source. Più complesso l’utilizzo della Wi-fi Shield di Arduino che presenta una trasmissione dati meno affidabile e dei moduli Xbee che richiedono alcune tecniche obsolete di connessione non coerenti con le nostre esigenze.
Collegamento database – programma diretto senza l’ utilizzo di un framework
La scrittura di un codice diretto al database ci è risultato più immediato e semplice perché un framework è legato ad uno specifico ambiente di sviluppo e nonostante sia più pratico, ha una minore velocità di esecuzione.
Notebook piuttosto che Raspbarry Pi Abbiamo optato per l’utilizzo di un Notebook come server di riferimento perché l’acquisto e la programmazione di Raspbarry Pi ci sarebbero costati più tempo e denaro.
Gate ad aggancio sulla presa a 220 V invece di una struttura a torretta La scelta di un gate collegato alla “Scatola frutto” della rete elettrica è stata considerata migliore rispetto ad una torretta ad altezza uomo in prossimità della parete perché si applica con maggiore facilità al momento dell’istallazione all’interno di un qualsiasi edificio e perché mantiene la linearità di desing con l’arredo standard delle strutture di nostro interesse, ovvero gli istituti tecnici scolastici.
25
Caratteristiche e requisiti della soluzione ottenuta
People Meter
Il nostro progetto è People Meter! E’ OpenSource ed è un’idea nata per essere condivisa e migliorata!
Analisi delle potenzialità, e delle migliorie del progetto
Il sito è molto minimalista e semplice, il sistema elettronico utilizza connessioni a breve distanza e si riscalda molto facilmente. Le logiche presenti all’interno del software ci permettono effettuare delle statistiche di base e potrebbero essere incrementate per avere più versatilità nell’utilizzo.
26
Analisi dei costi Lista del materiale utilizzato per il progetto Prodotto Modulo WIFI per arduino uno Modulo RFID per arduino uno Tag RFID Modulo real time clock Alimentatore per arduino Lexan 4 mm Componenti
Sito
Prezzo(€)
Quantità
Openpicus RobotItaly RobotItaly RobotItaly RS
49,00 43,90 01,15 11,60 18,48
4 2 3 4 2
--------------
18€ al m^2
1
--------------
386,91
----------------
Ecco alcuni possibili indirizzi utili per l’acquisto dei componenti che abbiamo utilizzato con i corrispondenti prezzi e caratteristiche.
RFID: http://www.robot-italy.com/it/adafruit-pn532-nfc-rfid-controller-shield-for-arduinoextras.html • Progettato per l’utilizzo dei protocolli I2C o SPI. • Utilizza il PN532 chip-set • Può leggere e scrivere tag Rfid e comunicare facilmente con i cellulari • Conforme al RoHS
RTC: http://www.robot-italy.com/it/real-time-clock-module-ds1307.html • Modulo progettato per il Chip DS1307 un Clock in Real Time. Con cella al litio di backup.
TAG RFID: http://idtronic-smarttags.com/en/rfid-wristbands/wristband-silicone-tag/ • Un braccialetto semplice e originale per la distribuzione dei tag rfid senza ingombro.
Materiale
Dimensioni
• Silicone
• Ø 67 mm • Ø 62 mm • Ø 57 mm • Ø 48 mm
Colori • azzurro • rosa • verde • nero
27
Riferimenti
Codice Software
Gli ambienti di sviluppo di cui ci siamo avvalsi sono stati: “Visual Studio 2012” e “Exprection Web 5”. Il codice è stato strutturato in HTML 5, CSS, C#, JavaScript, Asp.net . Quest’ultimo ci consente di la gestione immediata degli eventi associati ai controlli e il CSS ci dà la possibilità di dare uno stile unico e versatile alla pagina. C# è il più comune. JavaScript è semplice e intuitivo.
Link per la lettura e il download di:
28
Codice OpenPicus
Link per la lettura e il download di:
Codice Arduino
Link per la lettura e il download di:
29
Glossario
Gate: apparecchiatura elettronica con la funzione di misurare il passaggio di un badge Badge, Tag : circuito che crea un impulso elettromagnetico, può essere attivo o passivo Shield : scheda elettronica aggiuntiva da integrare ad un’altra scheda di base.
30