Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen
Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL MED PROJEKTET...3 1.2. KONKLUSION...3 1.2.1. Thomas Bojer Nielsen...3 1.2.2. Kasper Kirkeby...4 1.2.3. Brian Andersen...4 1.2.4. Søren Vang Jørgensen...4 2. DOKUMENTATIONENS OPBYGNING...5 2.1. HARDWARE DOKUMENTATION. (11 SIDER)...5 2.2. PIC SOFTWARE DOKUMENTATION. (16 SIDER)...5 2.3. PC SOFTWARE DOKUMENTATION. (10 SIDER)...5 2.4. KRAVSPECIFIKATION. (11 SIDER)...5 3. BILAG MAPPE 1...5 3.1. BRUGER VEJLEDNING. (TYSK) (13 SIDER)...5 3.2. ACCEPTTEST SPECIFIKATION. (6 SIDER)...5 3.3. ACCEPTTEST RAPPORT. (4 SIDER)...5 3.4. PROTOKOL REKOMENTATION. (7 SIDER)...5 3.5. DAGBOG. (8 SIDER)...5 3.6. ÅR 2000 SIKRING. (5 SIDER)...5 4. BILAG MAPPE 2...5 4.1. HARDWARE DOKUMENTATION...5 4.2. ENHED SOFTWARE DOKUMENTATION...6 4.3. PC SOFTWARE DOKUMENTATION...6 GuardTech Projekt 2
1. Indledning 1.1. Formål med projektet Projekt oplægget var at lave et system der dels fungerede som adgangs kontrol til en bygning/lokale, men også fungerede som alarm for denne bygning/lokale. Vi løste opgaven, ved at lave et system baseret på en RS-485 seriel bus, med mulighed for fiber optisk kommunikation til f.eks. sirenen. Der er i systemet 6 er som tilsammen giver GuardTech systemet, Hvor Pc en er den centrale del af systemet, det er denne som styrer alt kommunikation til erne på bussen, det er også denne som valider alle brugere, som skal ind i bygningen. Denne kan ved en alarm sende en e-mail til en adresse på Internettet som alarm, dette kunne f.eks. være til en mobil telefon. En sådan alarm ville også blive sendt hvis der skulle opstå problemer med kommunikationen til erne på bussen, hvilet ville indikere at nogle prøvede at omgå systemet. Adgangs en giver brugeren mulighed for at betjene systemet ved en ydre placering f.eks. ved en dør ind i bygningen. Denne har en kortlæser til brugerens personlige ID kort, og et tastatur hvor brugeren kan indtaste sin PIN kode. Sensor en i systemet har til opgave at overvåge 4 sensor porte, som kan være tilsluttet til f.eks. rum følere el.lign. Sirene en har mulighed for tilslutning af en lydgiver el.lign. som alarmgiver hvis der bliver udløst en alarm. For at sikre mod at der pilles med kommunikationen mellem erne vil sirenen gå i gang hvis der ikke har været kommunikation på bussen i mere end 30 sekunder. Låse en, er den der tilsluttes en magnet lås ved en dør, så når brugeren er valideret, er det så denne der åbner døren. Denne har ingen kommunikation med adgangs en, dette er lavet for at forhindre at hvis dør en skulle brydes op, så er det stadig ikke muligt at påvirke magnet låsen. Konverter, denne konvertere RS-232 fra Pc en til RS-485 bussen, hvor erne er forbundet. Der er også en fiber optisk udgang på denne som kan benyttes som kommunikations vej til en i systemet. Database Keyboard Display Sensor Sensor Sensor Sensor Adgangs Sensor RS232 Konverter RS485 / Fiber optik Desktop System Sirene Låse Email Sirene Dørlås 1.2. Konklusion 1.2.1. Thomas Bojer Nielsen Dette projekt har været godt, vi har sådan set noget det vi gerne ville nå, og uden de store fejl, dog fik vi fejl vurderet hvor lang tid HW og PC SW tog at lave, så vi koblede Brian på PC SW næsten med det samme, så jeg har selv lavet HW og kodningen til PIC-processerne. Vi har dog haft et lille problem med at Søren ikke rigtig kunne programmere Visual C++, og da vi indså det var jeg faktisk færdig med min del af projektet. Jeg har dog en fejl i mit HW/SW idet ar prell på knapperne kan forekomme, men idet at jeg kun har plads til en opcode mere i processoren, så har jeg ikke kunne gøre noget ved det, men løsning vil nok enten ar sætte noget logik på til at styre prell, eller jeg kunne optimerer min kode GuardTech Projekt 3
lidt så jeg kunne få plads til at stoppe prell i SW. Samarbejdet har været fint i gruppen, selvom vi ikke alle har lavet lige meget, men det var en fin skille linje vi fik lavet med at det var en mand der stod for HW/ PIC SW, og 3 mand til PC SW, dog har Søren lavet brugervejledningen. 1.2.2. Kasper Kirkeby I starten af projektet besluttede vi at Søren og jeg skulle arbejde med PC softwaren, og at Brian og Thomas skulle arbejde med hardware. Men vi opdagede ret hurtigt at der ikke var nok arbejde i hardwaren til to personer fuldtids, og da Søren ikke havde nogen erfaring i Visual C++, og det ikke gik ret godt med at få ham startet op i Visual C. Skiftede vi Søren ud med Brian så han kunne hjælpe mig med PC softwaren. Brian startede primært med at tage sig af database delen af programmet, men har været involveret i store dele af softwaren. Projektet har kørt utroligt godt, mig selv og Brian havde et super samarbejde omkring softwaren, og integrationen mellem hardware og software kørte næsten med det samme, som jo indikere at vi havde fået diskuteret alt grundigt og haft et godt samarbejde. Det var bare beklageligt at Søren ikke kunne hjælpe med Visual C++ da dette jo var planen fra start af projektet, dette skulle han have gjort mere opmærksom på da vi diskuterede emnet. Omkring dokumentationen har det været et stort problem at holde den på 40 sider, da et Windows program hurtigt bliver meget stort. Konklusionen er at der har været meget arbejde, da det er et stort projekt vi valgte, men vi har nået alt vi skulle, og resultatet blev utroligt godt, og der har været et godt samarbejde i gruppen. 1.2.3. Brian Andersen Projektets forløb er gået fint, der har været meget at lave. Jeg skulle oprindeligt have lavet hardware sammen med Thomas, men vi blev hurtigt enig om at der var for lidt arbejde til to personer. Vi blev derfor enig om at jeg skulle hjælpe til på Pc softwaren siden. Samarbejdet i gruppen er gået godt, vi har internt i gruppen haft en hel del diskussioner om hvordan projektet skulle hænge sammen. Valget af Visual C++ som programmerings sprog mener jeg var det rigtige valg, projektets størrelse taget i betragtning. Jeg tror det havde været svært, at få et så stort program til at hænge sammen i ANSI C. Valget af bus type til at kommunikere over var jeg ikke helt enig i, jeg ville godt have haft det hele over at køre på fiber optik (Vi fik dog implementeret lidt fiber optik til sidst). Jeg blev overrasket over at vi næsten med det samme havde kommunikationen mellem Pc'en og de eksterne er oppe at køre. Jeg havde forventet en hel del bøvl på det område. Der har været svært at begrænse dokumentationen til de 30 sider det i starten måtte fylde, vi fik siden dette tal forhøjet til 50 sider. Jeg synes ikke det er rigtigt at man kan fastsætte antallet af sider der må laves som dokumentation uden at man rigtig kender projektets størrelse. Alt i alt har det været et godt projekt, det har været meget stort. Jeg er godt tilfreds med det resultat vi har opnået. 1.2.4. Søren Vang Jørgensen Projektet er løbet glidende, der hav ikke været nogle problemer som vi som gruppe ikke kunne overvinde. Arbejdet har været fornuftigt fordelt. Vi har selvfølgelig haft en del interne diskussioner om hvorledes projektet skulle udformes. F.eks. var der en del diskussion om hvorvidt vi ville benytte Fiber optik eller RS485. I dette tilfælde fandt vi frem til at vi ville udvikle systemet med RS485 og have fiber optik med som en udvidelse af systemet. Jeg synes at alle i gruppen har leveret et stykke arbejde der var til gavn for gruppen og projektet. Desuden var vi også alle lige dybt involveret i udformningen af systemet. Det eneste jeg fortryder ved projektet er at jeg ikke protesterede lidt mere da Visual C++ 5.0 blev valgt. Dette skyldes at min styrke ikke ligger i C++, min styrke ligger mere i almindelig C. Men det positive at dette valg er at jeg nu har lært en del om C++ og programmering af objekter. GuardTech Projekt 4
2. Dokumentationens Opbygning Dokumenter inkluderet i dette projekt, er vedlagt i samme rækkefølge som de er listet herunder. 2.1. Hardware dokumentation. (11 sider) Dette dokument beskriver hardwaren i systemet, det vil sige alle de systemer som vi selv har konstrueret, Pc en er ikke beskrevet i dette dokument. 2.2. PIC software dokumentation. (16 sider) Dette dokument indeholder dokumentationen for alt softwaren til PIC processorerne. 2.3. PC software dokumentation. (10 sider) Dette dokument indeholder dokumentationen for PC softwaren. 2.4. Kravspecifikation. (11 sider) Dette er kravspecifikationen for projektet. 3. Bilag mappe 1 3.1. Bruger vejledning. (TYSK) (13 sider) 3.2. Accepttest specifikation. (6 sider) 3.3. Accepttest rapport. (4 sider) 3.4. Protokol rekomentation. (7 sider) 3.5. Dagbog. (8 sider) 3.6. År 2000 sikring. (5 sider) 4.1. Hardware dokumentation. Diagram til adgangs (1 side) Diagram til sirenes (1 side) Diagram til føler (1 side) Diagram til låse (1 side) Diagram til konverter (1 side) Komponent placering til adgangs (1 side) Komponent placering til sirenes (1 side) Komponent placering til føler (1 side) Komponent placering til låse (1 side) Komponent placering til konverter (1 side) 4. Bilag mappe 2 GuardTech Projekt 5
4.2. Enhed software dokumentation. Ns diagram til adgangs software (11 sider) Ns diagram til sirene software (5 sider) Ns diagram til føler software (4 sider) Ns diagram til låse software (4 sider) Ns diagram til ID-card software (1 side) Source koder af adgangs software (19 sider) Source koder af sirene software (6 sider) Source koder af føler software (6 sider) Source koder af låse software (6 sider) Source koder af ID-card software (2 sider) 4.3. PC software dokumentation. Modul specifikation (32 sider) NS diagrammer over GuardLogRecordSet.cpp (1 side) NS diagrammer over GuardLogViewDlg.cpp (1 side) NS diagrammer over GuardTech.cpp (1 side) NS diagrammer over GuardTechDlg.cpp (8 sider) NS diagrammer over GuardTechEmail.cpp (2 sider) NS diagrammer over GuardTechRegDb.cpp (6 sider) NS diagrammer over GuardTechSerial.cpp (2 sider) NS diagrammer over GuardUnitsRecordSet.cpp (3 sider) NS diagrammer over GuardUsersRecordSet.cpp (5 sider) NS diagrammer over Logasc.cpp (1 side) NS diagrammer over LogCountTotal.cpp (1 side) NS diagrammer over UnitConfigDlg.cpp (3 sider) NS diagrammer over UnitEditLockDlg.cpp (1 side) NS diagrammer over UnitEditSirenDlg.cpp (1 side) NS diagrammer over UserAdminDlg.cpp (3 sider) GuardTech Projekt 6