Home
Inventarisierung mit RFID - RFID Projekthomepage
Contents
1. Stunden 26 27 28 29 30 31 32 33 34 35 36 37 38 3940 41 42 43 44 45 46 47 4849505152 1 2 3 4 5 6 7 8 91011121314151617 18 Woche Gesamt 457 Stunden SH UTL Sebastian GlaBner HTBL Hollabrunn Mathias Wallner Haas Seite E 1 AAA Inventarisierung mit RFID F Allgemeines E reisangebote RFID Infos L__praesentationen Dokumentation Be TA Besprechungen Hilfssoftware Homepage downloads pics style Praesentation L Kick off Praesentation TI CD A ation Software SE Firmware Tr nsportschicht Entwicklung L source L Style Installer L Release m files bungen C CVI RS232 SOAP Webanwendung htdocs backup content log soap template thumbs Manuals PHPundMySQL_ Manual DSP fhtm1811 selfphpl_2 Software_Entwicklungsumgebung el Wil neues HTBL Hollabrunn ProjektCD 04 05 2006 Inhalt der ProjektCD Allgemeines zum Projektverlauf Preisangebote f r RFID Ger te N tzliche Datenbl tter zu RFID N tzliche Pr sentationen zu RFID Anwendungsgebieten Dokumetation der Diplomarbeit Bilder die in der Dokumentation verwendet wurden Dokumentation der Besprechungen mit Telekom Austria Software die f r das Projekt hilfreich war Statische Projekthomepage Dateien die man von der Homepage herunterladen kann Bilder die auf der Homepage angezeigt werden Styleelemte der Homepage Banner Stylesheets Projektpr sentation
2. pc int 11 NOT NULL default 0 datum timestamp NOT NULL default CURRENT_TIMESTAMP adapter int 11 NOT NULL default 0 description text PRIMARY KEY servicenr ENGINE MyISAM DEFAULT CHARSET latinl COLLATE latinl_general_c1 SR Wil ne Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 9 Inventarisierung mit RFID Webanwendung 04 05 2006 8 3 Oberfl che 8 3 1 Allgemeines Das aussehen der Oberfl che wird grundlegend durch HTML bzw CSS Komponenten bestimmt Sie ist ber das ganze System konsistent und einheitlich Zus tzlich wird die Oberfl che der Rechtekategorie eines Benutzers angepasst Die Realisierung der dynamischen Oberfl che bzw des dynamischen Men s ist in Kapitel 8 5 ersichtlich 8 3 2 Screenshot der Oberfl che Abbildung 8 10 zeigt einen Screenshot der realisierten Oberfl che mit Administrator Rechten Markierung 1 kennzeichnet das dynamische Men das sich der Rechtekategorie des Benutzers anpasst Das Men dient der Navigation und ist immer d h auf allen Unterseiten des Projektes vorhanden Markierung 2 hebt den Aktionsbereich hervor ES Sta rtseite Sie sind eingelogat als admin Sie befinden sich auf der Startseite des Inventarisierung mit RFID VWebinterfaces Zuletzt hinzugef gtes Service Datum PC Name Service Bearbeiter Beschreibung Aktion 09 03 2006 13 21 24 FTKL 01 40 admin Neue Festplatte eingebaut gt 09 03 2006 13 20 09 Net2 3 39
3. Einstellen der richtigen Ansicht fillincontent Inhalt der Felder f llen soaprequest r ber SOAP senden noerror 1 Fehlerfret return noerror Eine Skriptzeile wird also in Befehl und Attribut aufgeteilt und anschlie end weiterverarbeitet Es muss bei der Erstellung der Skriptdatei auf die Leerzeichen geachtet werden Eine Skriptzeile ist also folgenderma en aufgebaut 1 ein oder mehrere 2 Leerzeichen 3 Befehl 4 Leerzeichen 5 Attribut 6 optional Leerzeichen Zusatzattribut Einfaches Beispiel f r eine Skriptdatei Lesen von Transponderdaten und Ausgabe ber SOAP layer 4 15015693CMD 65 SEND UID LIST TS015693cmd 112 Hier ist jeder Befehl von seinem vorhergehenden abhangig D h wenn ein Befehl einen Fehler zur ckliefert startet das Skript wieder von vorne Um das Skript zu starten muss in der Men leiste gt Datei gt Script gt starten gew hlt werden Um das Skript zu stoppen Datei gt Script gt beenden 7 5 1 Startskript Beim Start des Programms wird ebenfalls eine Skriptdatei ausgef hrt Dieses Skript wird nur einmal durchlaufen und dient zur Konfiguration des Programms Die Skriptdatei wird ebenfalls von runcmd verarbeitet Es k nnen also alle Skriptbefehle im Startskript aufgerufen werden Die Startskriptdatei hat den Dateinamen start rte und befindet sich im Programmverzeichnis TK HTBL Hollabrunn Mathias Wallner Haas Seite 7 24 I
4. dir string directory Syntax directory gt dir PFad EL WTL ac pe HTBL Hollabrunn Sebastian GlaBner Seite 6 19 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 eregi Mit eregi kann man in einer Zeichenkette Zeichenkette nach bereinstimmungen suchen die durch den regularen Ausdruck in Suchmuster angegeben wurden Syntax int eregi string Suchmuster string Zeichenkette array regs exit Mit exit kann man die Ausf hrung eines Skripts beenden Dabei ist darauf zu achten dass das Skript nicht mehr fortgesetzt werden kann Syntax void exit void explode Zerteilt einen String anhand eines definierten Trennzeichens Separator ist dabei das Trennzeichen Syntax array explode string separator string string int limit fclose Mit fclose kann man eine offene Datei fp schlieBen Bei erfolgreichem SchlieBen der Datei wird true sonst false zur ckgeliefert Syntax int fcloseCint fp file_exists Mit file_exists kann man berpr fen ob eine Datei filename auf dem Server existiert Im Erfolgsfall gibt diese Funktion true sonst false zur ck Syntax int file_exists string filename fopen ffnet eine Datei vom lokalen Dateisystem Der Parameter mode legt fest auf welche Weise und f r welche Zugriffsarten die Datei ge ffnet wird Folgende Werte gibt es a ffnet die angegebene Datei nur zum Schreiben und positioniert den Dateizeiger auf das Ende der Dat
5. Die 3 Folien der Kick off Pr sentation Texas Instruments MER CD Datenbl tter und Beschreibungen der API Funktionen Software f r den Reader Demoprogramm f r die Readeransteuerung Firmware die auf den Reader geladen werden kann Material zum Client Programm Transportschicht f r die Weiterentwicklung notwendige Dateien Source Projekt UserInterfaces C Codes Icons und andere Grafiken Installationsdateien f r die Transportschicht Dateien die vom Installationsgenerator verwendet werden Ergebnis der generierten Installation Dateien die in den Installer inkludiert werden bungen haben zur Entwicklung des Projekts beigetragen C Tutorial CVI Beispielprogramm zur Webservice Ansteuerung RS232 Programme Mittschnitt Virtuelle COM Ports SOAP Beispielprogramme Material zum Datenbankserver SOAP Server Root Verzeichnis der Webanwendung Verzeichnis f r Backups Seiteninhalte Verzeichnis f r Log Dateien Verzeichnis des SoapServer Skripts und der WSDL Datei Seitenstrukturen Bilder Manuals zu HTML PHP und MySQL PHP amp MySQL HTML PHP Funktions Referenz Installations File des Webservers usw XAMPP Sebastian Gla ner Mathias Wallner Haas Seite F 1 Inventarisierung mit RFID GNU 04 05 2006 G GNU Free Documentation License Version 1 2 November 2002 Copyright 2000 2001 2002 Free Software Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110 1301 USA Everyone is permit
6. install Duninstall exe gt FilezillaFTP licenses Ld xampp_restart exe e htltinfpro16 12 0 i MercuryMail xampp_start exe E E htdocs mysql DR xampp_stop exe D Ej htdocs da alt perl H xampp changes txt htdocs tinf alt PhP Bag control ete CH htdocs tinf buech phpMyAdmin LD install security H ID licenses sendmail MercuryMail tmp O mysql webalizer perl webdav BD SJapache_start bat E phpMyAdmin E Japache_stop bat security filezilla zetup bat gt sendmail Fe Tfilezilla_start bat D tmp F filezilla stop bat EN webalizer Fe mercury_start bat 8 D webdav gt Flmysql_start bat e Abbildung 8 2 XAMPP Verzeichnisstruktur Standardm ig wird XAMPP in das Verzeichnis C apachefriends xampp installiert Dieser Pfad kann nat rlich ge ndert werden el oft Grp Seite 8 1 HTBL Hollabrunn Sebastian GlaBner Inventarisierung mit RFID Webanwendung 04 05 2006 Wichtige Verzeichnisse htdocs Dieser Ordner ist das Root Verzeichnis des Webservers In ihm befindet sich das entwickelte HTML bzw PHP Projekt apache bin Hier befindet sich die Datei php ini die zum Konfigurieren des PHP API dient Deinstallation Ebenso einfach wie die Installation erfolgt auch die Deinstallation von XAMPP Ausf hren von uninstall exe im Installationsverzeichnis Bei der Deinstallation sollte jedoch darauf geachtet werden bereits erstellte Webanwendungen bzw das htdocs Verzeichnis vorher zu sic
7. 8 8 4 SEET EE EEN 8 28 8 8 5 Meit Account AGCOUNL DIND RE 8 29 8 8 6 PIE De SG MG Wildl OD EEN 8 29 8 9 Administtatlor wire deed EE EE 8 30 8 9 1 AlIGSIMEIN EE ead es 8 30 8 9 27 SlariSeite IMAI DINO WEE 8 30 8 9 3 PC Verwaltung M_verwaltUng pp 8 30 8 94 OCRVICES dE EE 8 30 8 9 5 Mein ACCOUNT ACCOM BIND EE 8 30 8 9 6 REID SUCMe e e Ben e EE 8 30 8 9 7 Benutzerverwaltung admm benutzer pp 8 31 8 9 8 Back p admin DACKUB PHR EE 8 32 al AU HTBL Hollabrunn II von IV GEET H Inventarisierung mit RFID Inhaltsverzeichnis 04 05 2006 8 10 ee EE 8 33 SAGA Allgemeines ee lee 8 33 Got EE 8 33 BAGS SOAP SEINE nn Eiserne 8 35 8 10 4 Verwendete WSDL Date 8 35 Zusammenfassung und Ausblick uuusssssssnnnnnenennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennn nennen 9 1 9 1 Zusammenfassung EE 9 1 92 e e 9 1 ANHANG A Abbildungsverzeichnis u uue ae A 1 B LiteraturverzeichniS dee B 1 B 1 B cher Zeitschtriften Diplomarbeiten ee nenne B 1 B 2 URS da EEN B 1 B 3 aps masa ete See IRRE RER ea aon 2a se Ee terse EEN B 1 GC E EE C 1 D Installat onsanleitung WEE D 1 D 1 VVEDAHWENGUNG EE D 1 D 2 de ei Uli EE D 7 E Zeitaulstellung soen a ee ee E 1 E 1 Sebastian EU E EE E 1 E 2 Mathias Wallner Haas EE E 1 FP Inhalt der ProjektCD u un en soa F 1 G GNU Free Documentation License u 2u0 000n00nnn0nnnnn nun nnnnn nun nn nun nun nnun nun nun nnmnnn G 1 pii ATL HTBL Hollabrunn IV von
8. 8 8 Master User 8 8 1 Allgemein Um sich als Master User auf der Oberflache zu bewegen ist ein Login notwendig Dieser Benutzer besitzt alle Rechte eines aktivierten registrierten Users Zus tzlich stehen ihm folgende Funktionen zur Verf gung e Es k nnen neue Rechner in die Datenbank aufgenommen werden e Es k nnen alle Eintr ge einzeln gel scht werden Wird ein PC Eintrag gel scht werden alle dazugeh rigen Serviceeintr ge gel scht e Es k nnen alle Eintr ge bearbeitet werden 8 8 2 Startseite main php Siehe Kapitel 8 7 2 Startseite des registrierten Users 8 8 3 PC Verwaltung m_verwaltung php Das Skript m_verwaltung php dient der Administration der Schulrechner Der Aufbau entspricht im Wesentlichen dem Skript r_inventar php Jedoch stehen dem Master User einige zus tzliche Funktionen zur Verf gung PC Verwa itu n S Sie sind eingeloggt als master anzeigen hinzuf gen suchen Es wurden 3 Eintr ge gefunden PC PC S RFID CPU RAM NIC Grafik MAC Erstellt am e Name Raum Services Aktion e0 OF 00 00 FTKL P4 Linksys Bananen 25 11 2005 95 01 77 01 FTKL 2 06GHZz 512MB 7340 Radeon 3600 13 13 13 13 13 13 11 55 18 2 3 ERC e0 07 DO 00 NET2 ba arco 16 12 2005 esi 99 01 66 38 NET2 PI 866MHz 256MB no name on board 19 19 19 19 19 19 08 09 30 1 JA 2211 e0 07 QuadStLl 5GHEz Intel Broadcom Se 00 00 i 5GB Nyidia See 03 03 2006 eat Idee Net2 3 NEI SE DDR3 SE GE 12 12 12 12 12 12 75 04 20 Ay
9. L stenhelt nsse ER ee a aalan 2 1 BS Clg 11 141 17 1 1 SERRABRERN EN AAREL AD a aa e E SE LES REINE EEREEIE HR NE AOBE E EEE UIRER ARENA SE ELESEOERER 3 1 Sells Zielbesimmung EE 3 1 3 1 1 MUSS KNEG a een 3 1 312 SOFREN cinco e a E eege 3 1 Galea EE EE 3 1 32 le 3 1 3 2 1 Anwendungsbereiche AANEREN REENEN 3 1 J2 e IR lte EE 3 1 3 2 3 DEIEDSHECINQUNQEN EE 3 2 3 32 Produk UMGEBUNG ee le 3 2 3 3 1 Ee EE 3 2 3 3 2 ie lge HE 3 2 SS ege 3 2 gde Ee elt elen RE 3 3 3 4 1 ING ANOS Un EE 3 3 822 E Ce el CIC IN EE 3 3 SE 3 EIU TIN he EE 3 3 3 44 VVCDANWENGUNG EE 3 4 3 4 5 PFOduKtdaleh euere nee S EE Mata ese heuer vant 3 5 Ske MIMALOWATOTUNKTIONGN EE 3 5 3 5 ENIWICKIUNGSUMOGCDUNG an a 3 6 3 5 1 PRA CW ANC EEN 3 6 e 3 6 4 Oe EN Te E Il Tue EE 4 1 5 Realisierung a ne 5 1 5T Systemau Dai an a ee 5 1 5 2 Beallsietter AUlDaU nisse ke ea atau 5 1 5 9 TARO WAC EE 5 2 5 3 1 Texas Instruments S4100 Development kt 5 2 5 3 2 IR Re E leie 5 3 5 4 TRANSDOMS CMIC ET 5 4 5 5 Webanwendung Datenbank ccccccccsessseceeeceeeeeseeeeeeeceeseaaseeeeeeeeeseasaaseeeeeeseasaaeeeeeeeeseaaaes 5 4 5 5 1 EE 5 4 5 9 2 Datenbank E 5 4 55 3 VVVEDAMIWSIMCUING WEE 5 5 5 5 4 BGG OS EE 5 5 555 XAMPP TUG VV ING OW EE 5 5 6 The retische Grundlagen anna ae Eee ea 6 1 6 1 RFID Radio Frequency Identification EEN REEENN 6 1 6 1 1 GHENGS ystee Niese e E E ade 6 1 6 1 2 BEOEINSDESCHTEIBUNG EE 6 1 6 1 3 Typischer ADIFaAG e
10. Noad was lt SOAP ENV Header gt lt SOAP ENV Body gt lt m getRFID xmlns m rfid uri gt lt room gt net2 lt room gt lt m getRFID gt SOAP Body lt SOAP ENV Body gt RS lt SOAP ENV Envelope gt Im beim HTTP Protokoll blichen HTTP Header w rde bei HTML Dateien als Content Type text html definiert F r SOAP muss text xml definiert sein da XML Dateien bertragen werden Der HTTP Header endet mit einer leeren Zeile CRLF Anschlie end folgt der XML Teil beginnend mit lt xml Der XML Teil besteht haupts chlich aus dem so genannten Envelope XML Element Dieses wiederum enth lt die beiden XML Elemente Header und Body wobei das Header Element auch entfallen kann Das Body Element muss enthalten sein Hierin wird der eigentliche Inhalt plaziert also die Daten eine Meldung eventuell eine Fehlermeldung oder ein RPC Funktionsaufruf An diesem einfachen Beispiel wird bereits deutlich dass SOAP die Menge der zu bertragenden Daten erheblich aufbl ht Dies ist nicht nur ein Problem der beanspruchten Netzwerkbandbreite auch das Generieren und Auswerten Parsen der Nachrichten erfordert sehr viel Rechenzeit verglichen mit anderen einfacheren RPC Protokollen Die Vorteile der Strukturierung und einfacheren Lesbarkeit erleichtern die saubere Implementierung in den Anwendungen Ein w
11. e MySQL 4 1 12 nt Datenbank e Apache Web Server mit PHP 5 0 4 e Webanwendung 3 3 2 Hardware Client e Rechner mit Anbindung an das Netzwerk der HTBL Hollabrunn e Rechner der die Anforderungen der og Software unterst tzt Server e Rechner mit Anbindung an das Netzwerk der HTBL Hollabrunn e Rechner der die Anforderungen der og Software unterst tzt e Ausreichend Rechen und Festplattenkapazit t 3 3 3 Orgware Gew hrleistung der permanenten Netzwerkanbindung durch den Administrator Iiii SE Mathias Wallner Haas Seite 3 2 Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 4 Produktfunktionen Blockschaltbild des Systems Transport Web schicht anwendung RFID Reader Daten Die Eingangsschicht besteht aus den RFID Leseger ten Die gelesenen Daten werden durch die Transportschicht ber das XML Interface an das Webinterface geleitet Die Webanwendung verwaltet das System mit Hilfe einer Datenbank 3 4 1 Eingangsschicht Die Eingangschicht ist die Verbindung des RFID Leseger ts mit dem Client Durch sie erfolgt die Kommunikation der Hardware mit der Transportschicht 3 4 2 Transportschicht Das prim re Ziel der Transportschicht ist es die Daten der Eingangsschicht weiterzuverarbeiten Die Verarbeitung der Daten und das Ansteuern des Leseger tes kann dabei mit Hilfe einer Benutzeroberfl che gesteuert werden Die Transportschicht kann die Daten der Transponder aufbereiten und an den Datenbankserver weit
12. r Windows NT Plattformen verf gbar 5 5 2 Datenbank Die Wahl des Datenbank Management Systems fiel auf MySQL MySQL ist eine in der verwendeten Version unter der GPL stehende Datenbank Sie war von Anfang an f r gro e Datenmengen hohe Verf gbarkeit extreme Stabilit t und sehr gute Performance ausgelegt MySQL ist ein vielseitigen DBMS das sich hervorragend an das jeweilige Anforderungsprofil anpassen kann MySQL wird sehr h ufig zusammen mit dem Webserver Apache und PHP eingesetzt TITIO REES Mathias Wallner Haas Seite 5 4 Inventarisierung mit RFID Realisierung 04 05 2006 5 5 3 Webanwendung Um die Web Oberfl che Benutzerfreundlich zu gestalten setzt sich diese aus einer Kombination von verschiedenen Programmen zusammen Das Grundger st ist mit HTML programmiert Um dynamische Abfragen und Anzeigen zu gestalten wurde PHP verwendet Durch den Einsatz der serverseitigen Skriptsprache PHP wird die Webanwendung zur eigentlichen Schnittstelle zwischen der Datenbank und dem restlichen System In der Version 5 bringt PHP die sogenannte SOAP Extension mit sich mit der Webservices realisiert werden k nnen 5 5 4 Betriebssystem Das verwendete Betriebssystem zur Entwicklung und zum Betrieb des Webservers ist Microsoft Windows XP Ein Grund f r die Auswahl von Windows XP war das Vorhandensein des Softwarepaketes XAMPP f r Windows siehe folgendes Kapitel sowie die Erfahrung im Umgang mit dem weitverbreiteten Betriebssystem
13. tigten wir eine M glichkeit einen SOAP Server zu erstellen PHP enthalt ab der Version 5 0 die sogenannte SOAP Extension Allerdings ist diese Extension standardmaBig deaktiviert Um sie zu aktivieren muss das Semikolon vor dem folgenden Eintrag in der php ini Datei entfernt werden Achtung Bei der Installation von XAMPP werden mindestens drei Konfigurationsdateien mit dem Namen php ini erzeugt Die nderung muss in der php ini Datei in dem Verzeichnis lt Installationspfad gt xampp apache bin vorgenommen werden 397 exrtension prkhr radius dll 598 extension php rar dll 599 extension pkhp shmop dll 600 sextension php samp dll 601 extension php soap dl1l b02 extension php sockets dll 603 extension php stats dil 604 extension php sybase ct dli 505 extension php threads dll Abbildung 8 5 SOAP Extension aktivieren Um die nderung zu bernehmen muss der Server neu gestartet werden am besten mit restart exe 8 1 6 phpMyAdmin phpMyAdmin ist ein in der XAMPP Distribution enthaltenes Tool das es erm glicht mit wenigen Mausklicks Datenbanken zu administrieren Im Prinzip macht PHPMyAdmin nichts anderes als Eingaben in MySQL Befehle umzuwandeln Durch das Tool kann viel Zeit und M he eingespart werden da die Datenbankadministration mit den selben M glichkeiten ohne Kommandozeile m glich ist Das Programm selbst ist eine Zusammensetzung von PHP Skripten bzw Dateien und ist unter http localhost phpmyadmin
14. 2 Einsatzgebiete AM HTBL Hollabrunn Mathias Wallner Haas Seite 6 3 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 6 Transponderbauformen Entsprechend der Einsatzgebiete gibt es verschiedene Transponderbauformen Im Texas Instruments Evaluation Kit sind einige Bauformen enthalten Abbildung 6 3 Transponderbauformen J TI RFid A TEXAS INSTRUMENTS TECHNOLOGY oF Tabelle 6 2 Transponderbauformen 3 5 Ea 4 Transponder im Kunststoffgeh use Warenidentifikation Kleidung HF Identifikationslabels HF L 7 LF Glastransponder Tieridentifikation Transponder unter die Haut F 3 5 selbstklebendes HF Label HF LF_ Warenidentifikation PCs Medikamente F e 7 WM HTBL Hollabrunn Mathias Wallner Haas Seite 6 4 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 7 Energieversorgung Ein deutliches Unterscheidungs Merkmal stellt die Art der Energieversorgung der RFID Transponder dar Man unterscheidet zwischen aktiven und passiven Transpondern Passive Versorgung Kleine batterielose RFID Transponder besitzen keine eigene Energieversorgung und m ssen ihre Versorgungsspannung durch Induktion aus den Funksignalen der Basisstationen gewinnen Dies reduziert zwar die Kosten und das Gewicht der Chips gleichzeitig verringert es aber auch die Reichweite Diese Art von RFID Transpondern ist im St ckpreis sehr g nstig was in folgenden Sektoren aus
15. 2 Transportschicht Das Transportschicht Programm wurde RFID invent getauft Es dient zu folgenden Zwecken e Senden und Empfangen von RFID Reader Daten e Senden und Empfangen von SOAP Daten e User Interface fur Interaktion mit Personen e Ausf hren eines Skripts zur Automatisierung der Transportschicht In den folgenden Kapiteln wird erl uert wie das Programm installiert und deinstalliert werden kann und welche Schritte notwendig sind um das Programm weiterentwickeln zu k nnen D 2 1 Installation von RFID invent 1 Installer ausf hren ProjektCD Transportschicht lnstaller RFID invent 1_0 Installer msi 2 RFID invent Setup Auf den Button lt Weiter gt klicken 3 RFID invent Setup Das Verzeichnis in das das Programm installiert werden soll w hlen 4 RFID invent Setup Auf den Button lt Weiter gt klicken 5 RFID invent Setup Auf den Button lt Installieren gt klicken 6 Nach kurzer Zeit sollte ein Fenster mit der Frage ob das MS Soap Toolkit installiert werden soll erscheinen Hier auf lt Ja gt klicken SOAP Toolkit Setup Auf den Button lt Next gt klicken SOAP Toolkit Setup Den Lizenzvereinbarungen zustimmen und auf lt Next gt klicken SOAP Toolkit Setup Name und Firma angeben und wider auf lt Next gt klicken 0 SOAP Toolkit Setup Die zu installierenden Teile w hlen Es werden nur die C Support Files und der XML Parser ben tigt Es schadet aber nicht die anderen Teile auch zu ins
16. 4 IIITIT ollabru Mathias Wallner Haas Seite Inventarisierung mit RFID Installationsanleitung 04 05 2006 VI Standardm ig ist f r den MySQL Administrator root kein Passwort zugewiesen Um diese Sicherheitsl cke zu schlie en muss zun chst dem User root ein Passwort zugewiesen werden Dazu erneut den phpMyAdmin Startbildschirm und anschlie end den Men punkt Rechte aufrufen siehe I In der erscheinenden Benutzer bersicht beim root User auf Rechte ndern Button rechts klicken Benutzer Host Kennwort Globale Rechte Grant F Jeder w Hein USAGE Nein Ba O Sebastian localhost Ja USAGE Mein 37 I asdf w Ja USAGE Hein SG O asfd D Ja USAGE Mein Gi pma localhost Mein ALL FRIVILEGES Ja oe m root D Hein USAGE Hein oe Hf root localhost Mein ALL PRIVILEGES Ja Q user D Ja USAGE Mein er Benzutzer bersicht VII Im folgenden Bildschirm den Radiobutton vor Kennwort aktivieren und ein beliebiges Kennwort z B root eintragen Mit OK best tigen Der Browser kann nun geschlossen werden e Kennwort ndern O Kein Kennwort Gei Kennwort eeeeee _ Wiederholen oeeeeee OR Vill Nach dem einsetzen eines neuen Passwortes f r root muss auch phpMyAdmin informiert werden Das geschieht ber die Datei config inc php zu finden als lt Inst Vz gt phpmyadmin config inc php Dort also folgende Zeile editieren Zeile 83 ctg Servers Si auth_type config
17. 5 5 5 XAMPP f r Windows Ein gro er Vorteil der in den Kapiteln 5 5 1 5 5 3 aufgef hrten Softwareprodukte liegt in dem Softwarepaket XAMPP XAMPP setzt sich haupts chlich aus folgenden Teilen zusammen e X Windows oder Linux e A Apache HTTP Server e M MySQL e P PHP e P Perl Folglich bildet das Paket die ideale Entwicklungsumgebung f r das zu entwickelnde System XAMPP erm glicht eine einfache und rasche Installation Die Philosophie hinter XAMPP ist Anf ngern und Profis einen einfachen Einstieg in die Welt des Apache zu erm glichen XAMPP ist so vorkonfiguriert dass m glichst alle Features von Apache und Co aktiviert sind So wie es z B f r einen Entwickler am angenehmsten ist XAMPP ist ebenso wie seine Komponenten kostenlos und kann unter http www apachefriends org de xampp html heruntergeladen werden TATT REL POLA OUNN Mathias Wallner Haas Seite 5 5 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 Theoretische Grundlagen In diesem Kapitel soll grundlegendes Wissen fur die Technologien die in diesem Projekt angewanat werden bermittelt werden 6 1 RFID Radio Frequency Identification RFID ist die Abk rzung f r Radio Frequency Identification was so viel hei t wie die Identifikation ber Funk Man kann somit Daten auf einem Transponder ber hrungslos und ohne Sichtkontakt lesen und speichern Dieser Transponder kann an Objekten angebracht werden welche dann anhand der darauf gespei
18. Abfrage Sprache Die SQL ist die eigentliche Schnittstelle zur Datenbank Ein DBS kann auf drei Arten gesteuert werden Entweder dialogorientiert im Batch Betrieb oder durch andere Programme PHP Skripte Die Syntax bleibt dabei jedoch die selbe SQL l sst sich in drei Klassen einteilen 1 Data Definition Language DDL o DDL dient z B zum Anlegen L schen Bearbeiten von Datenbanken und Tabellen o Befehle CREATE DROP ALTER 2 Data Control Language DCL o DCL dient z B zur Rechtevergabe o Befehle GRANT REVOKE 3 Data Manipulation Language DML o DML dient z B zur Manipulation von Datens tzen Tupel oder der Abfrage von Daten o Befehle SELECT INSERT DELETE UPDATE Syntaxbeschreibung DDL DCL Die Aufgaben der DDL bzw DCL wurden bei unserem Projekt von dem Programm phpMyAdmin bernommen dass unter Kapitel 8 1 6 n her beschrieben ist DML Tabelle f llen INSERT INTO tabelle spalte_l spalte_2 spalte_n VALUES wert_l wert_2 wert_n Mit INSERT wird der Tabelle tabelle ein Datensatz d h eine Zeile hinzugef gt Die Angabe der Spaltenbezeichnungen ist optional und nur ben tigt wenn nicht alle Spalten beschrieben werden sollen Die einzutragenden Werte m ssen in der entweder in der Reihenfolge der angegebenen Spalten oder wenn die Spaltenbezeichnungen nicht angegeben sind in der Reihenfolge der in der Tabelle definierten Attribute angeordnet werden Tabelle leeren DELETE FROM tabelle WH
19. Client fungiert w hrend auf einem Server mittels Webinterface die Verwaltung einer Datenbank erfolgt Zur Kommunikation zwischen den beiden Programmteilen wird das XML basierende und auf HTTP aufsetzende SOAP Protokoll verwendet Die Aufgaben der Transportschicht liegen haupts chlich in der Aufbereitung der RFID Reader Daten die bei Bedarf an den Webserver weitergeleitet werden k nnen Die aus den Transpondern ausgelesenen Daten werden ber die RS232 Schnittstelle nach Anfrage an die Transportschicht weitergeleitet Zum komfortablen Bearbeiten der Transponder Daten wird ein User Interface entwickelt das dem Benutzer neben dem Echtzeitauslesen der Informationen auch das Beschreiben der RFID Tags erm glicht Das Programm wird in der C Entwicklungsumgebung LabWindows CVI 8 0 realisiert Um die Daten bertragung zum Server zu verwirklichen wurde das SOAP Protokoll mithilfe des Microsoft SOAP Toolkits 3 0 implementiert Das Webinterface soll die Verwaltung des Rechner Inventars Uber die Verknupfung der eindeutigen Transponder ID mit Datensatzen aus der Datenbank zulassen Dar ber hinaus sollen durch die Anwendung Wartungen der bzw Servicet tigkeiten an den Rechnern festgehalten und nachvollziehbar gemacht werden Um dies zu garantieren ist eine Benutzerverwaltung notwendig Allen Benutzern ist es m glich die zu verwaltenden PCs mit ihren Wartungszust nden einzusehen Der Schulgebrauch des Systems wird durch die unterschiedliche Rechte
20. Datenbankeintrag an Befindet sich der Rechner nicht in der Datenbank erscheint statt des Inhalts von Markierung 3 diese Fehlermeldung Suchergebnis Es wurden keine entsprechenden Eintr ge in der Datenbank gefunden Nachdem die Abfrage des eingelesenen Transponders aus der Tabelle rfidsearch mit Erfolg durchgef hrt wurde wird der Spalteneintrag sstatus auf inaktiv gesetzt Das hei t wird die Anweisung erneut Suchen abermals ausgef hrt erscheint eine Ausgabe wie sie in Abbildung 8 24 zu sehen ist Wird der Men punkt RFID Suche aufgerufen ohne dass zuvor ein Transponder eingelesen wurde wird dieser Seiteninhalt angezeigt RFID Suche erneut Suchen gt gt Es wurde kein Tag gefunden Abbildung 8 24 Erfolglose RFID Suche DOPTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 23 Inventarisierung mit RFID Webanwendung 04 05 2006 8 7 Registrierter User 8 7 1 Allgemein Um sich als registrierter User auf der Weboberflache zu bewegen ist zunachst eine Registrierung und anschlieBend ein Login notwendig Dieser Benutzer besitzt alle Rechte eines Gasts Zusatzlich stehen ihm folgende Funktionen zur Verf gung o Einsehen und Bearbeiten der eigenen Accountdaten o Es besteht die M glichkeit sich abzumelden o Er kann von einem Benutzer mit h herer Rechtekategorie aktiviert werden Durch die Aktivierung eines registrierten Users durch einen Administrator siehe Administrator Benutzerverwaltung
21. Reparaturstatus des Rechners an dem der Transponder angebracht ist eingesehen werden Wartungs und Servicet tigkeiten an den Rechnern k nnen nachvollziehbar festgehalten werden Die Verwaltung von Rechnern und Reparaturvorg ngen kann ber eine einfach zu bedienende grafische Weboberfl che vorgenommen werden Zur Kommunikation zwischen den beiden realisierten Software Teilen wird das XML basierende SOAP Protokoll verwendet Ausblick Das Projekt k nnte durch entsprechendes editieren der Skripte und Quellcodes auf andere Inventarisierungssysteme wie zum Beispiel Labormessger teinventarisierung B cherinventarisierung in Bibliotheken umgelegt werden Dar ber hinaus k nnte auch ein Zugangskontrollsystem entwickelt werden das dieses Projekt als Vorlage benutzt In Zukunft wird die RFID Technologie immer mehr an Bedeutung gewinnen Im Zusammenspiel mit einem Datenbanksystem schafft dieses Projekt eine technisch hoch interessante und aktuelle Ausgangsbasis f r hnliche Anwendungen SR WIR HTBL Hollabrunn Sebastian GlaBner Seite 9 1 GEET Inventarisierung mit RFID Abbildungsverzeichnis 04 05 2006 A Abbildungsverzeichnis 5 Realisierung Abbildung 5 1 Blockschaltbild Gvstemautbau trernen 5 1 Abbildung 5 2 Server Client Verbindung REENEN EEN 5 4 6 Theoretische Grundlagen Abbildung 6 1 RFID Grundsystem EE 6 1 AODIIGUAG O 2 EINSAIZO et 6 3 Abbildung 6 3 Transponderbautormen ANNER 6 4 Abbildung 6 4 Transponderaufb
22. Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section to be Entitled Endorsements or to conflict in title with any Invariant Section O Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles El Wil te G ee HTBL Hollabrunn Seite G 2 Inventarisierung mit RFID GNU 04 05 2006 You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through
23. Services zu dokumentieren diese zu bearbeiten und l schen FC Yenwaltung serdces REID Suche Services anzeigen suchen Es wurden amp Eintr ge gefunden sie sind eingeloggt als master Datum PC Name Service Bearbeiter Beschreibung 15 01 2006 11 48 01 NET2 50 27 master neues Betriebssystem 12 01 2006 20 03 17 FTKL O1 31 sebastian neue maus 05 03 2006 12 26 30 Net2 5 38 matz PC zerlegt und gr ndlich ausgewaschen la 09 03 2006 13 20 09 Net2 3 ad admin Netzteil ausgetauscht 19 03 2006 12 21 24 FTKL O1 40 admin Neue Festplatte eingebaut Inventarisierung mit RFID Sebastian Gla ner 2005 2006 Abbildung 8 33 Services Master User EL MTL Eur DOPTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 28 Inventarisierung mit RFID Webanwendung 04 05 2006 Abbildung 8 33 Markierung 1 E gt Serviceansicht siehe Abbildung 8 20 a gt Eintrag l schen Abbildung 8 34 Bevor ein der L schvorgang durchgef hrt wird muss er in der Detailansicht best tigt werden TE gt Eintrag editieren Abbildung 8 35 Die hervorgehobenen Felder k nnen nicht editiert werden In der Beschreibung des Servicevorgangs k nnen Anderungen vorgenommen werden Diesen Eintrag wirklich l schen Service Nummer 34 PC Name Net2 3 Bearbeiter admin Beschreibung Metteil ausgetauscht Hinzugef gt am 19 03 2006 13 20 09 delete Abbildung 8 34 Service l schen 8 8 5 Mein Account account php Sie
24. TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided for under this License Any other attempt to copy modify sublicense or distribute the Document is void and will automatically terminate your rights under this License However parties who have received copies or rights from you under this License will not have their licenses terminated so long as such parties remain in full compliance 10 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft SR Wil GE JEO OE HTBL Hollabrunn Seite G 3 Inventarisierung mit RFID GNU 04 05 2006 Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation ADDENDUM How to use this License for your documents To use this License
25. Token Priority 42 6 Wie bereits erw hnt unterst tzt der MFR mehrere verschiedene Transpondertypen Es gibt Funktionen f r die es wichtig ist zu wissen welcher Transponder Vorrang hat Der oben genannte Befehl Tag finden greift auf diese Priorit tsliste zu Die Eintr ge der Liste k nnen durch einfaches Drag and Drop erweitert oder verringert werden Die Priorit tsliste ist auf maximal f nf Eintr ge begrenzt Befindet sich eine Bibliothek nicht innerhalb der der Priorit tsliste so werden die entsprechenden Transponder von den Funktionen ignoriert PRIORIT TST BELLE ISO 14443 4 ISO 14443 B ISO 15633 Tan LF DST ISO 14443 4 Aplallo Abbildung 7 6 Prioritatstabelle Ausgang setzen Set Driver Request 4316 Das Reader Modul besitzt drei Ausgange Beim verbauten MFR ist das Modul an zwei Leuchtdioden 1xgr n ixgelb und einem Summer angeschlossen Deshalb k nnen die Ausg nge ber die entsprechenden Icons im bereits beschriebenen Peripheriebereich ein bzw ausgeschalten werden Der Befehls selbst sendet einen Befehl ON OFF oder Toggle an die angegebenen Treiber Will man also z B den Befehl Ausgang und Ausgang3 einschalten Ausgang2 ausschalten realisieren so muss man zwei Befehle einen zum Einschalten und einen zum Ausschalten mit der entsprechenden Angabe der Ausg nge senden Grad HTBL Hollabrunn Mathias Wallner Haas Seite 7 12 Inventarisierung mit RFID Transportschicht 04 05 20
26. Verbindungsnachrichten Der Balken Uber dem Fenster verdeutlicht noch ob die bertragung gegl ckt gr n oder fehlgeschlagen ist rot HTTP bertragung zum Datenbankserver Informationen werden an den Server bertragen Dieser Vorgang kann bis zu einer Minute dauem Antwort des Webservers Ihre Daten wurden erfolgreich an den Server weitergeleitet Informationen werden an den Server bertragen Dieser Vorgang kann bis zu einer Minute dauem SOAP Fehlercode Client SOAP Fehlerinfo Connector Connection failed or server refused connection request might exceed Ee H 8 ee Abbildung 7 17 SOAP Status HTBL Hollabrunn Mathias Wallner Haas Seite 7 22 Inventarisierung mit RFID Transportschicht 04 05 2006 7 4 SOAP Verbindung Die SOAP Verbindung wird vom Unterprogramm soaprequest aufgebaut vat soaprequest LPOLESTR functionName L sendTagData Name der webservice Funktion Paramtertypen 5 Strings unsigned nt paramTypes CAVT_CSTRING CAVT_CSTRING CAVT_CSTRING CAVT_CSTRING CAVT_CSTRING GetctrlVal tagHandle TAG_UID id Untque ID holen GetctrliVal tagHandle TAG_INVENTNR name Inventarnummer des Rechners GetctrlVal tagHandle TAG_PLACE location Standort des Rechners GetNumTableRows panelHandle TOP_TAGS amp h Anzahl der Tags sprintf group d h als String Erzeugen der SOAP CITent Objekts __caErrchk MSSOAPLib30_NewISoapclient NULL 1 LOCALE_NEUTRAL
27. WalnerHaas Studieren der RFID Grundlagen HTML XML Besuch der TA Logistik Zentrale September 2005 GlaBner e WallnerHaas _ O O O Oktober 2005 Gla ner_ e f WallnerHaas 22 November 2005 Wallner Haas GlaBner Entwicklung der Webanwendung Beschaftigung mit CVI und MS SOAP Toolkit Oberflachendesign Ansteuerung des RFID Readers durch CVI RS232 Fehlererkennung ee raf Benutzeroberfl che Homepageaktualisierung Dezember 2005 Glsfner JL WalnerHaas Entwicklung der Webanwendung Nutzung von RFID Modulen des Readers Inventarverwaltung Marktforschung Serviceverwaltung PocketPCs mit RFID CF Cards Benutzerverwaltung RFID Transponder SH HTL Sebastian GlaBner e pe HTBL Hollabrunn Mathias Walin r Haas Seite 4 1 Inventarisierung mit RFID Projektplanung 04 05 2006 Janner 2006 Wallner Haas Entwicklung der Webanwendung Realisieren weiterer RFID Reader Funktionen 1 Projektprasentation 1 Projektprasentation Kurzfassung erstellt Kurzfassung erstellt Februar 2006 Wallner Haas Weiterentwicklung der Webanwendung Realisieren weiterer RFID Reader Funktionen und Beheben von Fehlern Server ber XML Interface ee Server ber XML Interface M rz 2006 Dokumentation 2 Projektpr sentation Abgabe April 2006 Projektprasentation vor A Jo Projektpr sentation vor 4 Jg Mai 2006 Wallner Haas Dokumentation Fertigstellung und Abgabe der
28. angeben hier aus Feld laenge 3 Die Mindestlange 8 aus sendRFID wird um 3 erh ht optional k nnte man hier noch die 8 Bytes f r die UID angeben und die L nge dementsprechend um 8 erh hen Z B strcopy amp reg 9 x07 xe4 x00 x55 x03 x15 x07 xe0 laenge 8 Achtung Die UID wird von hinten nach vorne angegeben break nicht vergessen sonst gibt es unerw nschte Effekte case 112 GET SYSTEM INFORMATION break Nun kann der Befehl vom Reader verstanden werden Das Programm gibt die Daten des Statusfeld automatisch aus siehe Kapitel User Interface Die Auswertung des 15015693 Response Flags m sste im Unterprogramm putvalues hnlich getvalues eingetragen werden Ist dort kein entsprechender Eintrag vorhanden so gibt das Programm die zus tzlichen Bytes ber die Standardschnittstelle meistens die Konsole aus EL Wil HTBL Hollabrunn PPE Tt Mathias Wallner Haas Seite 7 8 Inventarisierung mit RFID Transportschicht 04 05 2006 7 3 User Interface In diesem Kapitel soll der Umgang mit dem User Interface also der Benutzeroberflache der Transportschicht erlautert werden Es soll also den Nutzern des Programms dabei behilflich sein die gew nschten Ergebnisse zu bekommen Das Kapitel und dessen Abschnitte werden deshalb stark einem Benutzerhandbuch hneln 7 3 1 Hauptoberfl che Die Hauptoberfl che wird sofort nach dem Start des Programms geladen und angezeigt Sie beinhaltet
29. anordnen kann wenn diese aus nicht beim Pr fungskandidaten bei den Pr fungskandidaten gelegenen Gr nden nicht fertiggestellt werden kann Kardidafen i DEER nters hrift Glassner Sebastian A een A Ren Wallner Haas Mathias ala Ba Miller EEN en Pe A a Era Le DI Franz G is schla JS Pr fer Bo HRN Mag DI Dr Thomas Dietmaier Direktor Genehmigung St P lten am ersten DI Dr Wilhelm Keni Landesschulinspektor HOHERE TECHNISCHE BUNDESLEHRANSTALT HOLLABRUNN Abteilung ELEKTRONIK Ausbildungsschwerpunkt TECHNISCHE INFORMATIK AMMAR TINA oat Mod ISS wi x KANDIDATEN Sebastian Glassner Mathias Wallner Haas THEMA Inventarisierung mit RFID AUFGABENSTELLUNG Es ist ein System zur Inventarisierung mit Hilfe von RFID Technologie zu entwerfen Zun chst sollen Untersuchungen bez glich der Realisierungsm glichkeiten der PC Inventarisierung unter Verwendung von HF und LF Transpondern durchgef hrt werden Die Software besteht aus Transportschicht und Verarbeitungslogik deren Kommunikation ber eine standardisierte XML Schnittstelle erfolgt Die Transportschicht dient zur Aufbereitung und Weiterleitung der RFID Reader Daten an die Schnittstelle In der Verarbeitungslogik erfolgt die Verwaltung der Daten unter Verwendung eines WAMP Systems PROJEKTABLAUF Testen der Hardware Reader sowie Transponder Anbringung Ausrichtung etc Definition des XML Inter
30. anzeigen neuer User suchen Es wurden 5 Eintr ge gefunden UserID Vorname Nachname Nick Eintrittsdatum Rechte 2 Sebastian Glassner sebastian 00 00 0000 00 00 00 Administrator 4 master master master 04 01 2006 22 29 00 Master User 11 Mathias Wallner Haas motz 20 01 2006 10 03 15 Registrierter User aktivier 2 di 13 Registrierter User registriert 20 01 2006 10 03 15 Registrierter User aktiviert GIS di 16 test user test 21 03 2006 17 10 27 Registrierter User Inventarisierung mit RFID Sebastian Gla ner 2005 2006 Abbildung 8 37 Benutzerverwaltung Mit den Funktionsschaltflachen Abbildung 8 37 Markierung 1 kann der Administrator eigenstandig neue Benutzer anlegen bzw explizit nach bestimmten Benutzern suchen Die Aktionsbuttons Abbildung 8 37 Markierung 1 bzw amp dienen zum L schen und Editieren des entsprechenden Benutzers Durch die Schaltfl chen amp und 74 k nnen zum Aktivieren Deaktivieren eines registrierten Users herangezogen werden Durch die Aktivierung wird einem registrierten User die M glichkeit gegeben Serviceeintr ge zu erstellen Wird ein mit die Edit Funktion aufgerufen erscheint dieses Formular UserlD 11 Vorname Der Administrator kann hier alle Accountdaten Mathias eines beliebigen Benutzers editieren Nachname Dies beinhaltet auch das Passwort und die Wallner Haas Rechtekategorie Nickname motz Master User bzw andere Administratoren Passwort k nnen nur von einem
31. arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if Known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work
32. bestimmten Kriterien PC Name Raum Name und Anzeige der gefundenen Elemente o Anzeige aller eingetragenen Services mit den Informationen aus der Tabellenstruktur in Form einer Tabelle o Suche nach Rechnern unter Verwendung des RFID Leseger ts o Registrierungsm glichkeit auf der Startseite Registrierter User deaktiviert Es ist ein Login notwendig Dieser Benutzer besitzt alle Rechte eines Gasts Zus tzlich stehen ihm folgende Funktionen zur Verf gung o Einsehen und Bearbeiten der Accountdaten o Er kann von einem Benutzer mit h herer Rechtekategorie aktiviert werden o Es besteht die M glichkeit sich abzumelden Registrierter User aktiviert Es ist ein Login notwendig Dieser Benutzer besitzt alle Rechte eines deaktivierten registrierten Users Zus tzlich steht ihm folgende Funktion zur Verf gung o Bei der Anzeige der eingetragenen PCs kann zu jedem PC explizit ein Serviceeintrag hinzugef gt werden Master User Es ist ein Login notwendig Dieser Benutzer besitzt alle Rechte eines aktivierten registrierten Users Zus tzlich stehen ihm folgende Funktionen zur Verf gung o Es k nnen neue Rechner in die Datenbank aufgenommen werden o Es k nnen alle Eintr ge einzeln gel scht werden Wird ein PC Eintrag gel scht werden alle dazugeh rigen Serviceeintr ge gel scht o Es k nnen alle Eintr ge bearbeitet werden Administrator Es ist ein Login notwendig Dieser Benutzer besitzt alle Rechte eines Master Users Zus
33. dass bei jedem neuen Tabelleneintrag der entsprechende Spaltenwert um 1 gegen ber dem letzen Tabelleneintrag erh ht wird al WI HTBL Hollabrunn Sebastian GlaBner Seite 8 5 GEET Inventarisierung mit RFID Webanwendung 04 05 2006 Primary Key Abbildung 8 8 Markierung 1 Die Spalte wird als Prim rschl ssel deklariert Das hei t alle Spalteneintrage m ssen eindeutig und vorhanden NOT NULL sein Es kann nur einen Prim rschl ssel pro Tabelle geben Unique Abbildung 8 8 Markierung 2 Unique kennzeichnet einen Spalteneintrag als eindeutig Die hier nicht n her beschriebenen Felder aus Abbildung 8 8 werden f r unsere Zwecke nicht zwingend ben tigt Sie k nnen einfach leer bleiben Sneichern Mit einem Klick auf wird die Tabellenstruktur bernommen Das Bef llen der Tabellen mit Werten bernimmt in weiterer Folge ein PHP Skript Grundlagen zum Ansprechen einer Datenbank mit PHP siehe Kapitel 6 3 8 8 2 Datenbankmodellierung 8 2 1 Allgemeines Die Entwicklung einer Datenbank vollzieht sich in mehreren Schritten Zun chst ist festzustellen welche Informationen die Anwender vom Datenbanksystem erwarten Aufgrund der Festlegungen im Pflichtenheft kann man sich berlegen welche Tabellen ben tigt werden Ferner muss festgelegt werden welche Datentypen den einzelnen Tabellenspalten zugewiesen werden Die Hauptaufgabe der Datenbankmodellierung ist das Verhindern von redundanten Daten sowie das Sicherstellen der e
34. des Kommunikationsstring Nun da wir wissen wie ein g ltiges Paket aussehen muss k nnen wir uns mit der Realisierung der Reader Verbindung besch ftigen Kommunikation mit dem Texas Instruments S4100 Multi Function Reader v Einstellungen f r den gew hlten I Befehl holen L nge des Befehls bestimmen Attribute Bestimmen v Bearbeiten der Schnittstelle Y Beten verarbeiten gt Overhead verarbeiten gt RS232 ansprechen gt E Schlie en der Interrupt i V E RS232 wi User Interface H H oO Schnittstelle geschlossen i i S t i i Qa D D 5 Initalisieren der u RS232 gt User Interface D D Schnittstelle A D D 5 y Ki O i StartOfFrame 01 k ndssumme t String ber den 5 Befehl bestimmen und DevicelD 03 gt Se a gt RS232 Port E generieren e Setzen Senden St D A D Wa D 1 7 D D D t DU StartOfFrame 01 4 Byte Uber den e und DevicelD 03 _ _____ RS 232 Port berpr fen empfangen L nge des Befehls bestimmen y L ngssumme berpr fen Restlichen Bytes holen Empfangen der Antwort Daten verarbeiten La Daten auswerten
35. die meisten Funktionen sieht somit auf den ersten Blick recht berladen aus Durch die Einteilung in Funktionsbl cke kann man schnell den berblick gewinnen RFID Projektprogramm Datei Tools Hilfe RR Application Layer Firmware Boot Loader Firmware 14443 4 Firmware N 14443 B Firmware re 15693 Firmware ecksum JK S NECKSL f Tag it Firmware Kein Fei LF DST Firmware Fehler ein Fehler DE 14443 4 Firmware L WI T 6i ee Fe ES IE Bytes SE ISO 15693 el 07 00 00 06 d5 50 88 Abfrageeinstellungen Blocke lesen 2 oo foo jeo 0401 0003 08 b4 7 3 foo D 2004010003 08b4 7d Tesdaten 02 as ist ein Testtransponder al E Ce Abbildung 7 5 Hauptoberflache In den folgenden Abschnitten werden die Funktionsbl cke erkl rt 7 3 2 Men leiste Die Men leiste hat drei Teilbereiche e Datei e Tools e Hilfe Datei Hier werden alle Operationen die etwas mit Dateien zu tun haben aufgerufen ber das Men kann z B ein Script gestartet werden gt Datei gt Script gt starten oder die Aufzeichnung einer Logdatei gestartet werden gt Datei gt Log gt aufzeichnen In beiden F llen wird sich ein Fenster zur Auswahl des Files ffnen Nach der Auswahl l uft das Skript oder die Aufzeichnung und in der Men leiste k nnen diese auch wieder beendet werden HTBL Hollabrunn Mathias Wallner Haas Seite 7 9 Inventarisierung mit RFID Transportschicht 04 05 2006 Tools Hier w
36. dieses Men Startseite REID Suche Abbildung 8 14 Men Gast Bei einem Klick auf Startseite wird als content main bergeben und in index php wird darauf das Skript main php eingebunden 8 4 6 html_head php Der HTML Kopf Bereich dient einerseits der Generierung des Seitentitels mit lt title gt Inventarisierung mit RFID lt php echo title gt lt title gt wobei title dem aktiven Men punkt entspricht siehe 8 4 5 menue php andererseits wird im Kopfbereich auch die CSS Datei eingebunden Da die zur Zeit am meisten verbreiteten Browser Mozilla Firefox Internetexplorer bestimmte HTML oder CSS Elemente unterschiedlich interpretieren wurden zwei Style Sheets angelegt In Abh ngigkeit vom verwendeten Browsertyp der mittels _SERVER HTTP_USER_AGENT ermittelt wird wird der entsprechende Style Sheet eingebunden pe HTBL Hollabrunn Sebastian GlaBner Seite 8 17 Inventarisierung mit RFID Webanwendung 04 05 2006 8 5 Benutzerverwaltung 8 5 1 Allgemein Um zu garantieren dass Wartungen bzw Servicet tigkeiten an den Rechnern nachvollziehbar festgehalten werden k nnen ist eine Benutzerverwaltung notwendig Dazu stellt das System ein Login System bereit das auf PHP Sessions basiert Die Rechte des Users werden von jedem Inhaltselement das in die index php geladen wird selbstst ndig berpr ft Wenn der User nicht gen gend Rechte besitzt wird er auf sie Startseite verwiesen Diese Seite erforder
37. eee settee Detail ansicht eee eee ee ene eee eee eee se ess ee eee eee eee eee ee ness eneen Abbildung 8 12 Seitenaufbau Dialogstruktur Abbildung 8 12 zeigt die Struktur der Oberflache Aus der Legende Abbildung 8 11 sind die unterschiedlichen Rechtekategorien ersichtlich Abbildung 8 12 gibt Aufschluss Uber den Umfang des dynamischen Men s Beispiel Dem Administrator stehen wie auch aus Abbildung 8 10 erkennbar die Men punkte Startseite PC Verwaltung Services Mein Account RFID Suche Backup und Logout zur Verf gung w hrend der Gast nur Zugriff auf Startseite PC Inventar Services RFID Suche und Login hat In den entsprechenden Unterteilungen der Hauptmen punkte sind weitere Unterscheidungen anhand der Rechte Kategorie des Benutzers in Bezug auf den Umfang der nutzbaren Funktionen getroffen So kann etwa ein Master User im Men punkt PC Inventar Eintr ge hinzuf gen wohingegen ein Gast nur Lese Rechte besitzt SR WTL geg SE HTBL Hollabrunn Sebastian GlaBner Seite 8 12 Inventarisierung mit RFID Webanwendung 04 05 2006 8 3 4 Ordner Verzeichnisstruktur Zur Verwirklichung der Webanwendung wurde die Ordnerstruktur aus Abbildung 8 13 im Root Verzeichnis des Webservers htdocs angelegt htdocs backup Root Hier befinden sich erstellte Verzeichnis Backups der Datenbank content Hier befinden sich alle Inhalte der Oberflache Verzeichnis fur mitprotokollierte Vorgange Hier befindet sich
38. enthalten ganz unterschiedliche Elemente Attribute Wertzuweisungen und typische Verschachtelungen Gemeinsam ist ihnen jedoch dass sie offensichtlich aus bestimmten erlaubten Elementen Attributen Wertzuweisungen und Regeln zur Verschachtelung bestehen Diese Beispiele sind nicht komplett frei erfunden Wir haben XML f r SOAP und somit f r die Beschreibung eines Webservices und bertragung der Daten ben tigt 6 3 SOAP SOAP urspr nglich f r Simple Object Access Protocol ist ein Protokoll mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgef hrt werden k nnen SOAP st tzt sich auf die Dienste anderer Standards XML zur Repr sentation der Daten und Internet Protokolle der Transport und Anwendungsschicht vgl TCP IP Referenzmodell zur bertragung der Nachrichten Die g ngigste Kombination ist SOAP ber HTTP und TCP Urspr nglich war SOAP die Abk rzung f r Simple Object Access Protocol Einfaches Objekt Zugriffs Protokoll seit Version 1 2 ist SOAP jedoch offiziell keine Abk rzung mehr da es erstens keineswegs einfach Simple ist und da es zweitens nicht nur dem Zugriff auf Objekte Object Access dient 6 3 1 Struktur einer SOAP Nachricht Eine SOAP Nachricht ist nach dem Head Body Pattern modelliert Ein SOAP Envelope ist ein Container der ein optionales Header Element und ein Body Element enth lt Weiterhin wird hier der verwendete Namensraum festgelegt Im Head Bereich der Nach
39. lt td gt Dr E EE Spalte 1 Zeile 1 Spalte 2 Zeile 1 lt td gt Spalte 1 und 2 Zeile2 lt td colspan 2 gt Spalte 1 bzw 2 Zeile 2 lt td gt lt tr gt lt table gt Mit dem Parameter lt table gt wird eine Tabelle gedffnet mit dem Ausdruck lt table gt wird diese wieder geschlossen zwischen diesen Tags k nnen jetzt Spalten und Zeilen bzw daraus folgende Zellen realisiert werden Der Tabellenkopf wird mit lt th gt table head und lt th gt festgelegt Durch lt tr gt bzw lt tr gt werden Zeilen dargestellt welche jetzt in eine beliebige Anzahl an Zellen unterteilt werden Dies erfolgt mit dem Ausdruck lt td gt bzw lt td gt In HTML ist es allgemein so dass alle Tags die ge ffnet werden mit dem gleichen Ausdruck und einem enthaltenen wieder geschlossen werden pe HTBL Hollabrunn Sebastian GlaBner Seite 6 14 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 4 4 Links Verweise Links sind ein entscheidender Bestandteil jedes Hypertext Projekts Mit ihrer Hilfe l sst sich ein Projekt strukturieren Erst durch Verweise wird aus der losen Dateisammlung ein zusammenh ngendes Web Projekt Sie k nnen Projekt interne als auch Projekt externe Seiten verlinken Syntax Beispiel lt a href Startseite php gt Home lt a gt Mit lt a gt lt a gt wird ein Anker Element gekennzeichnet Als Wert an das href Attribut wird das gew nschte Verweisziel zugewiesen Einem Link kann g
40. mit RFID Theoretische Grundlagen 04 05 2006 6 4 HTML 6 4 1 Allgemeines Die Hypertext Markup Language HTML beschreibt Dokumente als Hypertext typischerweise beschreibt sie Webseiten HTML beschreibt Informationen im Sinn einer Auszeichnungssprache und wurde vom World Wide Web Consortium bis Version 4 01 weiterentwickelt die Weiterentwicklung geschieht allerdings seither als XHTML Mehr Informationen ber HTML findet man unter http de selfhtml org html index htm 6 4 2 Grundger st Eine gew hnliche HTML Datei besteht grunds tzlich aus folgenden Teilen e Dokumenttyp Deklaration Angabe zur verwendeten HTML Version e Header Kopfdaten z B Angaben zu Titel u e Body K rper anzuzeigender Inhalt also Text mit berschriften Verweisen Grafikreferenzen USW Im folgenden Teil wird das Grundger st einer XHTML Datei gezeigt lt DOCTYPE html PUBLIC wW3C DTD XHTML 1 0 Transitional EN http www w3 org TR xhtm11 DTD xhtml1 transitional dtd gt lt html xmIns http www w3 org 1999 xhtm1 gt lt head gt lt title gt Text des Titels lt title gt lt head gt lt body gt lt body gt lt html gt 6 4 3 Tabellen Tabellen sind ein wichtiger Bestandteil von HTML Damit die Funktion verdeutlicht werden kann folgt hier ein Beispiel HTML Code Interpretierter HTML Code lt th gt Titel 1 lt th gt lt th gt Titel 2 lt th gt lt td gt i Spalte 1 Zeile 1 Titel 1 Titel 2 lt td gt
41. ndern auf erg Servers 52 auch Eype http IX So wird zuerst das root Passwort vom MySQL Server abgefragt bevor phpMyAdmin zugreifen darf Beim n chsten Start von phpMyAdmin mit http localhost ohpmyadmin sieht das dann so aus verbindung zu localhost herstellen GE 5 d phpMyAdmin auf localhost Benutzername root is Kennwort M Kennwort speichern OK Abbrechen Sebastian Gla ner al WI HTBL Hollabrunn Seite D 5 T ff Mathias Wallner Haas Inventarisierung mit RFID Installationsanleitung 04 05 2006 D 1 6 Konfigurationen Aktivieren der PHP SOAP Extension Um sie zu aktivieren muss das Semikolon vor dem folgenden Eintrag in der php ini Datei entfernt werden Achtung Bei der Installation von XAMPP werden mindestens drei Konfigurationsdateien mit dem Namen php ini erzeugt Die Anderung muss in der php ini Datei in dem Verzeichnis lt Inst Vz gt apache bin vorgenommen werden s37 sextension php radius dil S96 extension php rar dll 599 sextension php shmop dll 600 extension php snmp dll 601 extension php soap dll 602 extension php sockets dli 603 sextension php stats dll DU extension php sybase ct dll BUS sextension php threads dil Um die Anderung zu Ubernehmen muss der Server mit lt Inst Vz gt xampp_restart exe neu gestartet werden Server IP Adressen Anpassen SoapServer php Verzeichnis lt Inst Vz gt htdocs soap SoapServer php Der Varia
42. psebastian database pcinventar lt lt Installationsverzeichnis gt htdocs backup lt dateiname gt durchgef hrt Das zuletzt erstellte Backup weist als Dateiname den h chsten UNIX Timestamp Wert auf Backup Sie sind eingeloggt als admin Hier k nnen Sie ein Backup der Datenbank erstellen Backup der Datenbank erstellen G Backup wiederherstellen e 1137091388 bak 1137091395 bak 1137091522 bak 1137135820 bak 1137751101 bak 1141334411 bak 1142673663 bak 1143112669 bak 1143113878 bak 1143113893 bak Inventarisierung mit RFID Sebastian Gla ner 2005 2006 ws EE ws EIS Abbildung 8 39 Backup Administrator SR WTL te 8 PORTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 32 Inventarisierung mit RFID Webanwendung 04 05 2006 8 10 Webservice 8 10 1 Allgemein Ein Webservice ist eine Softwarekomponente die unter Verwendung von bestehenden Technologien wie HTTP f r den Transport der Daten und XML f r die Formatierung der Daten ber das Web genutzt werden kann In diesem Kapitel wollen wir die Programmierung von und mit Webdiensten in PHP auf Grundlage der XML Standards SOAP und Web Service Description Language WSDL betrachten SOAP dient der Formatierung der Daten WSDL der Beschreibung der durch den Webdienst angebotenen Funktion en Dank der verbesserten Unterst tzung f r XML Technologien bietet PHP 5 eine ebenso effiziente wie komfortable Schnittstelle f r die Arbe
43. solcher Dokumente F r einen konkreten Anwendungsfall XML Anwendung m ssen die Details der jeweiligen Dokumente spezifiziert werden Dies betrifft insbesondere die Festlegung der Strukturelemente und ihre Anordnung innerhalb des Dokumentenbaums XML ist damit ein Standard zur Definition von beliebigen in ihrer Grundstruktur jedoch stark verwandten Auszeichnungssprachen Eine Sprache zur Definition anderer Sprachen nennt man Metasprache XML ist eine vereinfachte aber erweiterbare eXtensible Teilmenge von SGML Standard Generalized Markup Language Die prominenteste der Sprachen die mit Hilfe von XML definiert werden ist derzeit zweifellos die neue Fassung von HTML XHTML genannt Aber auch andere bekannte Sprachen wie etwa WML Beschreibungssprache f r das WAP Protokoll das Internet Inhalte aufs Handy Display bringt kommen ins Gespr ch Welcher Erfolg all diesen Sprachen beschieden ist entscheidet der Markt Daneben bietet XML jedoch auch die M glichkeit an v llig neue Sprachen zu definieren die f r eigene Datenstrukturen optimal angepasst sind und die aber trotzdem nicht propriet r sind sondern einem standardisierten Regelwerk folgen pe HTBL Hollabrunn Mathias Wallner Haas Seite 6 9 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Die Leistung von XML besteht darin dass man mit den Konzepten und Regeln die es bereitstellt eigene Auszeichnungssprachen definieren kann die ahnlich funktionieren wie HTML
44. tzlich stehen ihm folgende Funktionen zur Verf gung o Exportieren der Datenbank zur Sicherung o Wiederherstellen der Datenbank o Benutzerverwaltung Hinzuf gen Entfernen Bearbeiten von Benutzern o Aktivieren von registrierten Benutzern um ihnen das Erstellen von Services zu erm glichen Benutzeroberfl che der Webanwendung Struktur Die Strukturierung der Oberfl che erfolgt entsprechend der Rechtekategorie des Benutzers Bildschirmlayout Das Layout sowie das Design der Webanwendung wird berwiegend durch HTML bzw CSS Komponenten bestimmt und ist ber das gesamte System konsistent bzw einheitlich el NIE HTBL Hollabrunn ee Seite 3 4 Se eee Mathias Wallner Haas Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 4 5 Produktdaten Es wird ein MySQL DBMS verwendet Folgende Datenstruktur soll mindestens in der Datenbank abgelegt werden Rechnerinformationen e I nventarnummer RFID Name Standort Erstellungsdatum Hardwarekonfiguration Kurzbeschreibung Serviceinformationen e Servicenummer Betroffener Rechner Datum Bearbeiter Beschreibung der T tigkeit Benutzerverwaltung e Vorname Nachname Nick Passwort Rechte 3 4 6 Hardwarefunktionen Das verwendete Texas Instruments S4100 Development Kit enth lt 2 RFID Reader HF und LF Transponder verschiedener Bauformen Anschlusskabel Demo Software und ausf hrliche Dokumentation Die RFID Leseger te k nnen Tags im Hochfrequenzbereich 13 56MHz al
45. wie ein Paket zur Befehlsubertragung aufgebaut ist Der RFID Reader ist als Slave Gerat vorgesehen D h es wird von einem anderen Ger t z B PC ber eine serielle Schnittstelle gesteuert Um diese Beziehung zu unterst tzen verwendet der Reader eine standard Protokollstruktur Dieses Kapitel beschreibt wie der Master PC auf die einprogrammierten Funktionen des Slaves MFR zugreifen kann indem Anfrage und Antwort Beispiele erl utert werden Jedes Paket hat die gleichen Overhead Bytes um die Befehle bertragen zu k nnen und um deren G ltigkeit und Vollst ndigkeit berpr fen zu k nnen Diese Regelung und die variable L nge des Befehlsstrings erm glichen den Paketen die variierenden Bedingungen der Befehle jeder Bibliothek fehlerfrei umsetzen zu k nnen 7 2 2 Kommunikationsstring Das folgende Bild beschreibt den Aufbau eines Anfrage bzw Antwort Strings Es wird also der n tige Overhead f r die serielle bertragung der Daten beschrieben Link Layer Paketeigenschaften und Fehlererkennung SOF L nge L nge Device Data Layer Befehle Attribute und Ergebnisse Device ID O3HEx beim MFR Abbildung 7 2 Aufbau des MFR Befehls bzw Antwortstrings Device ID Die Device ID ist bei unserem Reader immer Our Data Layer Der Data Layer besteht aus dem Befehl Cmd1 amp 2 und seinen Attributen Daten1 2 N Befehl Der Befehl besteht aus zwei Bytes Cmd1 und Cmd2 Cmd1 beschreibt den Layer also die Bibliot
46. 0 amp hclient Initialisieren des SOAP Client Objekts mit der Funktion Angabe der WSDL Datei __caErrchk MSSOAPLib30_ISoapClientMSSoapInit Chclient NULL C tagdatamsg wsdl Se SE rwebservicefunktion aufrufen __caErrchk CA_MethodInvokeEx hclient amp errorInfo amp IID_IDispatch functionld CAVT_CSTRING amp ack sizeof paramTypes sizeof paramTypes 0 paramTypes id ip name location group MessagePopup Antwort des webservers ack Man kann erkennen dass die Unique ID die Inventarnummer der Standort und die Anzahl der gelesenen Transponder f r zuk nftige Anwendungen an den Server bertragen werden Will man einen Parameter mehr ber SOAP bertragen so muss man nur 1 einen Paramter mehr bei den paramTypes hinzuf gen 2 Die WSDL Datei dementsprechend um ndern 3 die Variable oder den Wert des Parameters beim Aufruf der Funktion CA_MethodInvokeEx bergeben 75 Skript Damit der Benutzer nicht immer selbst die Buttons bet tigen muss besitzt die Transportschicht die F higkeit Skripte ausf hren zu k nnen Zu diesem Zweck wurde eine sehr einfache Skriptsprache entwickelt Eigenschaften der Skriptsprache e Die Datei hat die Erweiterung rfs im Installer enthaltene Skriptdatei script rfs und start rfs e Jede Zeile beginnt mit einem z B SOAP e Die Anzahl der gibt die Abh ngigkeit an gt Ein Befehl mit 2x wird nur ausgef hrt wenn der vorhergehende Be
47. 06 Baudrate setzen Set USART 0 Baud Rate 46 6 Der MFR kann die Baudrate der seriellen Verbindung manipulieren Der Reader unterst tzt 9600 baud voreingestellt 19200 baud 38400 baud 57600 baud 115200 baud Wird eine andere Baudrate eingestellt so gibt der Reader die Fehlermeldung Ung ltige Baudrate zur ck ISO15693 Ebene 04nex Sender ein aus Transmitter ON Request 4816 Transmitter OFF Request 49 6 Mit diesem Befehl kann man Funktionalitaten der Module Bibliotheken aktivieren bzw deaktivieren Beim ISO15693 Modul ist z B das Antikollisionsverfahren deaktiviert Es k nnen also nicht mehrere Transponder eingelesen werden Diese Funktion ist auch im Bereich Unterst tzte Transponder zug nglich Tag finden Find Token Request 41 16 Die Funktion Tag Finden ist bereits aus der Anwendungsebene bekannt gleicher Name gleicher Befehl nur auf einem anderen Layer Der Befehl wird mit dem gleichen Attribut Anzahl der Schleifen aufgerufen Es gibt jedoch folgende Unterschiede zwischen dem Befehl ausgef hrt in der Anwendungsebene und diesem Befehl ausgef hrt in der ISO15693 Ebene Find Token in der Anwendungsebene Find Token in der ISO15693 Ebene mehrere Transpondertypen nur ISO15693 Transponder maximal ein Transponder anzeigbar bis zu 16 Transponder gleichzeitig Block schreiben Write Block Request 66 Dieser Befehl schreibt einen Block meistens 4 Byte auf den beschreibbaren Spe
48. 2006 09 06 36 Sendestring 01 13 00 03 04 71 00 00 3f 88 50 d5 06 00 00 07 2006 09 06 36 Empfangsstring 01 4a 00 03 04 71 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3d c2 2006 09 06 37 SOAP Anfrage ID e0 07 00 00 06 d5 50 88 Inventarnummer NETO2 Standort NET2 Transponderzahli 17 03 2006 09 06 39 Sendestring 01 09 00 03 04 41 01 4f b 17 03 2006 09 06 39 Empfangsstring 01 09 00 03 04 41 01 4f b Um die Aufzeichnung zu starten muss in der Men leiste gt Datei gt Aufzeichnung gt starten gew hlt werden Um das Skript zu stoppen Datei gt Aufzeichnung gt beenden UU HTBL Hollabrunn Mathias Wallner Haas Seite 7 25 07 00 e0 00 00 01 Inventarisierung mit RFID Transportschicht 04 05 2006 7 7 HTL Programm vs Demoprogramme Was unterscheidet die Transportschicht von der mitgelieferten RFID Demonstrations Software Tabelle 7 3 Vergleich zu anderen Programmen Texas Instruments DataBrokers HTL Hollabrunn Demoprogramm PIRF Lite 2 0 RFIDinvent Erkennen mehrerer Transpondertypen Ansteuerung der Ausg nge selbst konfigurierbar manuell ansteuerbar Button mit Autoset Transpondern Transpondern Beschreiben im asynchronous reply mode nicht Tl Tags Fortschrittsbalken beim Schreibvorgang Detailinformationen ber einen Transponder Aufzeichen einer Log
49. 4 OTa pn EE 6 26 7 Transp rtschicht scn u 7 1 Ted CAPO SY SIC WEE 7 1 7 2 Senden und Empfangen von HDEID Daten nennen 7 2 7 2 1 el eege eet 7 2 7 2 2 FOIA later die WEE 7 2 7 2 3 CVI Code f r die Verarbeitung des KommunikationsString cccccccccseccseesessteeeeeeeees 7 5 7 2 4 Verarbeiten der Readerdaten AANEREN REENEN 7 6 7 3 USER IMENICA A E E E E 7 9 7 3 1 PRI CORSA EE 7 9 7 3 2 UE 7 9 7 3 3 RS232 lee Een GT WEE 7 10 7 3 4 Status und Feblermeldungen nn 7 10 7 35 Mnterst tzte Transponder unse a a 7 10 7 3 6 leiere 7 10 7 3 7 tee E 7 11 7 3 8 Gefundene RFID Transponder nennen 7 16 7 3 9 Sleeve Een EE 7 17 E EK D Ee e 7 18 Lid SpPeIcheransichleniasestee ee a 7 19 TA SOAP Verbindunds asus een 7 23 WARS Dw 4 8 res ee De Ele 7 23 7 5 1 ANS Al 7 24 1 5 2 Realisierte Script Befehle ccccccssssssssssssssssesecceeeeceeeeeeeeeeeeseeeeaueeeeassseseseeeeeeeeeeeeess 7 25 e NN Beete EE 7 25 7 2 HIEProgramm VS Reegele lei ut LEE 7 26 al AU HTBL Hollabrunn Il von IV GEET Inventarisierung mit RFID Inhaltsverzeichnis 04 05 2006 Se EWEN D Te DEE 8 1 8 1 Lokale Entwicklungsumgebung AM 8 1 8 1 1 Algemene sic a ee ee 8 1 8 1 2 de alla ones at ve ee anne E eenTre etme prt eet ty Cen EASE 8 1 8 1 3 Praktisches Arbeiten mit XAMPP ccccccececeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaeeeeeeeeeaaneeeeeeeeeeas 8 2 821 4 Testen der ee ME de EE 8 2 8 1 5 Aktivieren der PHP SOAP Extension aa
50. 5 2006 D Installationsanleitung D 1 Webanwendung D 1 1 Konventionen lt Inst Vz gt Dieser Ausdruck wird im folgenden Dokument f r den Pfad des Installationsverzeichnisses der Softwaredistribution verwendet Im Standardfall lautet der Pfad C apachefriends xampp Ansonsten muss der Pfad dem bei der Installation gew hlten angepasst werden D 1 2 XAMPP installieren Der Start der Installation erfolgt durch Ausf hren der Datei xampp win32 1 4 14 installer exe Die Datei befindet sich auf der Projekt CD im Verzeichnis Webanwendung Software_Entwicklungsumgebung xampp wins2 1 4 14 i nstaller exe Installationsablauf 1 Sprache auswahlen Deutsch gt OK 2 Instalationsassistent Weiter gt 3 Lizenzvertrag Annehmen gt 4 Installationsverzeichnis w hlen Installation ben tigt ca 160MB gt Installieren 5 Fertigstellen gt Bei der Installation legt XAMPP folgende Struktur innerhalb des Installationsverzeichnisses an CD anonymous Flmysgl_stop bat apache Pel php switch bat cgi bin readme de Et FilezillaFTP readme_en txt htdocs setup_xampp bat install a uninstall exe i licenses i xampp_restart exe O MercuryMail xampp_start exe mysql IX xampp stop exe perl xampp changes txt php d xampp control exe phpMyAdmin security sendmail tmp webalizer webdav 1 apache_start bat Pe lapache_stop bat filezilla _setup bat M filezilla start bat rilezilla_stop bat mercury_start ba
51. 5 2006 Tabellenstruktur fur Tabelle rfidsearch Feld typ W ss U pe in BE u S EEE LL ULL Z 11 Nein CURRENT_TIMESTAM Diese Tabelle wird als Zwischenspeicher bei der bertragung der Tag Daten ber das XML Interface genutzt Tabellenstruktur f r Tabelle service _Feld__ Typ Nul Standard pe im Ne datum timestamplya CURRENT_TIMESTAMP adapter Jan ne escription text Us In dieser Tabelle werden die an den Rechnern get tigten Wartungen festgehalten SQL Syntax Datenbank pcinventar Tabellenstruktur f r Tabelle adapters CREATE TABLE adapters userid int 11 NOT NULL auto_increment vorname varchar 30 NOT NULL default nachname varchar 30 NOT NULL default nick varchar 20 NOT NULL default passwort varchar 20 NOT NULL default rechte int 11 NOT NULL default 0 eintrittsdatum timestamp NOT NULL default CURRENT_TIMESTAMP PRIMARY KEY userid UNIQUE KEY nick nick ENGINE MyISAM DEFAULT CHARSET latinl COLLATE latinli_general_ci SR Wil N pe HTBL Hollabrunn Sebastian GlaBner Seite 8 8 Inventarisierung mit RFID Webanwendung 04 05 2006 Tabellenstruktur f r Tabelle locations CREATE TABLE locations roomid int 11 NOT NULL auto_increment name varchar 30 NOT NULL default description text PR
52. Abbildung 7 3 Ablaufdiagramm Kommunikation mit dem Reader RS232 Verbindung Um den RFID Reader ansprechen zu k nnen m ssen wir eine Datenverbindung aufbauen Der RFID Reader kann ber die RS232 und die RS485 angesprochen werden Wir nutzen die bei PCs verbreitete RS232 COM Schnittstelle Initialisierung der COM Schnittstelle im Hauptprogramm OpenComConfig comport baudrate 0 8 1 512 512 com Schnittstelle ffnen und konfigurieren Com Port Baudrate einstellbar keine Parity 8 Datenbits 1 StopbTt SetComTime comport 0 5 Com Timeout Reader braucht Zeit zum auswerten Schlie en der COM Schnittstelle im Hauptprogramm wenn das Userlnterface geschlossen wird Closecom comport Generieren bzw Auswerten der Kommunikationsstrings Die folgenden Programme dienen zur Generation des g ltigen Sendestrings sendRFID und zur berpr fung des darauf folgenden Empfangsstrings readRFID Diese Programme werden bei jeder Kommunikation mit dem Reader aufgerufen und bilden somit den Kern der MFR Kommunikation pe HTBL Hollabrunn Mathias Wallner Haas Seite 7 5 Inventarisierung mit RFID Transportschicht 04 05 2006 Befehl an Reader Senden unsigned char req Anfrage an den Reader int sendRFID void int error 0 LRC 0 Longitudinal Redundancy Check laenge 8 Lange der Anfrage ist die Mindestanzahl der Sendebytes Getctrlval panelHandle TOP_LAYER amp req 4 Layer bestimm
53. All diese Sprachen bestehen immer wieder aus Elementen markiert durch Tags deren Verschachtelungsregeln und aus Attributen mit erlaubten Wertzuweisungen Daneben gibt es Regeln wie man solche Sprachen in XML auch Namensr ume Namespace genannt in andere Sprachen importieren und somit eine Sprache innerhalb einer anderen Sprache benutzen kann Ein gro er Vorteil von XML ist dass die Dateien leicht lesbar f r Software und Mensch sind und deshalb kaum Codier und Decodieraufwand f r die Erstellung von XML Dateien notwendig ist 6 2 1 XML Beispiel Beschreibt einen Scriptbefehl lt projekt sprache ANSIC name RFID invent typ exec stand 18 03 2006 gt lt modul name script stand 22 03 2006 pfad C RFID script rfs gt lt funktion name auslesen stand 22 03 2006 gt lt beschreibung gt Auslesen aller Tag Informationen lt beschreibung gt lt funktion gt lt modul gt lt projekt gt Beschreibt die Funktionen und Variablen eines Programms z B bei Webservices lt message name TagDataRequest gt lt part name id type xsd string gt lt part name ip type xsd string gt lt part name name type xsd string gt lt part name location type xsd string gt lt part name group type xsd string gt lt message gt lt message name TagDataResponse gt lt part name ack type xsd string gt lt message gt lt portType name SoapServerPortType gt lt operati
54. DIPLOMARBEIT Inventarisierung mit RFID RFID Supported Inventory System ausgefuhrt an der Abteilung fur Elektronik Ausbildungsschwerpunkt Technische Informatik der H heren Technischen Bundeslehranstalt Hollabrunn unter Betreuung von Dipl Ing Franz Geischl ger durch Sebastian Gla ner und Mathias Wallner Haas SBHELI 2005 06 Hollabrunn 04 05 2006 HINWEISE Die vorliegende Diplomarbeit wurde fur die Abteilung Elektronik Technische Informatik der HTBL Hollabrunn ausgefuhrt Die in dieser Diplomarbeit entwickelten Prototypen und Software Produkte d rfen ganz oder auch in Teilen von Privatpersonen oder Firmen nur dann in Verkehr gebracht werden wenn sie diese selbst gepr ft und f r den vorgesehenen Verwendungszweck f r geeignet befunden haben F r alle Entwicklungen gilt die GNU General Software License URL 1 der Free Software Foundation Boston USA in der aktuellen englischen Fassung Die Diplomarbeit erf llt die Standards f r Ingenieur und Technikerprojekte entsprechend dem Rundschreiben Nr 60 aus 1999 URL 2 des BMBWK GZ 17 600 101 11 2b 99 Wir erkl ren dass wir die Diplomarbeit eigenst ndig ausgef hrt und alle verwendeten Quellen im Literaturverzeichnis angef hrt habe Unterschriften Sebastian Gla ner Mathias Wallner Haas SCHL SSELBEGRIFFE Inventarisierung RFID LabWindows CVI PHP MySQL Datenbank SOAP Webservice DANKSAGUNG Der besondere Dank gilt Dipl Ing Ger
55. Diplomarbeit Fertigstellung und Abgabe der Diplomarbeit SH UTL Sebastian Gla ner EE pe HTBL Hollabrunn Mathias Wallner H ss Seite 4 2 Inventarisierung mit RFID Realisierung 04 05 2006 5 Realisierung Zu Beginn der Arbeiten an unserem Projekt mussten wir den grundlegenden Systemaufbau festlegen Wie bereits aus dem Pflichtenheft ersichtlich besteht das System im Wesentlichen aus zwei Teilen der Transportschicht und der datenbankbasierenden Webanwendung In den folgenden Unterpunkten wird die gew hlte Realisierung n her erl utert 5 1 Systemaufbau MySQL Datenbank XML Interface PHP SOAP RFID Reader Webanwendung Daten IP Verbindung Browser l l Client Abbildung 5 1 Blockschaltbild Systemaufbau Wie aus dem Blockschaltbild ersichtlich ist die Transportschicht ein Programm das auf Seiten des Clients ausgef hrt wird Es kommuniziert ber ein XML Interface mit der Webanwendung Gleichzeitig kann der Client mit Hilfe eines Browsers auf die am Server vorhanden Webanwendung und somit auch auf die Datenbank zugreifen 5 2 Realisierter Aufbau Zur Entwicklung des einzelnen Teile des Blockschaltbildes wurden zwei Notebooks und ein RFID Reader ver
56. ERE where_definition DELETE l scht Zeilen aus tabelle die mit der in where_definition angegebenen Bedingung bereinstimmen und gibt die Anzahl der gel schten Datens tze zur ck Wird keine where_definition angegeben wird der Inhalt der gesamten Tabelle gel scht Tabelle aktualisieren UPDATE tabelle SET spalten_namel ausdruckl1 spalten_name2 ausdruck2 WHERE where_definition UPDATE aktualisiert Spalten in bestehenden Tabellenzeilen mit neuen Werten Die SET Klausel gibt an welche Spalten ge ndert werden sollen und welche Werte ihnen zugewiesen werden Die WHERE Klausel legt falls angegeben fest welche Zeilen aktualisiert werden sollen Ansonsten werden alle Zeile aktualisiert SR WTL na pe HTBL Hollabrunn Sebastian GlaBner Seite 6 26 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Tabelle auslesen SELECT select_ausdruck FROM tabellenreferenz _ WHERE where_definition GROUP BY spalten_name ASC DESC HAVING where_definition ORDER BY spalten_name ASC DESC LIMIT zei len SELECT wird benutzt um ausgewahlte Zeilen aus einer oder mehreren Tabellen abzurufen select_ausdruck gibt die Spalten an die Sie abrufen wollen GROUP BY dient zum Gruppieren von Elementen Mit HAVING k nnen gruppierte Elemente zusatzlich aussortiert werden Mit LIMIT kann die Auswahl auf eine angegebene Anzahl von Datensatzen reduziert werden Einem SELECT Ausdruck kann mit AS
57. Funktionen Konfigurationsdateien thumbs Verzeichnis f r Grafiken die f r die Oberfl chennavigation ben tigt werden Verzeichnisstruktur des Webprojektes CO e Mathias Wallner Haas Seite D 2 Inventarisierung mit RFID Installationsanleitung 04 05 2006 D 1 5 Datenbank Nun muss die Datenbank angelegt werden Im ersten Schritt muss hierzu der Webserver gestartet werden Dazu muss die Anwendung xampp_start exe im Verzeichnis lt nst Vz gt ausgef hrt werden Datenbankstruktur Um die Datenbankstruktur anzulegen muss zun chst die Eingabeaufforderung ge ffnet werden Anschlie end m ssen folgende Kommandos eingegeben werden 1 In das Verzeichnis lt Inst Vz gt mysq1 bin wechseln Beispiel gt C gt cd apachefriends xampp mysql bin 2 Als root in die MySQL Konsole einloggen Dazu muss im og Verzeichnis folgender Befehl ausgef hrt werden mysql u root 3 Datenbank und Datenbankstruktur anlegen Mit dem Folgenden Kommando wird eine Backup Datei der leeren Datenbank mit der ben tigten Struktur wiederhergestellt lt Inst Vz gt htdocs backup PCINVENTAR_LEER bak Zus tzlich wird auch ein Benutzer zum sp teren Navigieren auf der Weboberfl che angelegt Nick admin Passwort admin Datenbankbenutzer erzeugen 1 Webserver muss gestartet sein 2 mit Webbrowser auf http localhost phomyadmin zugreifen und folgende Schritte durchf hren Zun chst sollte die Sprache auf Deutsc
58. Hersteller Gibt den Hersteller des RFID Mikrochips an Tabelle 6 4 RFID Mikrochiphersteller mit ISO15693 UID Nummer Uns wurden uns Tags von Texas Instruments mit Texas Instruments Chip und von SmartTEC mit Philips Chip zu Verf gung gestellt e Seriennummer 6 Bytes die vom Hersteller gew hlt werden UU HTBL Hollabrunn Mathias Wallner Haas Seite 6 7 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 AFI Application Family ID 1 Byte Die Application Family ID gibt an f r welchen Zweck der Transponder genutzt wird Sie kann also frei vom Benutzer gewahlt und verandert werden Tabelle 6 5 AFl Bedeutung AFI AFI Most Least Meaning Significant Significant LRI64 Devices respond from Nibble Nibble 0 0 Memesan eegene x 0 epps wee appieatve preseeoion y Only the Yth sub family of family X erences E Cos fue CCS 0 y Data Storage Portable Files a oy Beers ey fasws O o r le F r die HTL PC Inventarisierung haben wir 90yex also Item Management gew hlt DSFID Data Storage Format ID 1 Byte Die DSFID gibt an in welchem Format die Daten auf dem Transpoder gespeichert sind Dieses Byte kann ebenfalls vom Anwender bestimmt und ver ndert werden Wir w hlten willk rlich 91 yex f r PC Inventarisierungsdaten Examples Note 6 1 10 weiterer Speicherbereich Ver nderbarkeit typisch 128 bis 256 Bytes Zus tzlich zu den bereits genannt Date
59. I Thema Inventarisierung mit RFID Aufgabenstellung Erg nzende Ausf hrungen siehe Beilage Kurzfassung Kandidaten Kandidatinnen Glassner Sebastian Wallner Haas Mathias Betreuer Betreuerin DI Franz Geischlager Externe Kooperationspartner Firma Institution Betreuer Kontaktperson Schriftliche Kooperationsvereinbarung liegt vor Budget 500 00 Bedeckung durch HTBL Hollabrunn Geplante Verwertung der Ergebnisse Laborinventarisierung Erkl rung Die unterfertigten Kandidaten Kandidatinnen haben gem 34 3 SchUG in Verbindung mit 22 1 Zi 3 lit b der Verordnung ber die abschlie enden Pr fungen in den berufsbildenden mittleren und h heren Schulen BGBI II Nr 70 vom 24 02 2000 Pr fungsordnung BMHS die Ausarbeitung einer Diplomarbeit mit der umseitig angef hrten Aufgabenstellung gew hlt Die Kandidaten Kandidatinnen nehmen zur Kenntnis dass die Diplomarbeit in eigenst ndiger Weise und au erhalb des Unterrichtes zu bearbeiten und anzufertigen ist wobei Ergebnisse des Unterrichtes mit einbezogen werden k nnen Die Abgabe der vollst ndigen Diplomarbeit hat bis sp testens 05 05 2006 17 00 00 beim zust ndigen Betreuer zu erfolgen Die Kandidaten Kandidatinnen nehmen weiters zur Kenntnis dass gem 9 6 der Pr fungsordnung BMHS nur der Schulleiter bis sp testens Ende des vorletzten Semesters den Abbruch einer Diplomarbeit
60. IMARY KEY roomid i ENGINE MyISAM DEFAULT CHARSET latinl COLLATE latinl_general_c1 Tabellenstruktur f r Tabelle main CREATE TABLE main inventarnr int 11 NOT NULL auto_increment rfid varchar 100 NOT NULL default pcname varchar 30 NOT NULL default location int 11 NOT NULL default 0 cpu varchar 30 default NULL ram varchar 30 default NULL nic varchar 30 default NULL grafik varchar 30 default NULL mac varchar 30 default NULL comment text aufnahmedatum timestamp NOT NULL default CURRENT_TIMESTAMP PRIMARY KEY C inventarnr UNIQUE KEY rfid rfid ENGINE MyISAM DEFAULT CHARSET latinl COLLATE latinl_general_ci Tabellenstruktur f r Tabelle rfidsearch CREATE TABLE rfidsearch sid int 11 NOT NULL auto_increment sstatus varchar 20 NOT NULL default sip varchar 20 NOT NULL default srfid varchar 100 NOT NULL default sname varchar 30 default NULL slocation varchar 30 default NULL spulk int 11 NOT NULL default 0 sdate timestamp NULL default CURRENT_TIMESTAMP PRIMARY KEY sid l l l ENGINE MyISAM DEFAULT CHARSET latin1 COLLATE latinl_general_ci Tabellenstruktur f r Tabelle service CREATE TABLE service servicenr int 11 NOT NULL auto_increment
61. IV GEET Inventarisierung mit RFID Einleitung 04 05 2006 1 Einleitung 1 1 Motivation Die Verwendung RFID Technologie gewinnt durch die steigende Nachfrage nach den unterschiedlichen Einsatzgebieten von Logistik Systemen bis hin zu kontaktlosen Kassensystemen immer mehr an Bedeutung RFID vereint Elemente aus den verschiedensten Branchen Dazu geh ren zum Beispiel HF Technik und EMV Halbleitertechnik Datenschutz und Kryptographie Telekommunikation Fertigungstechnik und viele verwandte Fachgebiete Dar ber hinaus wird ein System zur Verwaltung der anfallenden Daten ben tigt Abhilfe schafft nur eine computerunterst tzte Datenbank die es erm glicht gro e Datenmengen in gew nschter Strukturierung zu speichern und administrierbar zu machen SR Wil Seu Gap HTBL Hollabrunn Sebastian GlaBner Seite 1 1 Inventarisierung mit RFID Lastenheft 04 05 2006 2 _ Lastenheft Es ist ein System zu Inventarisierung der PCs an der HTL Hollabrunn mit Hilfe von RFID Technologie zu entwerfen Durch das Auslesen von Transpondern soll es erm glicht werden die in einer Datenbank abgelegten Rechnerinformationen mit den Schulrechnern zu verkn pfen Servicet tigkeiten an den Rechnern sollen ber ein zentrales System nachvollziehbar festgehalten werden Das System soll auf zwei unabh ngigen Anwendungen basieren Der erste Teil soll zum Bearbeiten der Transponder und zum Ansteuern der Hardware dienen w hrend der zweite Teil die V
62. In the combination you must combine any sections Entitled History in the various original documents forming one section Entitled History likewise combine any sections Entitled Acknowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 6 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 7 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are no
63. Iw el not nu ze iT Kommentare MIME Typ Dar stellungsumwandlung Umwandlungsoptionen opo o all Wi opo o x ad anf e 7 7 Abbildung 8 8 phpMyAdmin Tabellenstruktur Erkl rungen zu Abbildung 8 8 Feld Name der Spalte keine Umlaute Leerzeichen Typ Auswahl des Datentyps der Spalte Hier die wichtigsten Datentypen e INT Deklariert eine Ganzzahl e VARCHAR Deklariert Zeichenfolgen mit variabler Zeichenanzahl max 256 Zeichen pro Spaltenelement e TEXT Deklariert eine Text Spalte mit einer maximalen L nge von 65535 Zeichen pro Spaltenelement e TIMESTAMP Deklariert einen Zeitstempel Eine TIMESTAMP Spalte ist n tzlich um Datum und Zeit einer INSERT oder UPDATE Operation zu speichern weil sie automatisch auf das Datum und die Zeit der j ngsten Operation gesetzt wird wenn man nicht selbst einen Wert zuweist L nge Wird bei unserer Anwendung nur f r VARCHAR Werte gebraucht um die maximale Zeichenanzahl anzugeben Kollation Zeichensatz Null Hier kann festgelegt werden ob einer Spalte bei jedem Eintrag ein Wert zugewiesen werden muss NOT NULL oder nicht NULL NULL bedeutet das ein Feld leer ist Standard Festlegung eines Standardwertes f r eine Spalte Dieser Wert wird bei jedem neuen Datensatz in der entsprechenden Spalte gespeichert sofern kein anderer Wert in der INSERT Anweisung angegeben wird Extra INT Werten kann hier die Eigenschaft auto_increment zugewiesen werden Das hei t
64. Je 39 Ze 87005 TX Inventarisierung mit RFID Sebastian Gla ner 2005 2006 w SE Abbildung 8 28 PC Verwaltung Master User In Abbildung 8 28 Markierung 1 ist die Schaltfl che hinzuf gen zu erkennen Diese Funktion erm glicht es neue Rechner in die Datenbank aufzunehmen Abbildung 8 29 zeigt das Formular mit den m glichen Eingaben Die mit markierten Felder sind f r einen neuen Eintrag gefordert Das Drop Down Men des Feldes PC Raum listet alle in der Tabelle locations vorhandenen R ume auf ber den Link R ume verwalten Abbildung 8 29 Markierung 1 wird das Skript raumverwaltung php aufgerufen In der Raumverwaltung k nnen neue PC R ume hinzugef gt werden bzw vorhandene PC R ume entfernt werden Es k nnen jedoch nur jene R ume aus der Datenbank Tabelle locations gel scht werden denen keine Rechner zugewiesen sind Um sie trotzdem l schen zu k nnen m ssen alle Rechner aus der Tabelle main entfernt werden die sich auf den gew nschten Computer Raum beziehen SR WTL Roder ee HTBL Hollabrunn Sebastian GlaBner Seite 8 26 Inventarisierung mit RFID Webanwendung 04 05 2006 Abbildung 8 30 Raumverwaltung Eingaben ubernehmen bbildu ng 8 29 Rechner hinzuf gen In Abbildung 8 28 Markierung 2 sind die Aktionsbuttons vergr ert dargestellt Mit wird die Detailansicht des Rechners ge ffnet Sie zeigt zus tzlich zu den Angaben in der Tabel
65. Nachteil bei Umstellungen nicht mehr nderbar Einsatzgebiete z B Warenmanagement Artikelbeschreibung und Preis kann somit vom Handel gespeichert und nicht vom K ufer manipuliert werden wird mit dem gleichen Prinzip auch bei Zutrittskontrollen verwendet Skipass Read Write Transponder Das Tag erlaubt mehrmaliges Lesen und Beschreiben des Speichers Vorteile Speicherinhalt beliebig ver nderbar kann aber auch schreibgesch tzt werden gt WORM Nachteile teurer in der Herstellung auch Unbefugte k nnten auf ungesch tzte Tags schreiben Einsatzgebiete bargeldiose Bezahlung Zutrittskontrolle z B Therme Inventarisierung mit Speicherung von sich ndernden Zusatzangaben Reparaturen 6 1 11 Transponderzust nde Ein Transponder kann mit bestimmten Befehlen in verschiedene Modi versetzt werden 1 Silent Der Transponder reagiert auf keine allgemeine Anfrage mehr Er muss mit seiner UID angesprochen werden 2 Selected Der Transponder reagiert nur auf Befehle die das selected Flag gesetzt haben 3 Normal Der Transponder reagiert auf alle Befehle bei denen das selected Flag nicht gesetzt ist 6 2 XML eXtensible Markup Language Die Extensible Markup Language engl f r erweiterbare Auszeichnungs Sprache ist ein Standard zur Erstellung maschinen und menschenlesbarer Dokumente in Form einer Baumstruktur der vom World Wide Web Consortium W3C definiert wird XML definiert dabei die Regeln f r den Aufbau
66. ON userid res mysql_query sql if res row mysql_fetch_array res return Rechte row rechte else content_var sql_error sql db elsef return Rechte 0 XXXx_image e Diese Funktion bindet ein Bild mit dem Namen xxxx ein e Sie wird f r alle Navigationssymbole verwendet function xxxx_image return lt img class thumb src domain thumbs xxxx gif title Andern alt andern gt datfor e formatiert einen MySQL Standard Datumsstring wie z B 2006 03 09 in die Form 09 03 2006 um e verwendet f r die formatierte Ausgabe eines Datums function datfor dat str explode dat datestr explode str 0 timestr str 1 datefor datestr 2 datestr 1 datestr 0 timestr return datefor 8 4 5 menue php In menue php wird das Navigationsmen in die Variable menue_var geschrieben die sp ter in index php ausgegeben wird Daf r werden 2 Dimensionale 2D Arrays verwendet Dem Gast registrierten User Master User und Administrator werden je ein 2D Array zugewiesen Dieses ist z B beim Gast wie folgt aufgebaut guest Array Array C Startseite main Array PC Inventar g_inventar Array Services g_service Array C RFID Suche rfid J3 Ein 2D Array kann wie eine Tabelle mit zwei Spalten angesehen werden Also guest D SPALTE1 SPALTE2 PC Inventar RFID Suche SPALTE1 ist der Titel des Men
67. PDF designed for human modification Examples of transparent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknowledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclaimers are considered to be included by refere
68. TML allein kann mit Formularen nicht besonders viel anfangen jedoch in Verbindung mit PHP sind diese eine m chtige und sehr wichtige Erweiterung Formulare k nnen sehr unterschiedliche Aufgaben haben So werden sie zum Beispiel eingesetzt e um bestimmte gleichartig strukturierte Ausk nfte von Anwendern einzuholen e um Anwendern das Suchen in Datenbest nden zu erm glichen e um Anwendern die M glichkeit zu geben selbst Daten f r einen Datenbestand beizusteuern e um dem Anwender die M glichkeit individueller Interaktion zu bieten etwa um aus einer Produktpalette etwas Bestimmtes zu bestellen Definition eines Formular Bereiches HTML Code lt form name Formular action test php action send method post gt Formularfeld lt br gt lt input type text name name size 30 maxlength 30 gt lt input type submit value Formular absenden gt lt form gt Interpretierter HTML Code Forrmularteld Formular absenden SR WTL a maleate leat HTBL Hollabrunn Sebastian GlaBner Seite 6 15 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Durch den Button type submit wird das Formular abgeschickt Zun chst wird die Datei test php aufgerufen weiters wird die URL durch eine GET Variable action erweitert Die Ubertragungsart ist POST somit sind die vom Benutzer eingegebenen Daten nicht sichtbar 6 4 7 Allgemeine Block Elemente Mehrere Elemente wie Text Grafiken Tabellen usw k nnen in einem ge
69. User mit Administrator ETT Rechten erstellt werden Rechte Registrierter User v nderungen speichern Abbildung 8 38 Benutzer editieren el Wil ee HTBL Hollabrunn Das Feld UserlD kann nicht bearbeitet werden Sebastian GlaBner Seite 8 31 Inventarisierung mit RFID Webanwendung 04 05 2006 8 9 8 Backup admin_backup php Die Backup Funktion ist notwendig um Sicherungen der Datenbank zu erstellen Backup Dateien werden im Verzeichnis htdocs backup gespeichert Uber die Schaltfl che Backup erstellen Abbildung 8 39 Markierung 1 wird die Sicherung der Datenbank vorgenommen Dazu wird vom Skript ein Kommandozeilenbefehl auf dem Server ausgef hrt Der mit shell_exec ausgef hrte Befehl wird vom MySQL DBS zur Verf gung gestellt lt Instal lationsverzeichnis gt mysql bin mysqldump user Sebastian psebastian database pcinventar gt lt Installationsverzeichnis gt htdocs backup lt dateiname gt Als Dateiname wird mit der Funktion time und der Endung bak festgelegt time liefert einen UNIX Timestamp zur ck welcher einen eindeutigen Dateinamen garantiert Das Skript bietet dar ber hinaus die Option Backup Dateien wiederherzustellen In Markierung 2 werden alle Inhalte des Verzeichnisses htdocs backup aufgelistet Durch Anklicken des gew nschten verlinkten Backup Files wird die Datenbank Wiederherstellung durch das Kommando lt Instal lationsverzeichnis gt mysql bin mysqldump user Sebastian
70. a NEEN NEEeN 8 3 8 1 6 PHPMYAdMINE EE 8 3 8 2 Datenbankmogelllerung nase an a reelle 8 6 8 2 1 Allgemeine EE 8 6 822 ER Moeller eat eine G 8 6 8 2 3 TaBellensiruktur EE 8 7 8 3 enen 8 10 8 3 1 AIGEMEINES eu ee eier 8 10 Ose Screenshotder Oberflache esie EA EE ee ege 8 10 8 3 3 Seitenaufbau Dial gstruktur un ieeeten a a 8 11 8 3 4 Ordner Verzeiehnisstr ktur scnsee ee eege E 8 13 BA GRUNOSVSICIN EE 8 14 8 4 1 PANS NGM EE 8 14 8 4 2 JALE LES ie Il DEEN 8 14 GAS 019 a1 0 3 6 1 EE 8 15 O44 functions OND DEE 8 15 8 4 5 Menue DiD E 8 16 8 4 6 dun Bee Be le TE 8 17 8 5 BENUIZERV d e E 8 18 8 5 1 AlGEMEEN KEEN 8 18 8 5 2 eelef el EE 8 18 8 9 3 eieiei 118 8181 BE ee een en er ee 8 19 E EK 7 16 111 16E 1 nloDi DND 1 WRANRERARRLHERN ERRUMENHBER LERNTE FENERGEBERUNBECHERN ER VRURUTEREPEAEERRSNERENDEEERERUENERRETERIERERLSER 8 19 8 8 GASTU SOR are een ren 8 20 8 6 1 Ale Ei TE Ense ee es en ee eat 8 20 8 62 slartseile ait DD ae aaa 8 20 8 6 3 PC Inventar 09 Imventar pp 8 20 8 6 4 SERVICES 9 Service LEE 8 22 8 6 5 RFID Suche e e Bel le EE 8 22 8 7 Registrierter User nen ae Ne a a e ea aA 8 24 8 7 1 AlGEMEEN WEE 8 24 872 lansete an TT Elle EE 8 24 8 7 3 PC Inventar InVEntar LEE 8 24 8 7 4 Mein Account faccount php anne ea ea 8 25 8 7 5 RFID Suche de e Bei e ER 8 25 8 85 Ma Stor RE 8 26 8 8 1 Allgeme iasa T E A Rec 8 26 8 82 GESEIS DMD rue eege Ee 8 26 8 8 3 PC Verwaltung M_verwaltUng pp 8 26
71. abgebrochen Zb HF ASIC CID Low Power 41 Farameterfehler Tr 144436 HLTB Fehler 42 Kollision erkannt oF 144438 ungultiger Block Typ 43 Apollo Lebenskreis J6 HF ASIC Not IBLOCK A4 Apollo Daten falsch Ir el MTL HTBL Hollabrunn Mathias Wallner Haas Seite 7 3 GEET Inventarisierung mit RFID Transportschicht 04 05 2006 Link Layer SOF Start Of Frame Der Befehls bzw Antwortstring frame beginnt immer mit Olyex als erstes Byte Lange LSB MSB Geben die Anzahl der zu bertragenden Bytes an Framegr e z B 1xSOF 2xL nge 1xDevicelD 2xCmd OxDaten 2xLRC das Frame ist 8 Bytes gro das ist die Mindesgr e eines Frames gt Lange MSB 004ex LSB 08neEx LRC1 LRC2 Longitudinal Redundancy Check L ngssummenpr fung Die L ngssummenpr fung wird durch XOR Verkn pfung der Bytes einer Bytefolge berechnet wobei das Ergebnis der vorangegangenen Verkn pfung mit dem jeweils folgenden Byte verkn pft wird Da die Methode nicht sehr fehlersicher aber sehr schnell ist kommt sie normalerweise nur bei kleinen Datenbl cken ca 32 Byte zum Einsatz Viele h ufige Fehlerformen werden nicht erkannt Vertauschungen innerhalb eines Datenblockes k nnen ebenso wenig bemerkt werden wie sich gegenseitig aufhebende Mehrfachfehler Durchschnittlich ist eine Anfrage an den Reader ca 16 Byte lang Eine Antwort hat jedoch manchmal eigentlich nur beim Auslesen des Speichers die L nge von 255 Byte sonst aber um die 12 Byte Da bei ein
72. admin Netzteil ausgetauscht Al Inventarisierung mit RFID Sebastian Gla ner 2005 2006 Abbildung 8 10 Oberflache EL WTL Roden Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 10 Inventarisierung mit RFID Webanwendung 04 05 2006 8 3 3 Seitenaufbau Dialogstruktur ab deaktivierter ab aktivierter ab Gast registrierter User registrierter User ab Master User e KH e e eee I ee e e a dem Recht des nur Gast ke a 4 Benutzers e Administrator e Es e ae e eo e e e oe e e e e e enlsptechend Abbildung 8 11 Seitenaufbau Legende A Logout PC Ausgabe z Detail Login ansicht Service ansicht neues Service f Formular gt S Service ansicht Su Detail loschen bestatigen editieren ansicht Such suchen formular Detail Formular 3 ansicht hinzuf gen Services anzeigen Ausgabe formatieren Service ansicht l schen SF Detail bestatigen ansicht Formular Ueta i ansicht editieren Such suchen formular Mein gt Daten gt _ Account _ andern _ Fortsetzung auf folgender Seite gt e HTBL Hollabrunn Sebastian GlaBner Seite 8 11 Inventarisierung mit RFID Webanwendung 04 05 2006 RFID erneut Suche Ergebnis suchen Tag nicht in Rechner Datenbank hinzufugen Tag in PC Datenbank Verwaltung kein eee eee eee Benutzer verwaltung Detail ansicht ss
73. ald Stoll f r seine Bem hungen um eine Projekt Zusammenarbeit mit der Telekom Austria Weiters m chten wir uns bei den TA Mitarbeitern Ing Rainer Graf Markus Grasel Dipl Ing Harald Mairb ck Dipl Ing Thomas Lehner und Roland Neustetter f r ihre investierte Zeit bedanken sowie bei Dipl Ing Andreas Martin Mitarbeiter des Infineon RFID Solutions Center in Graz f r eine sehr interessante F hrung durch die Entwicklungsabteilung des Solutions Center Schlie lich m chten wir uns noch bei unseren Kollegen Andreas Hagmann und Markus Popp f r zahlreiche Hilfestellungen und Verbesserungsvorschl ge bedanken GNU FREE DOCUMENTATION LICENSE Copyright c 2005 2006 Sebastian GlaBner Mathias Wallner Haas Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License Herausgeber und Autoren dieses Dokuments sind Sebastian GlaBner lt sebastian glassner gmx at gt Mathias Wallner Haas lt walIner haas al net gt http rfid 5bheli at HOHERE TECHNISCHE BUNDESLEHRANSTALT HOLLABRUNN Abteilung H here Lehranstalt f r Elektronik Ausbildungsschwerpunkt Technische Informatik DIPLOMARBEIT Reife und Diplompr fung 2005 06 5BHEL
74. alten hatten musste eine sinnvolle Belegung des internen Transponderspeichers gew hlt werden Es wurde festgelegt dass folgende Daten auf dem Transponder gespeichert werden m ssen Speicherbelegung des Transponders 16 Bytes Erstellungsdatum uhrzeit 16 Bytes Datum Uhrzeit der letzen Anderung 16 Bytes Inventarnummer 16 Bytes Standort des Rechners Restlicher Speicher 192 Bytes bei Texas Instruments und 48 Bytes bei SmartTEC Transpondern beliebige Zusatzinformationen gt blicherweise Ausstattung des PCs und durchgef hrte Services Alle Daten werden als ASCll Strings abgespeichert da wir das einfache Auslesen der Informationen mit den meisten RFID Leseger t Programmen gew hrleisten wollten Somit belegt ein ASCII Zeichen genau ein Byte SH HTL Sebastian GlaBner ES pe HTBL Hollabrunn Mathias Walin r Haas Seite 5 3 Inventarisierung mit RFID Realisierung 04 05 2006 Zusatzlich werden auf den Transpondern die fur die PC Inventarisierung eingesetzt werden die AFI Application Family ID auf 90 ex Item Management und die DSFID Data Storage Format ID auf 91Hex willk rlich f r die PC Inventarisierung gew hlt gesetzt Anhand dieser Daten erkennt die Transportschicht ob es sich um einen HTL PC Inventarisierungstransponder handelt 5 4 Transportschicht Die Transportschicht wurde in der ANSI C Entwicklungsumgebung National Instruments Labwindows CVI 8 0 als Demoversion auf der Projekt CD programmiert Zur e
75. ansponders schreiben Leider hat dieser Befehl bei keinem unserer Transponder funktioniert weshalb wir die Bl cke zum Schreiben immer einzeln bertragen m ssen Wir stellten fest dass andere Programme deshalb dieselbe Vorgehensweise nutzten Dies konnten wir anhand von RS323 Mitschnittprogrammen z B Serial Monitor feststellen AFI DSFID schreiben Write AFI Request GC Write DSFID Request 6E 16 Mit diesen Befehlen kann man die AFI Application Family ID oder die DSFID Data Storage Format ID auf ein Tag schreiben Bleistift Symbol im Tagdetail Panel AFI DSFID schreiben Lock AFI Request 6D Lock DSFID Request 6F 6 Mit diesen Befehlen kann man die AFI Application Family ID oder die DSFID Data Storage Format ID auf ein Tag schreibensch tzen Schlo Symbol im Tagdetail Panel Transponderinformationen Get System Information 70 6 Mit diesen Befehlen kann man diverse Informationen Uber einen Transponder abfragen Folgende Informationen kann man mit diesem Befehl erhalten Info Flags 1Byte Gibt an welche Informationen der Transponder geben kann DSFID AFI Speichergr e Herstellerinfo UID 8Bytes Die einigartige Seriennummer des Transponders DSFID 1 Byte Data Storage Format ID Gibt an in welchem Format die Daten gespeichert wurden AFI 1 Byte Application Family ID Gibt an f r welchen Anwendungszweck der Transponder verwendet wird Speichergr e 2 Bytes Gibt die Gr e des e
76. athias Wallner Haas Seite 6 1 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 3 Typischer Abfragevorgang Die Readeransteuerungs Software sendet ber die RS232 Schnittstelle des Rechners einen Befehl an das Leseger t Das Leseger t f hrt den Befehl nach erfolgreicher Fehlerpr fung aus Betrifft der Befehl einen RFID Transponder so wird die Antenne des Leseger ts je nach Einstellung angesteuert um die Befehle an den Transponder weiterzugeben Der Prozessor des Transponders f hrt die erhaltenen Befehle aus und gibt je nach Befehl die entsprechende Antwort an das Leseger t zur ck Das Leseger t schickt die Antwort der Transponders an den PC weiter Die Readeransteuerungs Software kontrolliert den Antwortstring auf Fehler und gibt das Ergebnis aus 6 1 4 Frequenzbereiche Tabelle 6 1 RFID Frequenzbereiche Ultrahoch frequenz Parameter Hochfrequenz Mikrowelle Niedrig frequenz Frequenz 125 134 kHz 13 56 MHz 868 bzw 915 MHz 2 45 bzw 5 8 GHz bis 1 2 m bis 1 2 m bis 4 m bis zu 15 m in Einzelfallen bis zu langsam je nach ISO schnell Standard 1 km kein Einfluss kein Einfluss negativer Einfluss negativer Einfluss negativer Einfluss a ae 11784 85 und 14443 15693 und 14443 15693 und 18000 18000 18000 Leseabstand sehr schnell aktive Transponder Lesegeschwin digkeit Feuchtigkeit negativer Einfluss Metall kein Einfluss kein Einfluss teilweise nicht EU Wel
77. au REENEN 6 6 Abbildung 6 5 Autbau Ger 15015693 U Diane in Noimanswabieereemdects 6 7 Abbilduing 6 6 Struktur eies EE 6 24 Abbildung 6 7 Ebenen eines ER 6 24 ABDIIGUNG REKT E It EE 6 25 7 Transportschicht Abbildung fe TFANSDOMS CHIC ee a aa 7 1 Abbildung 7 2 Aufbau des MFR Befehls bzw Antwortstrmges nen 7 2 Abbildung 7 3 Ablaufdiagramm Kommunikation mit dem Header 7 5 Abbildung 7 4 neuen Befehl emprogrammieren anne 7 7 ADDIIUNG o AUDIO DEMIAC INS EE 7 9 Abbildung 7 6 PriortatStabelle EEN 7 12 Abbildung 7 7 10 MOGUIATIONS UCTS E 7 15 Abbildung 7 8 1 out of 4 encoding cccccccsessesseeeeeeeccseasseseeeecesseneasseeeececesscusseseesecesenegaseeeeeeeessogaes 7 15 Abbildung 7 9 gefundene RFID Transponder cccccsssssssseeecccsenesseeecceccsseasseeeeeecsseaeauseeeeeeeessquaes 7 16 Abbildung 7 10 Einstellungspanel EE 7 17 Abbildung 7 11 Tagdetail Blockansicht Links als ASCIl Zeichen Rechts als HEX Werte 7 18 Abbildung 7 12 Block editierbar Abbildung 7 13 Block schreibgesch tzt A 7 19 Abbildung 7 14 T agdetail ASCI Text EEN 7 20 Abbildung 7 15 Tagdetail PDC Imventartsierung Ansicht 7 21 Abbildung 7 16 Erfolgreicher Gchrebwvorgang 7 22 Al ale lee Lef A KEE 7 22 EL Wik HTBL Hollabrunn Sebastian GlaBner Seite A 1 GEET Inventarisierung mit RFID Abbildungsverzeichnis 04 05 2006 8 Webanwendung Abbildung 8 1 Auszuf hrende Date REENEN 8 1 Abbildung 8 2 XAMPP Verzeichnisstruktur 0 cc
78. be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public that is suitable for revising the document straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or
79. ble sip muss die IP Adresse des Servers zugewiesen werden Dazu dass Skript ffnen und in Zeile 16 zwischen die beiden Anf hrungszeichen die IP eintragen Beispiel Zeile 16 sip 172 31 11 21 admin_backup php Verzeichnis lt Inst Vz gt htdocs content admin_backup php Hier muss der Installationspfad zu den beiden Dateien mysgl exe und mysgldump exe angepasst werden Achtung ALLE Backslashs m ssen doppelt ausgef hrt werden Zeile 50 command lt Inst Vz gt mysq1 bin mysqldump u user puser pcinventar gt pfad Zeile 66 command lt Inst Vz gt mysql bin mysql u user puser pcinventar lt pfad TagDataMsg wsdl Verzeichnis lt Inst Vz gt htdocs soap TagDataMsg wsdl Die angegebenen IP Adressen m ssen mit der des Servers bereinstimmen Beispiel Zeile 2 xmIns tns http 172 31 11 21 TagDataMsg wsdl Zeile 3 targetNamespace http 172 31 11 21 TagDataMsg wsdl Zeile 46 lt soap address location http 172 31 11 21 soap SoapServer php gt D 1 7 Webanwendung starten Um auf die Webanwendung zugreifen zu k nnen muss nun am Server in einem Browser http localhost aufgerufen werden Greift man darauf von einem Client zu muss http lt ServerlP gt aufgrufen werden Zur Verwaltung der Weboberfl che steht ein Administratoraccout Nick admin Passwort admin zur Verf gung COOC ER E Mathias Wallner Haas Seite D 6 Inventarisierung mit RFID Installationsanleitung 04 05 2006 D
80. cading Style Sheets findet man unter http de selfhtml org css index htm 6 5 2 CSS Format Definition In einem Stylesheet wird einer vordefinierten HTML Klasse eine bestimmte Formatierung zugewiesen font family Arial font size 12px p steht f r die Klasse und in den geschwungenen Klammern stehen die CSS Eigenschaften mit den dazugeh rigen Werten die der Klasse zugewiesen werden Es gibt sehr viele vordefinierte Klassen in CSS hier einige Beispiele body In dieser Klasse stehen alle Definitionen die das den K rper des HTML Dokuments betreffen Hintergrundfarbe Textfarbe Schriftgr e a Diese Klasse dient der Formatierung von Hyperlinks In diesem Fall gibt es noch weitere Pseudoklassen a link noch nicht verwendete Links a visited Besuchte Links a hover Verweise bei MouseOver a active aktive Links el Mu HTBL Hollabrunn Sebastian GlaBner Seite 6 16 PPE Tt Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 In CSS gibt es au erdem die M glichkeit eigene Klassen zu erstellen Dies geschieht in dem man vor der Klassenbezeichnung einen Punkt einf gt Mit der folgenden Klasse k nnen z B die Inhalte eines allgemeinen Block Elements rot fett gedruckt und mit der Schriftgr e 14 dargestellt werden Das Beispiel aus Kapitel 6 4 7 benutzt diese Klasse rot font size 14px color red font weight bold 6 5 3 Einbindung einer CSS Datei So bindet man ein Style Sheet in eine HTML Da
81. ccceeceeeeeeeeeeeeeeeaeeeeeeeeeeeeeeaaeeeeeeeeeeeaaaceeeeeeeesesaaneeeess 8 1 Abbildung 8 3 XAMPPStartseile EE 8 2 ADDild ngd 08 A PHP ABPITESTEN EE 8 3 Abbildung 8 5 SOAP Extension aktivieren cccccccccccccccssssssssesssseeeseeeeeeeeeeeeeeeeeeeeeeeaaaasaeeasseeeseseeeseeeees 8 3 Abbildung 8 6 phpMyAdmin Startseite 224uu0444444HHHnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnn 8 4 Abbildung 8 7 phpMyAdmin Tabelle anlegen nen 8 4 Abbildung 8 8 phpMyAdmin Tabellenstruktur AANEREN 8 5 Al alle leg Nee EE 8 6 ABDDIIGUING S10 Obenl ache EE 8 10 Abbildung 8 11 Seitenaufbau Legende REENEN 8 11 Abbildung 8 12 Seitenaufbau Dalogstrukiur AANEREN 8 12 Abbildung 8 13 WEE ler la TEE 8 13 ADDING Cel WISI GAS GE 8 17 ADDIAUNG S 19 AE Lee EEN 8 18 ABDIIGUNG S TO Leer EE 8 19 AbBilaund 8 17 Redgisitierungstormular EG 8 19 ADDIIGUNG 8 18 Stan Sl EE 8 20 AbDbDIIGUNG 8 19 RC e e 1 EEN 8 21 Abbildung 8 20 Serviceansicht EE 8 21 PODIAUING B21 SOR EE 8 22 Abbildung 8 22 Service Suchformular REENEN 8 22 Abbildung 8 23 Erfolgreiche RTE 8 23 Abbildung 8 24 elle E RE re 8 23 Abbildung 8 25 PC Inventar registrierter Uleer AA 8 24 Abbildung 8 26 neues EE 8 25 ADDIId ng S 27 MEI Bee EE 8 25 Abbildung 8 28 PC Verwaltung Master Ueer 8 26 Abbildung 8 29 Rechner MINZUIU GEN RE 8 27 Abbildung 8 30 Raumverwaltung nn 8 27 Abbildung 8 31 RE e EE 8 27 Abbileung 3 32 LOSCADESLANQUING EE 8 28 Abbildung 8 33 Se
82. chen Eintrag loschen Abbildung 7 10 Einstellungspanel Einstellungsm glichkeiten nur selektierte Tags Transponder k nnen mit dem Befehl Select Request noch nicht in der Transportschicht implementiert markiert werden Bei manchen Befehlen kann man bestimmen dass nur so markierte Transponder angesprochen werden Das Programm erkennt an diesem H kchen ob es auf markierte oder auf alle Transponder zugreifen soll Layer Weiterleitung Mit der Layer Weiterleitung kann man Befehle fix miteinander verkn pfen So k nnte man definieren dass auf ein Tag finden der Anwendungsebene ein Tag finden der speziellen Ebene folgt So hat man den Vorteil dass man alle Transponderarten findet Anwendungsebene und alle Transponder der gefundenen Transponderart spezielle Ebene z B 15015693 Die Weiterleitung wird im Unterprogramm nextcmd aufgerufen In diesem Programm wird auf den zuletzt ausgef hrten Befehl gepr ft also das Cmd1 der Antwort und anhand dessen entschieden welcher Befehl als n chster ausgef hrt werden soll SOAP Hier kann der Pfad zur WDSL Datei angegeben werden Pfad der WSDL Datei kann ein lokaler Pfad z B C WSDL Dateien test wsdl absolut oder test wsdl relativ in diesem Fall im Programmverzeichnis aber auch ein Pfad auf einem Server z B http 172 31 11 21 SOAP test wsdl sein Falls die WSDL Datei des Servers nicht geladen werden kann empfiehlt es sich die lokale Kopie zu
83. cherten Daten automatisch und schnell identifiziert werden k nnen In unserem Projekt k nnen wir die Schul PCs mit dieser Technik also drahtlos identifizieren In den folgenden Abschnitten wird auf diese Technik genauer eingegangen 6 1 1 Grundsystem Das RFID Grundsystem besteht im Wesentlichen aus dem Leseger t dem und der zugeh rigen Middleware z B PC mit Reader Ansteuerungssoftware die das System im gew nschten Bereich z B PC Inventarisierung integriert Antenne Transponder N Lesegerat Abbildung 6 1 RFID Grundsystem 6 1 2 Begriffsbeschreibung Leseger t auch RFID Reader genannt Das Leseger t erh lt einen Befehlsstring vom PC und f hrt den entsprechenden Befehl aus Der Befehl kann die Einstellungen des Readers ndern z B Modulationstiefe Wortbreite Baudrate usw und die Peripherie ansteuern GP LEDs Transponder usw Jedes Leseger t ist im Grunde auch f hig zu schreiben trotzdem wird es RFID Reader genannt Die Ansteuerung der Transponder erfolgt ber die Antenne die an das Leseger t angeschlossen ist ber diese Antenne wird ein elektromagnetisches Feld erzeugt welches die passiven Transponder mit Energie versorgt und die Anweisungen und Daten bertragen Transponder auch RFID Etikett Chip Tag Label oder Funketikett genannt Transmitter Responder Die Transponder sind die Datentr ger die kabellos ber die Antennen ausgelesen werden k nnen noeeoo HTBL Hollabrunn M
84. cho erfolgt die Ausgabe 6 6 3 Variablen Alle Variablen in PHP beginnen immer mit einem Dollarzeichen Als Bezeichnungen sind Buchstaben und Unterstriche m glich Die Lange der Bezeichnungen ist unbegrenzt Weiters wird zwischen Gro und Kleinschreibung unterschieden In PHP m ssen Variablen nicht deklariert werden denn sie werden automatisch bei ihrer ersten Verwendung deklariert Beispiele f r variable Variablen action search mein_name Sebastian Glassner wert 21 DI WIR HTBL Hollabrunn Sebastian GlaBner Seite 6 17 PPE Tt Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Globale Variablen Globale Variablen sind in allen Sichtbarkeitsbereichen eines Skripts verf gbar Sie sind gekennzeichnet durch die Zeichenfolge _ _SERVER Attribut Variablen die vom Webserver gesetzt werden oder anderweitig direkt mit der ausf hrenden Umgebung des aktuellen Skripts zusammenh ngen Attribute SERVER_NAME Der Name des Server Hosts unter dem das aktuelle Skript ausgef hrt wird DOCUMENT_ROOT Das Wurzelverzeichnis des Webservers HTTP_USER_AGENT String der den Typ und Namen des Browsers angibt der auf die Seite zugreift REMOTE_ADDR Die IP Adresse des Rechners der die aktuelle Seite angefordert hat _GET Variablen die dem Skript Uber HTTP GET geliefert werden _POST Variablen die dem Skript ber HTTP POST geliefert werden _SESSION Variablen die aktuell in d
85. cht und des Inlays und zur Befestigung des Transponders solange dieser nicht anderswo angeklebt wird Der Mikrocontroller und der Speicher des Transponders sind in diesem Chip integriert Der Chip ca 4mm gro ist direkt an der Antenne dem Inlay angeschlossen ber welche er mit Energie versorgt wird Befehle entgegennimmt und Daten zur cksendet Das Inlay ist eine Kupferschicht die als Antenne dient ber sie wird Energie aus dem elektromagnetischem Feld des Leseger tes gewonnen und Daten bertragen Die Etikettschicht ist eine Kunststoff bzw Papierschicht auf welcher sich das Folieninlay der Transponderchip und der Klebstoff befinden HTBL Hollabrunn Mathias Wallner Haas Seite 6 6 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 9 Standardspeicher Auf ISO 15693 Transpondern gibt es verschiedene Speicherbereiche UID Unique ID 8 Byte Die Unique ID wird vom Hersteller angegeben und ist die wichtigste Kennummer im RFID Bereich Die Nummer ist einzigartig und wird bei Tranpondersuchen zur ckgegeben ber diese Nummer kann der Transponder explizit angesprochen werden womit Antikollisionsverfahren m glich sind Die UID kann also nicht ge ndert werden El Organisation Hersteller Seriennummer Ell Abbildung 6 5 Aufbau der 15015693 UID e Organisation Gibt an welche Organisation die Transponder genehmigt hat o EOhex ISO IEC 7816 6 AM1 am h ufigsten verwendet O E2nuex EPCglobal e
86. das SOAP Server Skript sowie die benotigte WSDL Datei template Verzeichnis fur Eingebundene Dateien CSS Funktionen Konfigurationsdateien thumbs Verzeichnis fur Grafiken die fur die Oberflachennavigation benotigt werden Abbildung 8 13 Verzeichnisstruktur Zus tzlich befindet sich das Verzeichnis XAMPP im Root Ordner Es enth lt die Startseite von XAMPP Das Verzeichnis und die darin gespeicherte Oberflache von XAMPP wird nicht zwingend ben tigt kann jedoch hilfreich sein da sie Verweise zu diversen Manuals bzw Informationen ber den aktuellen Sicherheitsstatus der Entwicklungsumgebung zur Verf gung stellt SR WTL ten SE HTBL Hollabrunn Sebastian GlaBner Seite 8 13 Inventarisierung mit RFID Webanwendung 04 05 2006 8 4 Grundsystem 8 4 1 Allgemein Das ganze System wurde so geschrieben dass der erzeugte HTML Code alle Regeln des XHTML 1 0 Standards erf llt Dies beinhaltet auch die Formatierung mit Cascading Style Sheets CSS Auf den folgenden Seiten werden die Skripte des Grundsystems n her Beschrieben Zur Erkl rung werden jedoch nur Quellcode Ausschnitte verwendet Die Quellcodes der einzelnen Skripte befinden sich auf der Projekt CD 8 4 2 index php Das wichtigste Element des Grundsystems ist die Index Seite index php im Root Verzeichnis Je nach angeforderter Seite werden ein Template und der eigentliche Inhalt geladen Das hei t bei jedem Seitenaufruf wird zuerst die index p
87. datei Ausf hren von Scripts SOAP Kommunikation DSFID amp AFI sehen beschreiben und sperren bestimmte Bl cke schreiben Bl cke sperren Konfigurationsm glichkeiten Anzeige von gesperrten Bl cken EL Wil ne 7 UU HTBL Hollabrunn Mathias Wallner Haas Seite 7 26 Inventarisierung mit RFID Webanwendung 04 05 2006 8 Webanwendung 8 1 8 1 1 Allgemeines Lokale Entwicklungsumgebung XAMPP Wie bereits in Kapitel 5 erwahnt wurde als lokale Entwicklungsumgebung fur die Webanwendung die Software Distribution XAMPP verwendet Die genutzte Version XAMPP 1 4 14 fur Windows setzt sich aus mehreren Komponenten zusammen Folgende wurden verwendet e PHP 5 0 4 e Apache 2 0 54 Win32 e phpMyAdmin 2 6 2 pl1 e MySQL 4 1 12 nt 8 1 2 Die Installation gestaltet sich als sehr einfach Nach dem Download der XAMPP Version muss die exe Datei einfach ausgefuhrt werden Er di A egen E Installation xampp winse 1 4 14 i n staller exe Abbildung 8 1 Auszuf hrende Datei Bei der Installation legt XAMPP folgende Verzeichnisstruktur an G xampp Joe Datei Bearbeiten Ansicht Favoriten Extras zb Zur ck 7 pi Pa Suchen Ordner RRE x d Adresse F apachefriends xampp IM Wechseln zu Ordner x anonymous Flmysql_stop bat ei EEE el Oo apache php switch bat 3 Sie cgi bin a readme_de txt Ces EE Filezilla TP readme_en txt 8 D apache htdocs lsetup_xampp bat D E corbin
88. de L LRC shtml LRC Berechnung http www st com stonline books pdf docs 9716 pdf Transponder Datenblatt B 3 CDs Name Unbebt _ SSC Herausgeber TagTracker RFID Test Suite 2 1 Databrokers Texas Instruments Evaluation Kit Datenbl tter zur MFR Hardware Texas Instruments CD ca documentation Datenbl tter zur API SH UTL Sebastian Gla ner SE pe HTBL Hollabrunn Mathias Wallner Hase Seite B 1 Inventarisierung mit RFID Glossar C Glossar Apache AFI Button Client Datensatz DISPID DSFID HTML Tag Link Logdatei LRC EL Gil ERE HTBL Hollabrunn 04 05 2006 Der am meisten verbreitete Web Server hat heute ca zwei Drittel Marktanteil Apache wird von professionellen Site Betreibern bevorzugt weil sich das Produkt als stabil und effizient erwiesen hat und neue Versionen selten Sicherheitsprobleme haben Die Application Family ID gibt an fur welchen Verwendungszweck der Transponder gedacht ist siehe Theoretische Grundlagen gt auf Tag gespeicherte Daten Frei bersetzt w rde man von einem Absendeknopf sprechen Damit k nnen z B Formulare abgesendet werden Als Client englisch f r Klient Mandant wird ein Computerprogramm bezeichnet das die Ressource einer zentralen Station eines Servers nutzt Der Client muss dazu Kontakt zum Server aufbauen und kann dann dessen Angebot nutzen Die Kommunikation erfolgt im allgemeinen ber ein Rechnernetz Das hei t de
89. den Eintr ge in der Datenbank gefunden Neuen Rechner aufnehmen Inventarisierung mit RFID Sebastian Gla ner we EEE vs ESTETI 2005 2006 Abbildung 8 36 RFID Suche Master User 8 9 Administrator 8 9 1 Allgemein Um sich als Administrator auf der Oberflache zu bewegen ist wiederum ein Login notwendig Der Administrator besitzt alle Rechte eines Master Users Zusatzlich stehen ihm folgende Funktionen zur Verfugung Exportieren der Datenbank zur Sicherung Wiederherstellen der Datenbank Benutzerverwaltung Hinzufugen Entfernen Bearbeiten von Benutzern Aktivieren von registrierten Benutzern um ihnen das Erstellen von Services zu erm glichen 8 9 2 Startseite main php Siehe Kapitel 8 7 2 Registrierter User 8 9 3 PC Verwaltung m_verwaltung php Siehe Kapitel 8 8 3 Master User 8 9 4 Services m_service php Siehe Kapitel 8 8 4 Master User 8 9 5 Mein Account account php Siehe Kapitel 8 7 4 Registrierter User 8 9 6 RFID Suche rfid php Siehe Kapitel 8 8 6 Master User Bil ATL HTBL Hollabrunn Sebastian GlaBner GEET 04 05 2006 Seite 8 30 Inventarisierung mit RFID Webanwendung 04 05 2006 8 9 7 Benutzerverwaltung admin_benutzer php ber die Benutzerverwaltung hat ein Administrator die M glichkeit einzelne Benutzer in ihren Rechten einzuschr nken bzw diese zu erweitern PC Verwaltung RFID Suche Benutzerverwaltung Ben utze rverwa Itu ng Sie sind eingeloggt als admin
90. den kann m ssen die IP Adressen in der WSDL Datei geandert werden COM Port Der COM Port kann im RS232 Bereich eingestellt werden Ist der COM Port nicht bekannt so steht kann man den Autoset Button bet tigen Iiii SSES Mathias Wallner Haas Seite D 7 Inventarisierung mit RFID Installationsanleitung 04 05 2006 D 2 3 Deinstallation von RFID invent Installer ausf hren ProjektCD Transportschicht Installer RFID invent 1_0 Installer msi RFID invent Setup Auf den Button lt Weiter gt klicken 3 RFID invent Setup Auf das Symbol lt Entfernen gt klicken 4 RFID invent Setup Auf den Button lt Entfernen gt klicken 5 RFID invent Setup Auf den Button lt Fertigstellen gt klicken 6 Nach kurzer Zeit sollte ein Fenster mit der Frage ob das MS Soap Toolkit installiert werden soll erscheinen Hier auf lt Ja gt klicken 7 SOAP Toolkit Setup Auf den Button lt Next gt klicken 8 SOAP Toolkit Setup Auf das Symbol lt Remove gt klicken 9 SOAP Toolkit Setup Auf das Button lt Remove gt klicken 10 SOAP Toolkit Setup Auf den Button lt Finish gt klicken Zusammenfassung RFID invent 1_0 Installer msi ausf hren und den Anweisungen folgen oder mit Windows Start gt Einstellungen gt Systemsteuerung gt Software gt RFID invent gt entfernen D 2 4 Entwicklungsumgebung installieren Das Programm wurde mit der ANSI C Entwicklungsumgebung Labwindows CVI 8 0 realisiert Die Transportschicht greift au
91. e Daten auf das Tag schreiben Dabei schreibt es die Ersterstellungszeit und die Zeit der letzten Anderung ebenfalls auf den Transponder Die AFI und die DSFID werden auf die richtigen Werte gesetzt und beim n chsten Auslesen sind die Felder ausgef llt Schreibt man nun nochmals auf den Transponder so wird nur die Zeit und das Datum der letzten Anderung ge ndert die Zeit und das Datum der Erstellung bleiben erhalten Durch den Button lt Inventarisierungsdaten schreiben gt werden die Daten auf den Transponder geschrieben Es ffnet sich ein kleines Statuspanel durch welches man erkennen kann wie viele Bl cke insgesamt geschrieben werden m ssen und wie weit der Schreibvorgang des Teilbereichs fortgeschritten ist Nach beendetem Schreibvorgang wird eine Zusammenfassung angezeigt Man kann daraus herauslesen welche Bl cke erfolgreich und welche ohne Erfolg beschrieben wurden HTBL Hollabrunn Mathias Wallner Haas Seite 7 21 Inventarisierung mit RFID Transportschicht 04 05 2006 Schreibstatus Ergebnis des Schreibvorgangs Block 004 bis Block 009 worden fehlerfrei beschrieben Block 012 bis Block 014 wurden fehlerfrei beschrieben Block 016 bis Block 032 worden fehlerfrei beschrieben Abbildung 7 16 Erfolgreicher Schreibvorgang In der PC Inventarisierung Ansicht ist auch der Button f r die manuelle bertragung der Daten an den Datenbankserver vorhanden lt ber SOAP senden gt Daraufhin ffnet sich ein Fenster mit den SOAP
92. e Grundlagen erkl rt Das Skript wird bei der Anfrage eines Clients ausgef hrt Die Struktur der Anfrage muss der WSDL Definition entsprechen Bei einem korrekten Kommunikationsaufbau werden die bermittelten Transponder Daten in der Tabelle rfidsearch abgelegt Es werden folgende Daten ber SOAP bertragen e Unique ID e Inventarnummer des Rechners e Standort des Rechners e Anzahl der gelesenen Transponder f r zuk nftige Mehrfachabfrage Anwendungen Als Antwort erh lt der Client den String Ihre Daten wurden erfolgreich an den Server weitergeleitet zur ck Die Weiterverarbeitung der Daten erfolgt anschlie end im Skript rfid php Kapitel 8 6 5 8 10 4 Verwendete WSDL Datei siehe Projekt CD SR WTL Bee neues HTBL Hollabrunn Sebastian Gla ner Seite 8 35 Inventarisierung mit RFID Zusammenfassung 04 05 2006 9 9 1 Zusammenfassung und Ausblick Zusammenfassung Das Projekt ist im geforderten Ausma voll funktionsf hig Das hei t die zugrunde liegende Aufgabenstellung wurde erf llt Das System erm glicht folgende Anwendungen 9 2 Das RFID Leseger t kann angesteuert werden RFID Transponder k nnen ausgelesen und beschrieben werden Durch Anbringen eines Tags an einem Rechner kann dieser eindeutig identifiziert werden Gibt es in der Datenbank Datens tze die mit der eindeutigen Identifikationsnummer dieser Tags verkn pft sind so k nnen Informationen wie der Name Standort oder der
93. ebastian Gla ner 2005 2006 Abbildung 8 21 Services Semricenummer F Name Beim Absenden des Formulares mit GO wird der Eintrag admin der Ausgabefunktion in g_service php bergeben die mit Hilfe von regul ren Ausdr cken in der Datenbank nach passenden Eintr gen sucht service Beschreibung Bearbeiter KEEN e Als Ergebnis wurde diese Suche alle admin Wartungseintr ge ausgeben deren Bearbeiter der User mit dem Nick admin ist GO gt Abbildung 8 22 Service Suchformular 8 6 5 RFID Suche rfid php Eine von der Transportschicht erzeugte SOAP Anfrage sendet die aus einem Tag ausgelesenen Daten an das SOAP Server Skript Dieses Skript tr gt die erhaltenen Informationen in die Tabelle tfidsearch ein Die genauen Aufgaben und Funktionen des SOAP Server Skriptes sind im Kapitel 8 10 n her erl utert Zu den bermittelten Daten z hlt auch die IP Adresse des Clients die somit auch in der Tabelle gespeichert wird Ruft der Benutzer am Client ber einen Browser den Men punkt RFID Suche auf bzw bet tigt er die Schaltfl che erneut Suchen Abbildung 8 23 Markierung 1 werden die Daten des soeben eingelesenen Transponders angezeigt Um zu erm glichen dass die RFID Suche von mehreren Clients aus m glich ist wird zun chst die IP Adresse des Clients mit _SERVER REMOTE_ADDR im rfid php Skript ermittelt Anschlie end wird eine Datenbankabfrage gestartet die den zuletzt hinzugef gten u
94. eelef le HTBL Hollabrunn Mathias Wallner Haas Seite 7 10 Inventarisierung mit RFID Transportschicht 04 05 2006 7 3 Reader Befehle Dieser Bereich dient zur direkten Ansteuerung des Readers In diesem Bereich k nnen die Befehle der Bibliotheken angegeben und an den Reader gesandt werden siehe Kapitel Verarbeiten der Readerdaten Im Normalfall wird dieser Bereich nicht vom Nutzer benutzt denn die meisten ben tigten Funktionen sind in Form von eigenen Buttons an passenden Stellen der Benutzeroberfl che realisiert Dennoch bildet dieser Bereich den bereits erw hnten Kern der MFR Kommunikation W rde man also einen Button bet tigen der einen Befehl an den Reader schickt z B Tags suchen so wird im Reader Befehle Feld die notwendige Bibliothek z B Anwendung und der entsprechende Befehl Tag finden eingestellt und anschlie end das Unterprogramm sendRFID aufgerufen Man k nnte den Befehl also auch h ndisch einstellen und anschlie end auf den Senden Button welcher einfach nur sendRFID aufruft dr cken Je nach eingestelltem Befehl werden sofern entsprechend realisiert die zugeh rigen Attribute eingeblendet Im Kapitel Verarbeiten der Readerdaten wurde bereits erkl rt wie man eine noch nicht realisierte Reader Funktion im Programm integrieren kann nun soll gezeigt werden wie man die entsprechenden Attribute f r die Funktion anzeigen lassen kann 1 wenn notwendig also nicht bereits vo
95. efolgt werden wenn der Benutzer diesen mit der Maus anklickt Der Text Home zwischen den Tags wird angezeigt Die hier angenommene Datei Startseite php wird aufgerufen Es gibt auch Situationen in denen man einem PHP Skript Werte bergeben m chte ohne ein Formular zu verwenden Dies ist mit folgender Methode m glich lt a href datei php varl wertl var2 wert2 gt Linktext lt a gt Allgemeiner formuliert An das Verweisziel in unserem Fall datei php wird mit einem beginnend der Variablenname und mit einem Gleichheitszeichen der Wert angeh ngt weitere Werte mit einem amp statt Es d rfen dabei keine Leerzeichen entstehen 6 4 5 Grafiken Um Grafiken in Ihre HTML Dateien einzubinden werden Grafikdateien an gew nschten Stellen im HTML Quelltext referenziert Diese Aufgabe wird mit dem Tag lt img gt gel st lt img src bild jpg alt Hier sollte ein Bild sein gt Durch diesen Ausdruck wird die Datei Did og eingebunden Wird diese nicht gefunden wird alternativ der Text Hier sollte ein Bild sein ausgegeben Durch den Punkt in der Pfadangabe wird die Datei im Verzeichnis des HTML Dokumentes erwartet Damit auf Grafiken in berliegenden Ordnern zugegriffen werden kann muss dieser Punkt durch ersetzt werden Grafikdateien k nnen auch absolut referenziert werden 6 4 6 Formulare Ein Formular dient dazu vom Benutzer eingegebene Daten an den Server zu bermittelt H
96. ei Sollte die angegebene Datei nicht existieren so wird versucht sie anzulegen a ffnet die angegebene Datei zum Lesen und Schreiben und positioniert den Dateizeiger auf das Ende der Datei Sollte die angegebene Datei nicht existieren so wird versucht sie anzulegen r ffnet die angegebene Datei zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei r ffnet die angegebene Datei zum Lesen und Schreiben und positioniert den Dateizeiger auf den Anfang der Datei w ffnet die angegebene Datei zum Schreiben und positioniert den Dateizeiger auf den Anfang der Datei Die L nge der Datei wird auf 0 Byte gesetzt Sollte die angegebene Datei nicht existieren so wird versucht sie anzulegen w ffnet die angegebene Datei zum Lesen und Schreiben und positioniert den Dateizeiger auf den Anfang der Datei Sollte die angegebene Datei nicht existieren so wird versucht sie anzulegen Syntax int fopen string filename string mode int use_include_path fwrite Mit fwrite kann man Bin rdaten string in eine Datei fp schreiben lassen Optional kann die L nge angegeben werden Syntax int fwrite int fp string string int length header header wird zum Senden von HTTP Anfangsinformationen Headern benutzt Damit k nnen zum Beispiel Weiterleitungen auf andere Webseiten realisiert werden Syntax int header string string bool replace int http_reponse_code SR WTL na pe HTBL Hollabrunn Sebas
97. ein Alias zugewiesen werden Der Alias wird als Spaltenname verwendet und kann bei ORDER BY oder HAVING Klauseln benutzt werden Um in absteigender Reihenfolge zu sortieren wird dem Namen der Spalte in der ORDER BY Klausel das DESC Schl sselwort zugewiesen SELECT Abfragen k nnen auch verschachtelt werden MySQL stellt arithmetische sogenannte BUILD IN Funktionen und Mustersuch Funktionen f r SELECT Befehle zur Verf gung e Arithmetische Funktionen 7 e BUILD IN Funktionen k nnen nur als select _ausdruck verwendet werden O O O O SUM spaltenname Summiert ausgew hlte Spaltenelemente MIN spaltenname liefert den kleinsten Spaltenwert MAX spaltenname liefert den gr ten Spaltenwert COUNT spaltenname liefert die Anzahl der selektierten Spaltenelemente Beispiel SELECT MAX spaltel as maximalwert FROM tabelle e Mustersuch Funktionen O el MTL AAA LIKE Operator in der WHERE Klausel Vergleicht ein Spaltenelement mit einer Zeichenkette Das Zeichen steht dabei f r ein beliebige Anzahl beliebiger Zeichen Beispiel SELECT FROM tabellel WHERE spaltel LIKE A Diese Anfrage gibt alle Elemente der Tabelle tabelle1 aus in denen in spalte1 eine Zeichenfolge mit dem Buchstaben A vorkommt REGEXP Operator in WHERE Klausel MySQL erlaubt auch die Verwendung von regul ren Ausdr cken Der hierbei ben tigte Operator hei t REGEXP Jokerzeichen stimmt mit dem Anfang einer Zeiche
98. eiterer Vorteil ist dass das die Daten aufgrund des XML Formats und der Nutzung von TCP IP als Transportschicht nur von sehr wenigen Firewalls geblockt wird Wie die SOAP Nachricht schlussendlich aussehen darf soll wird im WSDL Dokument bestimmt neues HTBL Hollabrunn Mathias Wallner Haas Seite 6 12 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 3 3 WSDL Web Services Description Language Die WSDL definiert eine plattform programmiersprachen und protokollunabh ngige XML Spezifikation zur Beschreibung von Netzwerkdiensten Web Services zum Austausch von Nachrichten WSDL ist eine Metasprache mit deren Hilfe die Funktionalit t eines Web Service beschrieben werden kann Es werden im Wesentlichen die Operationen definiert die von au en zug nglich sind sowie die Parameter und R ckgabewerte dieser Operationen Im einzelnen beinhaltet ein WSDL Dokument funktionelle Angaben zu e der Schnittstelle e Zugangsprotokoll und Details zum Deployment e Alle notwendigen Informationen zum Zugriff auf den Service in maschinenlesbarem Format Beschreibungselemente Services werden durch sechs XML Hauptelemente definiert e Datentypen types Definition der Datentypen die zum Austausch der messages benutzt werden e Mitteilungen message Abstrakte Definitionen der bertragenen Daten bestehen aus mehreren logischen Teilen von denen jedes mit einer Definition innerhalb eines Datentypsystems verkn pft ist e P
99. em Block stehen Man kann in der im Auswahlmen lt Ansicht gt zwischen der Blockansicht mit Hexadezimalwerten und ASCll Zeichen w hlen Weiters wird auch der Schreibschutzstatus angezeigt Beschreibbare Bl cke werden mit gr nem Hintergrund dargestellt gesperrte schreibgesch tzte Bl cke mit rotem Hintergrund In der Blockansicht hat man auch die M glichkeit einen einzelnen Block auszuw hlen und zu editieren indem man den gew nschten Block mit einem Klick markiert und dann den lt Block editieren gt Button bet tigt Es ffnet sich nun ein kleines Fenster mit dem man den Inhalt des Blocks neu beschreiben kann Mit dem lt Format gt Auswahlmen kann man w hlen ob man ASCIl Zeichen oder Hexadezimalwerte angibt Mit dem lt schreibgesch tzt gt Auswahlfeld kann man den Block schreibsch tzen Sobald das erfolgreich durchgef hrt wurde wird der Block im Tagdetail Panel mit einem roten Hintergrund versehen und wenn man wieder das Block editieren Panel aufruft ist das schreibgesch tzt H kchen bereits gew hlt und da man in dem Panel ja nichts mehr mit den Funktionen machen kann sind die Buttons und Eingabefelder gedimmt Block editieren Blockinhalt Format Test ASCII A schreibgeschutzt Abbildung 7 12 Block editierbar el Wil neues HTBL Hollabrunn Block editieren EH Gitertratrelb pelt Lech ASCII Lei vw F Glugibogsciautsl Abbildung 7 13 Block schreibgesch tzt Mat
100. en 7 3 4 Status und Fehlermeldungen Dieser Bereich gibt Auskunft ber die Ergebnisse der Readerverbindung Im Verbindungsstatus wird angezeigt ob eine die Verbindung hergestellt werden konnte Falls nicht kommt die Fehlermeldung dass das der Reader keine Antwort gab oder dass die Checksumme der Daten nicht stimmt Die Reader Meldung gibt das bereits erw hnte Statusbyte bereits mit bersetzung siehe Tabelle Fehlercodes aus In beiden Feldern werden positive Ergebnisse durch gr nen und Fehler durch roten Hintergrund angezeigt Weiters wird noch angezeigt wieviele Bytes zuletzt vom Reader empfangen wurden 7 3 5 Unterst tzte Transponder Entsprechend der bereits erw hnten Bibliotheken die der Reader nutzt k nnen mehrere Transpondertypen angesprochen werden Im Reader Version Feld kann man die Versionen der Bibliotheken sehen und mit den H kchen rechts davon kann man Funktionen der Bibliotheken deaktivieren 7 3 6 Peripherie Das Reader Board besitzt drei Ausg nge wobei zwei davon an die LEDs gelb amp gr n angeschlossen sind und der dritte einen Summer ansteuert Durch die Auswahllisten kann man angeben wann die Ausg nge gesetzt werden sollen z B SOAP bei jeder Kommunikation mit dem Server Tag wenn ein Transponder gefunden wurde Fehler wenn ein Fehler auftritt Die Peripheriezust nde k nnen auch durch einfaches Klicken auf die Symbole die LED und Lautsprecher Icons ver ndert werden
101. en switch req 4 case 1 GetCtrlVal panelHandle op CMD amp req 5 break Allgemeiner Befehl case 2 GetCtrlval panelHandle TOP_ISO14443ACMD amp req 5 break 2 14443 A Befehl ase 3 GetctrlVal panelHandle TOP_ISOI4443BCMD amp req 5 break 77750 14443 B Befehl case 4 GetctrlVal panelHandle TOP_ISO15693CMD amp req 5 break ISO 15693 Befehl case 5 GetctrlVal panelHandle TOP_TAGITCMD amp req 5 break ISO Tag it Befehl case 6 GetctrlVal panelHandle TOP_LFDSTCMD amp req 5 break i gt LF DST Befehl 7 GetctrlVal panelHandle TOP_ISO144434CMD amp req l5 break 77550 14443 4 Befehl case 8 GetCtrlVal panelHandle TOP_APOLLOCMD amp req l5 break Apollo Befehl putvalues Zusatzattribute bestimmen sp ter erkl rt req l0 1 StartofFrame req 1 laenge 256 LSB der Anzahl der Sendebytes req 2 laenge 256 MSB der Anzahl der Sendebytes req 3 3 DeviceID immer 3 req laenge 2 0 LRC zur cksetzen for i 0 i lt laenge 2 i LRC Bytes berechnen req laenge 2 req laenge 2 Areq i LRC Byte req laenge 1 255 req laenge 2 LRC LRC muss FFhex sein error Comwrt Ccomport req laenge Auf COM schreiben readRFID Readerantwort holen return error Antwort vom Reader empfangen unsigned char ans Antwort vom Reader int readRFID void int error 0 laenge 0 L nge der Antwort zur cksetzen LRC 0 LRC zur cksetze
102. en Label 15015693 Befehl i l S TI Disable Check Mark Label Raised Label Value Pairs M Sige to Text Edit Label Value Pairs Data Type s unsigned char Precision 4 2 i AFI schreiber Value 108 Insert New Item Sender EIN Sender AUS Tag finden Parameter setzen Block schreiben Block schreibsch tzen Bl cke lesen Bl cke schreiben Schreibschutzstatus abrufen J Abbildung 7 4 neuen Befehl einprogrammieren W rde der Befehl keine Attribute haben und nichts au er dem Status Byte zur ckliefern So w ren wir nun fertig Der Befehl k nnte ausgew hlt und vom Reader verarbeitet werden Grp HTBL Hollabrunn Mathias Wallner Haas Seite 7 7 Inventarisierung mit RFID Transportschicht 04 05 2006 5 Laut Reference Guide hat der Befehl noch 3 1 optionales Attribut Diese m ssen im C Code put values f r diesen Befehl definiert werden ne putvalues void switch Creql5 Befehlsbyte auswerten case 65 RFID TAG REQUEST laenge Zusatzbyte break case ae WRITE MULTIPLE BLOCKS laenge Zusatzbytes break case 108 WRITE AFI Ee settingsHandle SETTINGS_SELECT amp h selected H kchen req 6 h selected Befehl checkburst schaut in Settings ob Tag 1m burst beschrieben wird GetctrlVval panelHandle TOP_POLLED amp h Ao t Burst Status req 7 h J setzt burst im Request GetctrlVal tagHandle TAG_AFI amp req 8 AFI
103. er Session eines Skripts registriert sind 6 6 4 Datentypen PHP unterstutzt folgende Datentypen e skalare Typen o Boolean o Integer o Flie komma Zahl float o String Zeichenkette e zusammengeseizte Typen o Array o Object e spezielle Typen o Resource o NULL 6 6 5 Kontrollstrukturen Wie in C gibt es in PHP Kontrollstrukturen die beim Programmieren nicht wegzudenken waren Dazu zahlen Bedingungen if Bedingung Anweisung else Anweisung Switch Variable case Bedingungl Variable Bedingungl Anweisung break case Bedingung2 Variable Bedingung2 Anweisung break Schleifen while Bedingung Anweisung Kopfgesteuert do Anweisung while Bedingung Fu gesteuert for i Startwert i Endwert i Schrittweite Anweisungen z hlschleife el MTL HTBL Hollabrunn Sebastian GlaBner Seite 6 18 PPE Tt Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Kommentare Kommentare werden mit einzeilig bzw mit gekennzeichnet 6 6 6 Funktionen Funktionen dienen im Allgemeinen dem Zusammenfassen mehrerer Befehle zu einem Aufruf Dadurch werden Programme einfacher lesbar weil klar ist wozu ein Befehlsblock dient Die Syntax um eigene Funktionen zu programmieren lautet wie folgt function foo arg_1 arg_2 arg_n echo Example function n return retval Die Funktion bekommt die Argumente arg_1 bis arg_n bergeben und gibt den Wer
104. er auf Syntax bool session_unregister string name shell_exec F hrt einen Befehl in der Kommandozeile aus Syntax string shell_exec string cmd sizeof Die Funktion sizeof z hlt die Anzahl der Elemente eines Arrays und gibt das Ergebnis zur ck Syntax int sizeof array array strlen Mit strlen kann man sich die L nge einer Zeichenkette str zur ckgeben lassen Syntax int strlen string str strtolower Mit strtolower kann man den Inhalt einer Zeichenkette str in Kleinbuchstaben umwandeln Syntax string strtolower string str al AU HTBL Hollabrunn Sebastian GlaBner Seite 6 21 GEET Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 strtr Mit strtr kann man innerhalb eines Strings str bestimmte Zeichen austauschen lassen Dabei werden die Zeichen from durch die Zeichen to ersetzt Sollten from und to von unterschiedlicher L nge sein so werden die berz hligen Zeichen einfach ignoriert Syntax string strtr string str string from string to time Mit time kann man sich den aktuellen UNIX Zeitstempel zur ckgeben lassen Dieser Zeitstempel enth lt die Anzahl der Sekunden seit Beginn der Unix Epoche 01 01 1970 um 00 00 00 Uhr Syntax int time void trim Mit trim kann man innerhalb eines Strings str berfl ssige Zeichen am Anfang und Ende entfernen lassen berfl ssige Zeichen sind n r t v 0 Leerzeichen Syntax string trim string str 6 6 8 Spezie
105. er so kurzen seriellen Kabelverbindung 50cm zw Reader und PC aber praktisch nie Bitfehler auftreten ist die L ngssummenpr fung mehr als ausreichend Vorgehensweise zur L ngssummenpr fung 1 Byte 1 und Byte 2 werden ber XOR miteinander verkn pft 2 Das Ergebnis der Verkn pfung wird mit dem jeweils folgenden Byte wiederum mittels XOR verkn pft 3 Der zweite Schritt wird solange wiederholt bis alle Bytes nat rlich au er den LRC Bytes selbst verkn pft worden sind Beispiel Abfrage der Reader Modul Bibliotheks Versionsnummern 01 HEX 08HEx Our O3HExX 01 HEX Aur LRC1 LRC2 Invertierte LRC1 Tabelle 7 2 Berechnung des LRC Bytes Byteain NS E a E E ae pos of ogl ee 50 170 7 20 9 20 eo d o se Te DT Ge e oe fio 0 0 0 1 fo 1 LE a oo bo fo Fo bo Lo bi vor 8 0 o o oo WECKER WEE EE O a Ip 4B lol LRC1 4Bucy LRC2 LRC1 01001011 10110100 B4yex LRC2 Die g ltige Anfrage an den Reader w rde also lauten Ol Hex O8HEx OOHEx 03Hex OT HEX 40HEx 4BuHex BAHex Wird zur Kontrolle die LRC jetzt ber alle Datenbytes errechnet ist das Ergebnis immer 00 Somit ist die Kenntnis der urspr nglichen LRC f r die Kontrolle nicht n tig da ein von 0 abweichendes Ergebnis immer auf einen Fehler hinweist eelef le HTBL Hollabrunn Mathias Wallner Haas Seite 7 4 Inventarisierung mit RFID Transportschicht 04 05 2006 7 2 3 CVI Code f r die Verarbeitung
106. erden Aufrufe fur kommende kleine Tools platziert z B Log gt Script Umwandler Hilfe Hier kann der Aufruf einer Hilfedatei platziert werden 7 3 3 RS232 Einstellungen Das Programm kommuniziert Uber einen COM Port des PCs mit dem Reader Die RS232 des Readers hat die folgenden Grundeinstellungen 8 Datenbits ein Stoppbit keine Paritat 9600Baud keine Flussteuerung Die Baudrate des Readers kann aber umgesiellt werden siehe Kapitel Reader Befehle Deshalb muss das Programm mehrere Baudraten unterst tzen Die COM Nummer der RS232 Schnittstelle des PCs nat rlich auch ver nderbar sein denn die gew nschte RS232 Schnittstelle wird nicht immer der COM1 sein F r den Fall dass man nicht wei an welcher Schnittstelle der Reader angeschlossen ist und auf welche Baudrate dieser eingestellt ist wurde eine Autoset Funktion integriert die alle noch nicht ge ffneten COM Ports mit den m glichen Baudraten durchprobiert bis eine g ltige Antwort vom Reader kommt COM Ports die nicht ge ffnet werden k nnen werden bersprungen Die Suche wird nach dem tausendsten COM Port abgebrochen Auf manchen PCs konnten wir feststellen dass manche Modems auf den Reader Befehl reagieren und eine Antwort senden sodass die Suche abgebrochen wird Dass es sich dabei nicht um den Reader handelt erkennt man an unsinnigen Fehlermeldungen die angezeigt werden Um dieses Problem zu umgehen sollte die Readersuche mit einem h heren COM Port begonnen werd
107. ereAnfrage gt lt output message tns addiereAntwort gt lt operation gt lt portType gt Binding Hier wird die Methode festgelegt mit der der Client mit dem Server kommuniziert und welche Verschl sselung genommen wird Die vorgenommenen Definitionen sind Standards lt binding name TestServerBinding type tns TestServerPorttType gt lt soap binding style rpc transport http schemas xmlsoap org soap http gt lt operation name addiere gt lt soap operation soapAction urn xmethodsTestServer addiere gt lt input gt lt soap body use encoded namespace urn xmethodsTestServer encodingStyle http schemas xmlsoap org soap encoding gt lt input gt lt output gt lt soap body use encoded namespace urn xmethodsTestServer encodingStyle http schemas xmlsoap org soap encoding gt lt output gt lt operation gt lt binding gt Service Im Service Tag wird festgelegt mit welcher Datei der Client kommunizieren muss lt service name TestServerService gt lt port name TestServerPort binding tns TestServerBinding gt lt soap address location http 172 31 11 21 wsdIserver php gt lt port gt lt service gt lt definitions gt Wird nun ein Client erstellt der die Funktion addiere aufruft und zwei Variablen bergibt kann folgende SOAP Nachricht aufgezeichnet werden Die Aufzeichnung der Nachricht erfolgte mit dem Netzwerk Sniffer Ethereal SOAP Anfrage lt xml vers
108. erfolgt eine Auflistung aller vorhandenen Rechner in Form einer Tabelle Uber die Buttons in Abbildung 8 19 Markierung 1 kann die Ausgabe der inventarisierten Rechner angepasst werden e Mit anzeigen werden alle eingetragenen Rechner angezeigt e Mit suchen kann nach allen Rechnermerkmalen die auch aus der Kopfzeile der Tabelle ersichtlich sind gesucht werden Dazu wird ein Formular benutzt Beim Klick auf eines der beiden Elemente in Markierung 1 wird die index php erneut aufgerufen Wird z B suchen ausgew hlt werden der Index Datei die Parameter content g_inventar amp action suche bergeben Mit einer switch Kontrollstruktur wird in Abh ngigkeit der Variable action die entsprechende Funktion ausgef hrt In diesem Beispiel die Suchfunktion SR WTL N DOPTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 20 Inventarisierung mit RFID Webanwendung 04 05 2006 anzeigen suchen 4 i F Sit LU CS pap t IT L P4 SE 26 11 2005 3 06GHz 512MB Radeon 9600 13 13 13 13 13 13 11 55 18 03 03 2006 12 12 12 12 12 12 12 04 20 Inventarisierung mit RFID Sebastian Gla ner 2005 2006 Abbildung 8 19 PC Inventar Tee EE we EE Markierung 2 zeigt Aktionsbuttons mit denen die Rechner in der Tabelle auf bzw absteigend nach der ausgew hlten Spalte sortiert werden k nnen Markierung 3 In dieser Spalte wird die Anzahl der vorhandenen Servicet tigkeiten des Rechners angezeigt Der Aktionsbutton verweis
109. erh lt dieser die M glichkeit zu jedem PC explizit ein Serviceeintrag hinzuzuf gen 8 7 2 Startseite main php Die Startseite des registrierten Users entspricht der des Gast Users es wird auch das gleiche Skript verwendet mit dem Unterschied dass ber die Bedingung if C _SESSION userid Login Formular else r Logout Formular anstelle des Login Formulars das Logout Formular ausgegeben wird 8 7 3 PC Inventar r_inventar php Vom Aufbau her entspricht dieses Skript ebenfalls dem des Gastes Kapitel 8 6 3 F r einen deaktivierten registrierten User weist es auch keine zus tzlichen Funktionen auf Ist der User hingegen aktiviert steht im die M glichkeit Servicevorg nge an Schulrechnern zu dokumentieren zur Verf gung Dazu sollte z B zuerst der gewartete Rechner gesucht werden um ihm anschlie end ber den Button new Abbildung 8 25 Markierung 1 einen neuen Serviceeintrag zuzuweisen PC Inventar RFID Suche PC Inventar anzeigen suchen Es wurden 3 Eintr ge gefunden Sie sind eingeloggt als registriert PC PC RFID CPU RAM NIC Grafik MAC Erstellt am Name Raum ein Ba e0 07 00 FTKL P4 Linksys E H 25 11 2005 95 N 77 01 FTKL 3 06GHZ 512MB 7340 Radeon 9600 13 13 13 13 13 13 11 55 18 e0 07 00 00 01 66 a8 PII 866MHz 256MB no name on board 19 19 19 19 19 19 2211 16 12 2005 08 09 30 e0 07 00 SGHZ Intel eop Broadcom GES T 001866 Net2 3 NET2 Centrino DDR3 Netxtreme Gefore a D
110. erleiten Neben diesen Funktionen sind auch die M glichkeiten zur Aufzeichnung einer Logdatei und zur Ausf hrung eines Skriptes gegeben Zur Informations bergabe an den Server wird das SOAP Protokoll direkt in die Anwendung integriert 3 4 3 XML Interface Das XML Interface bietet die M glichkeit zum Datenaustausch zwischen der Transportschicht und der Webanwendung an Als Schnittstelle soll ein m glichst vorteilhaftes Protokoll gew hlt werden Auf Grund von folgenden Vorteilen wird das SOAP Protokoll verwendet Standardisierung Plattformunabh ngigkeit Offenheit Robustheit und Skalierbarkeit DEI BB RTE Mathias Wallner Haas Seite 3 3 Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 4 4 Webanwendung Programmstart Es besteht die M glichkeit sich als Gast bzw als Benutzer mit erweiterten Rechten auf der Web Oberfl che zu bewegen Gast Es ist kein Login notwendig F r jeden Benutzer des Systems stehen folgende Funktionen zur Verf gung o Anzeige aller eingetragenen PCs mit allen m glichen Informationen die sich aus der Tabellenstruktur ergeben in Form einer Tabelle Zus tzlich wird in einer generierten Spalte die Anzahl der zu einem PC geh renden Serviceeintr ge angezeigt o Bei einem Mausklick auf den gew nschten Rechnereintrag werden die dazugeh renden Serviceeintr ge mit allen Inhalten aus der Datenbank angezeigt o Die Ausgabe der Eintr ge kann angepasst werden alphabetisches Sortieren o Suche nach
111. erreichbar SR Wil iei SE HTBL Hollabrunn Sebastian GlaBner Seite 8 3 Inventarisierung mit RFID Webanwendung 04 05 2006 Datenbank anlegen Das anlegen einer Datenbank ist direkt ber die Startseite von phpMyAdmin m glich Durch den Button Anlengen Markierung 2 wird die Datenbank mit dem gew nschten Namen aus dem Formularfeld Markierung 1 angelegt localhost gt gt localhost phpMyAdmin 2 6 2 pl1 Maxthon Browser 2 UUL S w al http flocalhost phpmyadmin Leg ecaro Willkommen bei phpMyAdmin 2 6 2 pl1 Verbunden mit MySQL 4 1 12 auf localhost als root localhost phpliyAdmin E QQ phpMyAdmin Datenbank phpMyAdmin Datenbanken el F Language German de utf 8 el H MySQL Zeichensatz UTF 8 Unicode utf8 1 Zeichensatz Kollation der MySQL Verbindung Bitte Datenbank _ 13 7 ausw hlen MySQL System Variablen anzeigen vg _general_ci el By Prozesse anzeigen Ei Obertlachendesign Original el Zeichens tze und Kollationen Q phpMyAdmin Dokumentation EJ Tabellenformate 3 PHP Informationen anzeigen I gt Benutzertabellen neu laden fa Offizielle phpMyAdmin Homepage SES Rechte ChangeLog CVS Lists Datenbanken d i Exportieren Ihre Konfigurationsdatei enth lt Einstellungen Benutzer root ohne Passwort welche denen des MySQL Standardbenutzers entsprechen Wird Ihr MySQL Server mit diesen Einstellungen betrieben so k nnen Unbefugte le
112. erwaltung des Inventars ber die Transponder ID realisiert Die beiden Teile sollen ber eine XML Schnittstelle miteinander kommunizieren SR Wil EH Gap HTBL Hollabrunn Sebastian GlaBner Seite 2 1 Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 Pflichtenheft 3 1 Zielbestimmung 3 1 1 Muss Kriterien Es ist ein System zu Inventarisierung der PCs an der HTL Hollabrunn mit Hilfe von RFID Technologie zu entwerfen Die Software soll im Wesentlichen aus zwei Teilen bestehen 1 Transportschicht Ein Programm zur Aufbereitung der RFID Reader Daten zur Weiterleitung an die Logik ber eine definierte XML Schnittstelle 2 Webinterface Software zur Aufbereitung der Transportschicht Daten PHP und Verwaltung mittels MySQL Datenbank Die Webanwendung soll auf einem Apache Webserver realisiert werden Dar ber hinaus sollen durch die Anwendung Wartungen der bzw Servicet tigkeiten an den Schulrechnern festgehalten und nachvollziehbar gemacht werden Um dies zu garantieren ist eine Benutzerverwaltung notwendig Das Webinterface erh lt eine bersichtliche und einfach zu bedienende grafische Oberfl che Zur Pr sentation des Projektes im Internet ist eine Homepage zu erstellen 3 1 2 Soll Kriterien Die Aufbereitung der RFID Reader Daten soll mit C oder C realisiert werden Zur bertragung der aufbereiteten Daten zwischen der Transportschicht und der Logik soll das SOAP Protokoll verwendet werden Die Projekt
113. et Server hnlich ASP f r Unix und Windows die es erm glicht schnell und mit verh ltnism ig wenig Aufwand dynamische Websites f r Multimedia oder E Commerce Anwendungen im Internet zu erstellen Radio Frequency Identification engl f r Funk Erkennung ist eine Methode um Daten ber hrungslos und ohne Sichtkontakt lesen und speichern zu k nnen Teil des RFID Systems Eine Sende Empfangs Einheit die nach einer Anfrage die gew nschten Daten z B Identifikationsnummer zuruckliefert Ein Transponder ist ein meist drahtloses Kommunikations Anzeige oder Kontrollger t das eingehende Signale aufnimmt und automatisch darauf antwortet Der Begriff Transponder ist zusammengesetzt aus den Begriffen Transmitter und Responder Ein RFID Tag besteht aus einen Mikrochip und einer Antenne Auf dem Chip ist ein Code gespeichert der bestimmte Informationen enth lt Als Antwort auf ein ausl sendes Radiosignal eines Leseger tes k nnen diese Transponder selbst Signale senden oder empfangen Man unterscheidet dabei aktive und passive RFID Tags Remote Procedure Call ein Protokoll f r verteilte Anwendungen Ein Server ist ein Programm welches auf die Kontaktaufnahme eines Client Programmes wartet und nach Kontaktaufnahme mit diesem Nachrichten austauscht Skriptsprachen blich auch Scriptsprachen sind Programmiersprachen die vor allem f r kleine berschaubare Programmieraufgaben gedacht sind Skripte sind Programme die vo
114. f die SOAP Schnittstell zu f r die das Microsoft SOAP Toolkit 3 0 installiert werden muss CVI installieren 1 ZIP Datei ffnen ProjektCD Transportschicht Entwicklung CVI 8 0 zip 2 Installer ausf hren CVI 8 0 zip Setup exe 3 den Anweisungen folgen MS SOAP Toolkit installieren 1 Installer ausf hren ProjektCD Transportschicht Entwicklung soapsdk exe 2 den Anweisungen folgen Projekt laden 1 Projektordner ProjektCD Transportschicht Entwicklung Source auf ein wiederbeschreibbares Medium Festplatte od Flash Speicher kopieren 2 Doppelklick aud RFID prj Hinweis Die CVI Demoversion ist 30 Tage lauff hig jedoch haben die damit kompilierten Programme ab dem 8 Tag nach der Installation nur eine Laufzeit von 10 Minuten Die Neuninstallation von CVI nach den 30 Testtagen gelang nur wenn vor der Neuninstallation CVI 7 installiert und deinstalliert wurde T ft BELLIOl abrUnn Mathias Wallner Haas Seite D 8 Inventarisierung mit RFID Installationsanleitung 04 05 2006 D 2 5 CVI Programm f r andere Rechner lauff hig machen CVI mit ge ffneten Projekt Men leiste gt Build gt Configuration gt Release Men leiste gt Build gt Target Type gt Executable Men leiste gt Build gt Target Settings gt Run time support gt Full run time Engine gt Embed project UIRs gt ausw hlen Men leiste gt Build gt Target Settings gt Add files to executable gt alle ausw hlen Ein Installer C
115. faces Aufbereitung der Reader Daten C Einrichtung des Apache Webservers und der MySQL Datenbank bertragung der aufbereiteten Reader Daten mittels SOAP Verarbeitungslogik und dazugeh rige Oberfl che entwerfen PHP Einbinden der Datenbank in die berwachungslogik Zusammenf gen und Test des Gesamtsystems Vollst ndige Dokumentation der Hard und Software Dabei sind insbesondere auch eine Zusammenfassung der Arbeit in englischer Sprache ver ffentlichungsreife HTML Seiten Projekthompage und eine Presseaussendung zu erstellen Inventarisierung mit RFID Kurzfassung 04 05 2006 Kurzfassung Unsere Diplomarbeit befasst sich mit dem Entwurf eines Systems zur Inventarisierung der Schulrechner an der HTL Hollabrunn mit Hilfe der Radio Frequency Identification RFID Technologie Auftraggeber ist die HTL Hollabrunn und der Betreuer des Projektes ist Dipl Ing Franz Geischl ger Durch das drahtlose Auslesen von passiven RFID Transpondern die an den Geh usen der Rechner angebracht werden soll es erm glicht werden Informationen wie zum Beispiel deren Standort Name Konfiguration oder Reparaturstatus zu erhalten Die daf r ben tigte Hardware wurde in Form des Multi Function Evaluation Kit Leseger t Demonstrations Software Transponder S4100 MFR von Texas Instruments von der HTL Hollabrunn zur Verf gung gestellt Das Projekt besteht im Wesentlichen aus zwei Teilen wobei der erste Teil die Transportschicht als
116. fehl mit einem keine Fehlermeldung verursachte z B wird SOAP nicht ausgef hrt wenn das vorhergehende SEND nicht erfolgreich ausgef hrt werden konnte e Das Skript wird nach der letzten Zeile wieder von vorne gestartet COOC HTBL Hollabrunn Mathias Wallner Haas Seite 7 23 Inventarisierung mit RFID Transportschicht 04 05 2006 Die Befehle die abgearbeitet werden k nnen sind im Unterprogramm runcmd realisiert Will man also den Skript Befehlssatz erweitern so braucht man nur in diesem Programm den entsprechenden Eintrag machen int runcmd char cmd char command 30 der Befehl char attribut 30 rund das Attribut int noerror 0 Fehler Wichtig f r Abh ngigkeiten StringUppercase cmd damit nicht an Gro Kleinschreibung gebunden sscanf cmd s s command attribut Aufteilen in Befehl und Attribut if strcmp command TSO15693CMD 0 Einstellen eines IS015693 Befehls sscanf attribut d amp h Aus Attribut gt Zahlenwert machen Setctrlval panelHandle TOP_ISO15693cMD h den Befehl einstellen noerror 1 ketn Fehler if strcmp command SEND 0 schicken des Befehls an den MFR sendRFID Aufruf der Sendefunktion GetctrlAttribute panelHandle TOP_ERROR ATTR_TEXT_BGCOLOR amp noerror if noerror 0xFF5555 noerror 0 Auf Fehler pr fen else noerror 1 if Cstrcmp command SOAP 0 schicken der Daten ber SOAP SetctrlVal tagHandle TAG_view 1
117. h umgestellt werden Markierung Am phpMyAdmin Startbildschirm dann den Punkt Rechte auswahlen Markierung Willkommen bei phpMyAdmin 2 6 2 pl1 Verbunden mit MySQL 4 1 12 nt auf localhost als root localhost phpldyAdmin o E DEI Datenbank S Datenbanken D is Neue Datenbank anlegen Kollation i Anlegen e Bitte Datenbank si MySQL Laufzeit Informationen anzeigen Zeichensatz Kollation der MySQL Verbindung auswahlen E MySQL System Variablen anzeigen utf8_general_ci D Sa Prozesse anzeigen Oberl chendesign Original D L phpMyAdmin Dokumentation fi PHP Informationen anzeigen 0 Zeichensatze und Kollationen BJ Tabellenformate autzertshellen neu laden Ze Datenbanken EI ged Exportieren 44 Offizielle phpMyAdmin Homepage ChangeLog CVS Lists Ihre Konfigurationsdatei enth lt Einstellungen Benutzer root ohne Passwort welche denen des MySOL Standardbenutzers entsprechen Wird Ihr MySQL Server mit diesen Einstellungen betrieben so k nnen Unbefugte leicht von au en auf ihn zugreifen Sie sollten diese Sicherheitsl cke unbedingt schlie en phpMyAdmin Startbildschirm CO WE Mathias Wallner Haas Seite D 3 Inventarisierung mit RFID Installationsanleitung 04 05 2006 ll auf Neuen Benutzer hinzuf gen Markierung klicken Die ausgew hlten Benutzer l schen Gei Die Benutzer aus den Benutzertabellen l schen Den Benutern alle Rechte entziehen
118. he 8 7 4 Mein Account registrierter User 8 8 6 RFID Suche rfid php Ser cenummer di Hizugef gt am 2006 01 05 11 44 01 Lette Bearbeitung vorgenommen von master Beschreibung der Service T tigkeit neues Betriebssystem hier Kann ein neuer Eintrag aufgenommen werden Anderungen bernehmen Abbildung 8 35 Service ndern Es wird das selbe Skript wie beim registrierten User verwendet siehe Kapitel 8 7 5 Es stehen auch die gleichen M glichkeiten zur Verf gung Dar ber hinaus wird mit Hilfe der selbst definierten Funktion UserRight ein Skript Abschnitt f r den Master User erg nzt mit dem folgendes verwirklicht werden kann Wenn eine unbekannte RFID Transponder ID eingelesen wird das hei t wenn noch kein Datenbankeintrag existiert der mit dieser ID verkn pft ist so besteht ab dem Master User die M glichkeit einen neuen Rechner mit der eingelesenen Nummer in die Datenbank aufzunehmen Dazu wird ein Link eingef gt der beim Bet tigen die ID an das Formular zum Hinzuf gen eines Rechners bergibt Abbildung 8 36 Markierung 1 El Wil HTBL Hollabrunn GEET Sebastian GlaBner Seite 8 29 Inventarisierung mit RFID Webanwendung Sie sind eingelogat als master RFID Suche erneut Suchen gt gt Auf dem Tag gespeicherte Informationen RFID PC Name PC Raum Pulk Datum 209 0a 07 00 00 18 66 39 7e unbekannt unbekannt 1 23 03 2006 18 49 24 Suchergebnis Es wurden keine entsprechen
119. hek der Funktion eelef le HTBL Hollabrunn Mathias Wallner Haas Seite 7 2 Inventarisierung mit RFID Transportschicht 04 05 2006 Bei unserem Reader gibt es folgende Layer Byteyex Application grundlegende Funktionen z B Baudrate Transpondersuche ISO 14443 A HF Transponder nach ISO14443A ISO 14443 B HF Transponder nach ISO14443B ISO 15693 HF Transponder nach ISO 15693 f r die PC Inventarisierung Taglt HF Transponder von Texas Instruments LFDST LF Data Storage Transponder ISO 14443 4 HF Transponder nach ISO144434 Apollo HF Transponder Cmd2 beschreibt den Befehl des Layers Der Befehl kann nur in diesem Layer vorhanden sein aber auch in anderen Layer wobei jeder Layer dann den Befehl anders interpretieren kann z B Die gibt es den Befehl Set Baudrate nur im Application Layer gibt es den Befehl Find Token in allen Layern aber es kommen verschiedene Antworten z B bei Application 1 UID irgendeines Typs bei ISO15693 bis zu 16 ISO15693 UIDs Befehle k nnen in den Texas Instruments Handb chern nachgelesen werden dem MFR Kit beigelegte CD unter Documentation jeder Layer hat ein eigenes Han dbuch Attribute Die Attribute sind je nach Befehl sehr verschieden H ufige Attribute sind z B UniquelD Einzigartige ID des Labels 8 Bytes Selected Nur ausgew hlte Transponder 1 Byte Schreibmethode polled oder burst mode 1 Byte Bei e
120. hern 8 1 3 Praktisches Arbeiten mit XAMPP Die im Installationsverzeichnis vorhandenen Anwendungen xampp_start exe und xampp_stopp exe dienen zum Starten bzw Beenden von XAMPP Aufgetretene Probleme Es hat den Anschein dass es einige Anwendungen gibt die sich nicht mit XAMPP vertragen Aus eigener Erfahrung verhinderte zum Beispiel das f r VOIP Telefonie verwendete Tool Skype das Starten des Webservers 8 1 4 Testen der Installation Nachdem man XAMPP auf seinem System gestartet hat sollte man wenn man nun mit einem Browser auf die URL http localhost xampp zugreift die Startseite von XAMPP sehen Der Screenshot in Abbildung 8 3 zeigt die zu erwartende Ausgabe Uesdl amp http localhost xampp phpintof XAMPP fiir Windows XAMPP Version 1 4 14 Willkommen zu XAMPP f r Windows Version 1 4 14 PHP 5 0 4 Herzlichen Gl ckwunsch XAMPP wurde erfolgreich auf diesem Rechner installiert Sicherheitscheck Dokumentation Nun kann es losgehen Als erstes bitte einmal auf der linken Seite auf Status klicken Damit Komponenten bekommt man einen berblick was alles schon funktioniert Ein paar Funktionen werden phpinfot ausgeschaltet sein Das ist Absicht so Es sind Funktionen die nicht berall funktionieren oder evtl Probleme bereiten k nnten cD Yerwaltung Vielen Dank an Carsten Wiedmann f r seine raffinierten Kompilationen Biorhythmus Instant Art F r die OpenSSL Unterst tzung benutzt bi
121. hias Wallner Haas Seite 7 19 Inventarisierung mit RFID Transportschicht 04 05 2006 Textansicht Diese Ansicht wurde programmiert um fremde Transponder die die Daten als ASCll Zeichen speichern auszulesen Bei dieser Ansicht sucht das Programm wo Strings anfangen und aufh ren und gibt diese dann in einer Liste aus In jeder Zeile wird angegeben bei welchem Block der String anf ngt Transpondereigenschaften 30 E r EH Texas Instruments ASCII Text Le TE ad o 23032006161723 03 200616 18NET2 7777 um Il Alf i ya Hello Vy Abbildung 7 14 Tagdetail ASCII Text COOC HTBL Hollabrunn Mathias Wallner Haas Seite 7 20 Inventarisierung mit RFID Transportschicht 04 05 2006 PC Inventarisierung Ansicht Diese Ansicht wurde entwickelt um als Eingabemaske f r HTL PC Inventarisierungsdaten zu dienen Transpondereigenschaften so Kt 15 IT exas Instruments PC Inventarisierung W 20 03 2006 23 28 ASCII Text Bl cke HEX 21 03 2006 16 21 Blocke ASCII Das ist em Testtransponder Dieser Inhalt wurde mehrmals ge ndert Inventansierungsdaten schreiben Abbildung 7 15 Tagdetail PC Inventarisierung Ansicht Das Programm erkennt HTL PC Inventarisierungstransponder an der AFI 90uex und an der DSFID OT ups Stimmt einer der beiden Werte nicht so werden alle Felder als leer angezeigt Man kann nun Standort und Inventarnummer eintragen eventuell auch Zusatzdaten und das Programm kann di
122. his License Such a notice grants a world wide royalty free license unlimited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to
123. homepage soll standardkonform valide in XHTML programmiert werden 3 1 3 Abgrenzungskriterien Die Integration in das HTL Inventarisierungssystem ist vorerst nicht vorgesehen da das Projekt vorrangig Test und Evaluierungszwecken dienen soll Daten bertragungen erfolgen unverschl sselt 3 2 Einsatz 3 2 1 Anwendungsbereiche Das System wird zur Vereinfachung der Inventarisierung der PCs innerhalb der HTL Hollabrunn verwendet Dabei wird die Entwicklung so ausgelegt dass das System durch geringen Aufwand auf anderes Inventar der HTL z B Labor Messger te umgelegt werden kann 3 2 2 Zielgruppen Das Projekt soll als Unterst tzung f r die in der HTL f r PC Inventarisierung verantwortlichen Personen dienen Dabei werden lediglich PC Grundkenntnisse wie das Bedienen eines Browsers vorausgesetzt SBS SE Mathias Wallner Haas Seite 3 1 Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 2 3 Betriebsbedingungen Zum Betrieb des Inventarisierungsmodells ist ein geschlossener mit PCs ausgestatteter Raum erforderlich Es soll sich nicht wesentlich von anderen Web Browser basierenden Anwendungen unterscheiden Betriebsdauer t glich 24h Wartungsfreier Betrieb soll gew hrleistet werden Die Sicherung der Datenbank muss vom Administrator durchgef hrt werden 3 3 Produkt Umgebung 3 3 1 Software Client e Software zur Aufbereitung der Reader Daten Transportschicht e Gangiger und aktueller Web Browser Server
124. hp aufgerufen Beschreibung der Index Datei In der index php werden zun chst die beiden Skripte config php und functions php mit include_once eingebunden Die beiden Skripte stellen der Webanwendung Funktionen zur Verf gung F r n here Informationen siehe Kapitel 8 4 3 und 8 4 4 Nach dem Start einer Session mit erfolgt der Verbindungsaufbau zum Datenbank Server und schlie lich die Auswahl der Datenbank pcinventar Im n chsten Schritt wird versucht das Skript mit dem Namen content php einzubinden Beim ersten Aufruf der Index Seite ist die content Variable noch nicht gesetzt Folglich existiert auch keine Datei content php Wegen der file_exits Funktion wird deshalb das main php Skript eingebunden welches der Startseite entspricht Weiters werden noch die Skripte menue php Kapitel 8 4 5 und html_head php Kapitel 8 4 6 eingebunden Anschlie end wird die in menue php generierte variable menu_var ausgegeben Sie repr sentiert das dynamische Men Der darauf folgende Abschnitt dient der Anzeige des Seiten Titels der ebenfalls in menue php erzeugt wird Wenn man in das System eingeloggt ist wird au erdem der Nickname in der ersten Zeile unterhalb des Men s rechts neben dem Seiten Titel angezeigt Die Gestaltung des Aktionsbereiches wird durch die Ausgabe der Variable content_var vorgenommen Sie ist eine der wichtigsten Variablen des ganzen Systems und sie entspricht dem gew hlten Seiteninhalt Sie wird von allen Skripte
125. icher des Transponders nat rlich nur wenn dieser Block nicht schreibgesch tzt ist Es m ssen die Blocknummer also welcher Block beschrieben werden soll sowie die Anzahl der Bytes die ein Block hat kann mit Transponderinformationen ausgelesen werden und nat rlich die zu schreibenden Daten angegeben werden Das Transportschicht Programm verwendet diesen Befehl bei jedem Schreibvorgang auf den erweiterten Speicher Block schreibsch tzen Lock Block Request 67 6 Dieser Befehl sperrt den gewahlten Block des Transponderspeichers Das bedeutet dass der Speicher danach nicht mehr beschreibbar ist Achtung Dieser Befehl kann nicht r ckg ngig gemacht werden Auch hier muss nat rlich die Blocknummer und die Anzahl der Bytes pro Block angegeben werden eelef le HTBL Hollabrunn Mathias Wallner Haas Seite 7 13 Inventarisierung mit RFID Transportschicht 04 05 2006 Bl cke lesen Read Multiple Blocks Request 6816 Mit diesem Befehl kann man mehrere Bl cke aus dem erweiterten Speicher lesen Man gibt dazu den Startblock und die Anzahl der zu lesenden Bl cke an Achtung Wenn die Readerantwort 255 Bytes bersteigen w rde bekommt man nur die Fehlermeldung Daten abgeschnitten zur ck Die Transportschicht teilt den Lesevorgang des ganzen Speichers deshalb in mehrere kleinere Lesevorg nge auf Bl cke schreiben Write Multiple Blocks Request Gel Mit diesem Befehl kann man mehrere Bl cke in den Speicher des Tr
126. icht von au en auf ihn zugreifen Sie sollten diese Sicherheitsl cke unbedingt schlie en 8 T u Te mm Abbildung 8 6 phpMyAdmin Startseite Im folgenden Beispiel wurde eine Datenbank mit dem Namen test_tb angelegt Im Drop Down Men Abbildung 8 6 Markierung 3 kann diese anschlie end ausgew hlt werden um eine Tabelle hinzuzuf gen Server localhost gt Datenbank Gitest_db EY Struktur Exportieren Suche GiAbfrageeditor Operationen L schen Datenbank test_db wurde erzeugt phphiyAdmin EI AQ Datenbank test_db x SQL Befehl CREATE DATABASE test_db Bearbeiten PHP Code erzeugen Es wurden keine Tabellen in der Datenbank gefunden test_db 2 Neue Tabelle in Datenbank test_db erstellen Es wurden keine Tabellen in der Name ltest_table Datenbank gefunden Felder 3 Abbildung 8 7 phpMyAdmin Tabelle anlegen In die Eingabefelder Abbildung 8 7 Markierung 1 muss der Name und die Spaltenanzahl der Tabelle angegeben werden In diesem Fall eine Tabelle mit 3 Spalten und dem Namen test_table SR Wil Rome Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 4 Inventarisierung mit RFID Webanwendung 04 05 2006 Nach dem Bestatigen der Eingaben mit OK erscheint folgende Eingabemaske Feld Typ Lange zer Kollation Attribute Hull Standard VARCHAR m EI el not nun e VARCHAR sell x sel not null a VARCHAR Lal
127. in a document you have written include a copy of the License in the document and put the following copyright and license notices just after the title page Copyright YEAR YOUR NAME Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License If you have Invariant Sections Front Cover Texts and Back Cover Texts replace the with Texts line with this with the Invariant Sections being LIST THEIR TITLES with the Front Cover Texts being LIST and with the Back Cover Texts being LIST If you have Invariant Sections without Cover Texts or some other combination of the three merge those two alternatives to suit the situation If your document contains nontrivial examples of program code we recommend releasing these examples in parallel under your choice of free software license such as the GNU General Public License to permit their use in free software SR Wil be PORTAN HTBL Hollabrunn Seite G 4
128. indeutigen Identifizierbarkeit von Datens tzen 8 2 2 ER Modell F r die Webanwendung wurde eine Datenbank verwendet die aus 5 Tabellen besteht Die Bezeichnung der entwickelten Datenbank lautet pcinventar service pc A adapters locations adapter PK usera pcname description oo location vorname cpu CG nachname name ram nick grafik rechte mac eintrittsdatum comment sstatus aufnahmedatum ei p srfid sname slocation spulk sdate Abbildung 8 9 ER Modell SR Wil Ree e HTBL Hollabrunn Sebastian GlaBner Seite 8 6 Inventarisierung mit RFID Webanwendung 04 05 2006 8 2 3 Tabellenstruktur Anmerkungen kursiv gt Primary Key fett gt Unique Tabellenstruktur fur Tabelle adapters 11 CURRENT_TIMESTAM Diese Tabelle dient als Benutzertabelle In inr werden die Registrierungsdaten der Systemuser gespeichert Tabellenstruktur f r Tabelle locations Feld Tip Nui Standard escription In dieser Tabelle werden die Computer Raume gespeichert Tabellenstruktur f r Tabelle main Feld typ _ Null Standard a parchar i0o Nen pename __ varehariao e eier mim eg cou aufnahmedatumltimestamp URRENT_TIMESTAM In der Tabelle main werden die Rechner mit ihrer Hardwarekonfiguration abgelegt Sie dient der Verwaltung des Rechner Inventars SR WTL ag pe HTBL Hollabrunn Sebastian GlaBner Seite 8 7 Inventarisierung mit RFID Webanwendung 04 0
129. iner Reader Antwort entsprechen die Attribute den angefragten Daten Das erste Datenbyte Daten ist das Status Byte Es gibt an ob der Vorgang erfolgreich abgeschlossen wurde 00pex oder nicht gt 00pex F r das Byte sind folgende Werte und Bedeutungen bekannt Tabelle 7 1 Fehlercodes Kein Fehler H HF ASIC Not ABLOCK 45 Kein Transponder 1 144436 SDESELELT Error 46 Ung ltiges AF Format F 14443 Daten falsch 4 Ungultige Gerate ID 14 Man CID not support Transponders 48 Unguitige Aktion 16 Kollision BPSK und oder CID 49 Falscher Download Zustand 17 Kollision BPSK Decode AU Schreiben fehlgeschlagen 18 144436 abgebrochen 51 Ungultige Adresse 13 Transpanderpuffer woll DA Ungultige Baudrate 20 144434 Uplink Parity p3 Ungultige Pr fziffer 21 144434 ATS DA Fein Timer verf gbar ER 144434 PPS AA Ungultige Entity ID 23 144434 Cascade Level HE Daten abgeschnitten 24 144434 SAK CAC AY kein Datenlesen 25 BFSK Kein Fehler GA Ungultiges Start Byte 26 EFSE bad frame wait 65 Ungultige CAC ER BPSE bad value baud BE Befehl ungleich Antwort 28 EFSE annullert ER 144434 Daten falsch ER BPSE wischentrager ata 144436 Daten falsch 33 BPSE TAO Timeout 69 144436 kein Transponder 34 BPSK ACY Uberlaut ZU HF ASIC Empfangs Timeout 35 BPSE kein SOF Fl HF ASIC abgebrochen J36 BPSK kein EOF fe HF ASIC ATOB Error ER BPSE TAT Timeout fa HF ASIC Prot Tyo 30 EFSK CAC Fehler ZA HF ASIC ungultige CID 39 EFSE frame error 75 HF ASIC ungultige NAD 40 Modul
130. infachen Nutzung von SOAP im Zielprogramm wurde das Microsoft SOAP Toolkit 3 0 installiert Die Funktionen des Toolkits werden im CVI als Ger tetreiber angezeigt 5 5 Webanwendung Datenbank Das Inventarisierungssystem basiert auf einem Server Client Modell Das hei t ein Client kann mit Hilfe eines Webbrowsers auf den auf den Server zugreifen Die Verbindung zwischen dem Server und dem Client erfolgt mit Hilfe einer IP Verbindung die in einem lokalen Netzwerk realisiert ist Um mit der Webanwendung arbeiten zu k nnen m ssen auf der Clientseite nur Standardprogramme installiert sein Das hei t es muss ein Betriebssystem und ein Webbrowser verf gbar sein In Abbildung 5 2 ist der prinzipielle Aufbau einer Server Client Verbindung zu erkennen MySQL Datenbank Webbrowser IP Verbindung HTML interpreter Web anwendung Client Server Abbildung 5 2 Server Client Verbindung In den folgenden Abschnitten wird die Auswahl der f r die Webanwendung verwendeten Software erl utert 5 5 1 Webserver Als Webserver kam von Anfang an nur Apache HTTP Server in Frage Ein gro er Vorteil des Apache ist dass er wie alle Produkte der Apache Software Foundation kostenlos als Open Source unter der Apache Lizenz verf gbar ist Der Apache bietet die M glichkeit mittels serverseitiger Skriptsprachen Webseiten dynamisch zu erstellen Unterst tzt werden dabei unter anderem PHP und Perl Dar ber hinaus ist Apache f r Unix sowie auch f
131. ion 1 0 encoding UTF 8 standalone no gt lt SOAP ENV Envelope xmlns SOAPSDK1 http www w3 org 2001 XMLSchema xmlns SOAPSDK2 http www w3 org 2001 XMLSchema instance xmIns SOAPSDK3 http schemas xmlsoap org soap encoding xmlns SOAP ENV http schemas xmlsoap org soap enve lope gt lt SOAP ENV Body SOAP ENV encodingStyle http schemas xmlsoap org soap encoding gt lt SOAPSDK4 addiere xmIns SOAPSDK4 urn xmethodsTestServer gt lt suml gt 371 lt suml gt lt sum2 gt 9 lt sum2 gt lt SOAPSDK4 addiere gt lt SOAP ENV Body gt lt SOAP ENV Enve lope gt EL WTL et Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 34 Inventarisierung mit RFID Webanwendung 04 05 2006 SOAP Antwort lt xml version 1 0 encoding UTF 8 gt lt SOAP ENV Envelope xmlns SOAP ENV http schemas xmlsoap org soap envelope xmIns ns1l urn xmethodsTestServer xmIns xsd http www w3 org 2001 xMLSchema xmIns xsi http www w3 org 2001 xMLSchema instance xmlns SOAP ENC http schemas xmlsoap org soap encoding gt lt SOAP ENV Body gt lt nsl addiereResponse gt SE XSi type xsd float gt lt Result gt lt nsl addiereResponse gt lt SOAP ENV Body gt lt SOAP ENV Envelope gt Aus diesem Beispiel ist zu erkennen das der Server auf die Anfrage die beiden Zahlen 371 und 9 zu addieren das Ergebnis 380 zur ck liefert 8 10 3 SOAP Server Die verwendeten Funktionen sind in Kapitel 6 6 8 Theoretisch
132. it mit Webdiensten an Am Server befindet sich ein Skript SoapServer php im Verzeichnis htdocs soap welches das eigentliche Webservice anbietet Die M glichkeiten eines Webservices sollen anhand des folgenden Beispiels n her erl utert werden 8 10 2 Beispiel Server Zun chst muss ein Serverskript erstellt werden welches den Webdienst zur Verf gung stellt lt php function addiere suml sum2 res suml sum2 datei fopen F datei txt w fwrite datei suml sum2 fwrite datei res return res server new SoapServer http localhost mywsdl wsd1 server gt addFunction addiere Funktion zum Server hinzuf gen server gt handle Hier wird die Abfrage abgearbeitet gt In diesem einfachen Beispiel wurde ein Soap Server erstellt die zwei Werte addiert und das Ergebnis ber SOAP an den Client zur ck schickt Das Ergebnis wird zus tzlich in einer Datei am Server gespeichert Die f r eine SOAP bertragung ben tigte WSDL Datei ist wie folgt aufgebaut Kopfbereich Im Kopfbereich erfolgen allgemeine Angaben zur WSDL Datei Hier befindet sich auch der einleitende lt definitions gt Tag der den Beginn der Definition kennzeichnet lt xml version 1 0 encoding UTF 8 gt lt definitions name TestServer Name der Definition xmIns tns http 172 31 11 21 mywsdl wsd1 Pfad zur WSDL Datei targetNamespace http 172 31 11 21 mywsd1 wsd1 xmIns soap http sche
133. jekt CD Transportschicht Installer RFID invent 1_0 Installer msi installiert werden Das CVI Projekt befindet sich auf der Projekt CD unter Transportschicht Entwicklung Source Eine Demo Version von CVI kann mit Transportschicht Entwicklung CVI 8 0 zip installiert werden Diese ist 30 Tage lauffahig jedoch haben die damit kompilierten Programme ab dem 8 Tag nach der Installation nur eine Laufzeit von 10 Minuten Die Neuninstallation von CVI nach den 30 Testtagen gelang nur wenn vor der Neuninstallation CVI 7 installiert wurde Grp HTBL Hollabrunn Mathias Wallner Haas Seite 7 1 Inventarisierung mit RFID Transportschicht 04 05 2006 7 2 Senden und Empfangen von RFID Daten Das Ziel dieses Kapitels ist das Anwendungs Layer Protokoll und dessen Funktionen welche vom Multi Function Reader MFR unterst tzt werden zu erl utern Der Mikrocontroller des Readers kann zwar neu programmiert werden das war jedoch nicht notwendig da das Tl Programm bereits alle ben tigten Funktionen beherrscht Das Anwendungs Layer Modul and verschiedene Bibliotheken bilden die Basisanwendung Der Anwendungs Layer dient als Schnittstelle zu den Bibliotheken und bietet deren Funktionen an Der Reader unterstutzt folgende Funktionen 1 14443 Layer 2 3 4 beide Typen A amp B 15693 Layer 2 and 3 Tag itrm TI RFID LF DST RO RW Serieller E A mit TTL Pegel 2 oS 7 2 1 Paketstruktur Um nun den Reader ansteuern zu k nnen muss man wissen
134. le das Kommentarfeld an Abbildung 8 31 Detailansicht Mit kann ein Rechner editiert werden Hierzu wird das in Abbildung 8 29 abgebildete Formular mit den vorhandenen Spalteneintr gen des Rechners angezeigt Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 27 Inventarisierung mit RFID Webanwendung 04 05 2006 Mit dem Button D kann der ausgew hlte Rechner aus der Tabelle main gel scht werden Um unabsichtliches L schen zu verhindern erscheint bei Klick auf den l schen Button diese Best tigungsmaske welche die Detailansicht des zu entfernenden Rechners enth lt Diesen Eintrag wirklich l schen Achtung Es werden auch alle zum PC geh renden Services gel scht Inventar Nummer 95 RFID e0 07 00 00 01 7733 21 PC Name FTKL 01 PC Raum FTKL CPU P4 3 06GHz RAM 512MB NIC Linksys 2340 Grafik Radeon 9600 MAC 13 13 13 13 13 13 Kommentar Dies ist das Kommentarfeld Aufnahmedatum 25 11 2005 11 55 18 Geer Abbildung 8 32 L schbest tigung Der Master User kann auch wie ein aktivierter registrierter User neue Serviceeintr ge erstellen Abbildung 8 28 In der Spalte Services ist hierzu der Button 29 vorhanden Die Schaltfl che 2 dient zum Umschalten auf die Serviceansicht Abbildung 8 20 8 8 4 Services m_service php Die grunds tzliche Aufbau dieses Skriptes entspricht dem von g_service php Kapitel 8 6 4 Der Master User hat zus tzlich wie im Men punkt PC Verwaltung die M glichkeit
135. le e DEE 6 2 6 1 4 FLEQUSERZBETEICHE EE 6 2 6 1 5 EinsalzgeDlete Ans es E EEEE 6 3 6 1 6 PransponderbaulornneN eeneg Eegen 6 4 6 1 7 ENEFgIEVELSOTQUNG EE 6 5 618 WEMSDOMGCTAUTO EE 6 6 BAGS ae ee EE 6 7 6 1 10 weiterer Speicherbereich Ver nderbarkeit n00000nnnnnnnnnnnnnnnnnsnnennrnnnnrnnnnnrrnrrensennenne 6 8 2 al WR PRAMSOOMOST ZU StI EE 6 9 al ATL HTBL Hollabrunn von IV GEET Inventarisierung mit RFID Inhaltsverzeichnis 04 05 2006 6 2 XML eXtensible Markup Language ANEREN REENEN 6 9 6 2 1 AML BE DIG EEN 6 10 89 Eed E EE 6 11 6 3 1 Str kt r emer SOAP NACHFICHEN cats ed ege Braun 6 11 632 SOAP UDEM HIT TP ER 6 12 6 3 3 WSDL Web Services Description Language 6 13 624 RR EE 6 14 6 4 1 AIGEMEINES EE 6 14 64 2 0 ge 0 51 EE 6 14 6A ET EE 6 14 GE EIDES EE 6 15 645 Brallken ee eddi 6 15 6 4 6 Seil 6 15 6 4 7 Allgemeine Block Elementen 6 16 E EE EE 6 16 6 5 1 PAG Eat EE 6 16 65 27 CSS Eu DION BE 6 16 6 5 3 Einbindung einer CSS Date 6 17 ER STIRE mi E 6 17 6 6 1 FIG nn 6 17 6 6 2 EINBEHUNG INT UE 6 17 6 63 tee Ee 6 17 6 6 4 Kohner 6 18 6 6 5 KONTOS TOKTEN c Sa a G a aa aaa a aa aa a e aea a EEN 6 18 6 6 6 Slide inte 6 19 6 6 7 Allgemeine Fopletpnen ageisereagds desse ed Gecceracsnaensadeesaessdanenetced asdeduadehnccocadaends 6 19 668 Spezielle Funktionen ea d EE dE ee 6 22 0 7 E 6 24 6 7 1 Komponenten eines DatenbanksystemsS nn 6 24 6 7 2 Ebenen eines DatenbanksystemS nn 6 2
136. lle Funktionen SOAP Funktionen PHP bietet ab der Version 5 0 implementierte Funktionen an die das SOAP Protokoll unterst tzen Diese Funktionen sind allerdings bei der Grundinstallation von XAMPP deaktiviert Sie m ssen durch entsprechende Konfiguration der php ini Datei aktiviert werden siehe Kapitel 8 1 5 SoapClient Erstellt einen neuen SOAP Client Als Parameter wird der Pfad zur WSDL Datei angegeben Syntax client new SoapClient f7 e wsd7 SoapServer Erstellt einen neuen SOAP Server Als Parameter wird der Pfad zur WSDL Datei angegeben Syntax server new SoapServer f7 e wsd handle Dient zum Abarbeiten einer SOAP Anfrage handle geh rt zur Klasse SoapServer class SoapServer void handle string soap_request Syntax SoapServer gt handle addFunction F gt eine Funktion zum SOAP Server hinzu Das hei t der SOAP Client kann bei entsprechender Anfrage auf die Funktion zugreifen Die hinzuzuf gende Funktion muss die in einer WSDL Datei spezifizierten Argumente in der richtigen Reihenfolge enthalten addFunction geh rt zur Klasse SoapServer class SoapServer void addFunction mixed Functions Syntax SoapServer gt addFunction function_name pii ATL HTBL Hollabrunn Sebastian GlaBner Seite 6 22 GEET Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 MySQL Funktionen Die MySQL Funktionen erm glichen die Kommunikation eines PHP Skriptes mit einer M
137. m Formular ausgegeben Wenn die Login Informationen korrekt sind wird die UserlD aus der Tabelle adapters in der Session Variable userid die mit _SESSION userid abgefragt werden kann registriert session_register Zum Abschluss des erfolgreichen Anmeldevorgangs erfolgt eine Weiterleitung zur Startseite Die Login M glichkeit steht dem Gast User auch auf der Startseite main php zur Verf gung DOPTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 18 Inventarisierung mit RFID Webanwendung 04 05 2006 8 5 3 logout php logout php steht nur f r Angemeldete Benutzer zur Verf gung In logout php wird die Registrierung der Session Variable _SESSION userid session_unregister aufgehoben wenn der Button Logout bet tigt wird Das hei t die aktuelle Sitzung wird beendet Es erfolgt au erdem eine Weiterleitung zur Startseite Der Benutzer des Systems ist von nun an wieder mit Gast Rechten unterwegs Sie sind eingeloggt als master Inventarisierung nit RFID amp Sebastian Glabner 2005 2006 EEE WS EEH Abbildung 8 16 Logout Die Logout M glichkeit steht dem angemeldeten User auch auf der Startseite main php zur Verfugung 8 5 4 registierung php Wie aus Abbildung 8 15 Markierung 1 ersichtlich ist steht einem Benutzer der sich als Gast auf der Oberfl che bewegt auch die Registrierung zur Verf gung Mit Hilfe der Registrierung werden die im Formular angegebenen Account Daten in die Tabelle ada
138. mas xmlsoap org wsd1 soap Standards f r WSDL xmIns xsd http www w3 org 2001 XMLSchema xmlns soapenc http schemas xmlsoap EES xmIns wsdl http schemas xmlsoap org wsdl xmIns http schemas xmlsoap org wsd1l gt Message Zwischen den Message Tags werden die einzelnen Nachrichten definiert Mit der Eigenschaft name wird der Name f r diese Nachricht festgelegt Die Zeile mit dem part bestimmt die Variablen die bergeben werden sowie ihren Datentyp lt message name addiereAnfrage gt Name der Funktion lt part name suml type xsd float gt lt part name sum2 type xsd float gt lt message gt lt message name addiereAntwort gt Name der Funktion lt part name Result type xsd float gt lt message gt el MTL HTBL Hollabrunn Sebastian GlaBner Seite 8 33 GEET Inventarisierung mit RFID Webanwendung 04 05 2006 Port Type Hier wird festgelegt welche Funktion welche Message bekommt Also in unserem Beispiel bekommt die Operation addiere eine Input Message und eine Output Message zugeschrieben Als Operation wird die eigentlich Funktion bezeichnet Konkret hei t das dass hier festgelegt wird dass die Message addiereAnfrage der Funktionsaufruf an den Server ist Eingangsnachricht und die Message addiereAntwort den R ckgabewert darstellt Ausgangsnachricht lt portType name TestServerPorttType gt lt operation name addiere gt lt input message tns addi
139. meinsamen Bereich eingeschlossen werden Diese allgemeinen Block Elemente bewirken nichts weiter als eine neue Flie textzeile zu beginnen Ansonsten haben sie keine Eigenschaften Allgemeine Block Elemente sind dazu gedacht um mit Hilfe von CSS formatiert zu werden Syntax lt div class rot gt Dieser Text ist rot und fett gedruckt lt div gt Mit der entsprechenden Style Sheet Klasse rot die als class Attribut angegeben wird erfolgt die Formatierung des Textes zwischen den lt div gt lt div gt Tags Die allgemeinen Block Elemente werden zum Aufbau des Web Projekt Seiten verwendet Denn sie sind im Gegensatz zu Tabellen Layouts daf r vorgesehen 6 5 CSS 6 5 1 Allgemeines Stylesheets sind eine unmittelbare Erg nzung zu HTML Es handelt sich dabei um eine Sprache zur Definition von Formateigenschaften einzelner HTML Elemente bzw Klassen Ein weiteres wichtiges Leistungsmerkmal von CSS ist die M glichkeit zentrale Formate zu definieren Im Kopf einer HTML Datei k nnen zentrale Definitionen zum Aussehen eines Elements notiert werden Alle Elemente der entsprechenden HTML Datei erhalten dann die Formateigenschaften die einmal zentral definiert sind Stylesheet Definitionen k nnen auch in einer separaten Datei vorgenommen werden Genau wie HTML wird auch CSS vom W3 Konsortium normiert Es handelt sich also um einen firmenunabh ngigen offen dokumentierten und frei verwendbaren Standard Eine umfassende Beschreibung der Cas
140. n error ComRd comport ans 4 Headerbytes lesen if Cans 0 1 amp amp Cans 3 3 Startbyte SOF Device ID LRC CCans O0 Aans 1 Aans 2 Aans 3 LRC der 1 4 Bytes A XOR laenge ans 1 265 ans 2 L nge der Antwort einlesen ComRd comport ans laenge 4 weitere Daten holen for i 0 i lt laenge 4 i LRC der restl Bytes berechnen LRC LRCAans 1 LRC Byte if LRC ans laenge 5 amp amp Cans laenge 5 ans laenge 6 255 richtige LRC LRC muss FFhex sein SetctrlVal panelHandle op FEEDBACK Checksum OK positiven Checksumstatus ausgeben else SetCtrlVal panelHandle op FEEDBACK Wrong Checksum negativen Checksumstatus ausgeben erroraction was tun wenn ein Fehler zur ckgegeben wird getvalues Auswerten des Datenstrings sp ter erkl rt return error 7 2 4 Verarbeiten der Readerdaten In sendRFID wird das Unterprogramm f r das Holen der Attribute aufgerufen putvalues und in readRFID wird das Unterprogramm f r das Auswerten der empfangenen Daten aufgerufen getvalues Gap HTBL Hollabrunn Mathias Wallner Haas Seite 7 6 Inventarisierung mit RFID Transportschicht 04 05 2006 Die Unterprogramme sind relativ umfangreich und werden daher nicht zur Ganze erl utert Da sie aber sehr haufig genutzt werden und die meisten RFID Funktionen dort verarbeitet werden wird die Funktionsweise erlautert Somit soll die Erweiterung bzw nderung der Funktionsverarbeitung d
141. n kann der Transponder einen weiteren Speicherbereich haben Die Gr e dieses Speichers bestimmt der Hersteller Die realisierte Speichergr e kann vom Transponder abgefragt werden Unsere Transponder haben 112 SmartTEC bzw 256 TI Bytes zus tzlichen Speicher integriert Der Speicher wird blockweise angesprochen Wenn man also etwas auf diesen Speicher schreiben oder von ihm lesen will so kann man mit einem Befehl immer nur die Bl cke ansprechen Ein Block entspricht entweder 4 typisch oder 256 Bytes sehr selten Will man z B das 7te Byte schreibsch tzen so muss man dies am gesamten 2 Block also die Bytes 4 bis 7 machen Grp HTBL Hollabrunn Mathias Wallner Haas Seite 6 8 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Veranderbarkeit des Speichers Read Only Transponder Diese Transponder erlauben nur das Auslesen des Speichers Haufig wird nur eine Seriennummer gespeichert Der Speicher f llt daher sehr klein aus gen gt aber um z B Waren zu unterscheiden Vorteile sehr g nstig in der Produktion vor unbefugter Manipulation gesch tzt Nachteile auch nicht von Befugten nderbar Einsatzgebiete Warenmanagement Inventarisierung Tierhaltung Write Once Read Many Transponder WORM WORM Transponder kann man nur einmal beschreiben und beliebig oft auslesen Vorteile Der Anwender kann den Speicher einmal beschreiben und ab da an ist der Speicher vor jedem anderen Schreibzugriff gesch tzt
142. n tigt der Anwender ein Datenbank Verwaltungssystem DBMS engl Data Base Management System Die Kombination aus DB und DBMS ist das Datenbanksystem DBS engl Data Base System das jedoch h ufig f lschlicherweise als Datenbank bezeichnet wird Anwendung KS Anwendung n DBMS Datenbank Abbildung 6 6 Struktur eines DBS 6 7 2 Ebenen eines Datenbanksystems Ein Datenbanksystem besteht aus vier Ebenen d t Programm n Konzeptionelle Ebene Betriebssystem Abbildung 6 7 Ebenen eines DBS SR WTL ee e HTBL Hollabrunn Sebastian GlaBner Seite 6 24 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 1 Betriebssystem Dies ist die unterste Ebene auf der jede Computeranwendung basiert Interne Ebene Auf der internen Ebene erfolgt die physische Speicherung der Daten Die Speicherlogik die dabei verwendet wird h ngt vom DBMS ab und kann dem Entwickler ziemlich egal sein da er lediglich ber die konzeptionelle Ebene auf die DB zugreift Den Anwender braucht weder die interne noch die konzeptionelle Ebene zu k mmern da er erst ber die oberste n mlich die externe Ebene auf die DB zugreift Konzeptionelle Ebene Auf der dritten der konzeptionellen Ebene wird das Datenmodell beschrieben Durch ein Datenmodell wird eine reale Anwendung umgelegt Im Datenmodell sind die Strukturen der Daten und ihre Beziehung zueinander festgelegt Nach der Art wie die Beziehungen in dem Datenmodell geregelt
143. n einem Interpreter ein anderes Programm ausgef hrt werden SOAP ist ein Protokoll mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgef hrt werden k nnen SOAP st tzt sich auf die Dienste anderer Standards XML zur Repr sentation der Daten und Internet Protokolle der Transport und Anwendungsschicht vgl TCP IP Referenzmodell zur Ubertragung der Nachrichten Die g ngigste Kombination ist SOAP ber HTTP und TCP Unique ID Einzigartige Identifikationsnummer des Transponders User ist der englische Ausdruck f r Benutzer Sebastian Gla ner Mathias Wallner Haas Seite C 2 Inventarisierung mit RFID Glossar 04 05 2006 Die Web Services Description Language definiert einen plattform programmiersprachen und protokollunabh ngigen XML Standard zur Beschreibung von Netzwerkdiensten Webservices zum Austausch von Nachrichten WSDL Die Extensible Markup Language abgek rzt XML ist ein Standard zur Erstellung maschinen und menschenlesbarer Dokumente in Form einer Baumstruktur XML definiert dabei die Regeln f r den Aufbau solcher XML Dokumente F r einen konkreten Anwendungsfall XML Anwendung m ssen die Details der jeweiligen Dokumente spezifiziert werden Dies betrifft insbesondere die Festlegung der Strukturelemente und ihre Anordnung innerhalb des Dokumentenbaums CEECEE REL POLA OUNN Mathias Wallner Haas Seite C 3 Inventarisierung mit RFID Installationsanleitung 04 0
144. n im Verzeichnis content gesetzt Abschlie end erfolgt noch die Ausgabe des HTML Footer s der das HTML Grundger st abschlie t und die Beendigung der Datenbankverbindung mysql_close sowie der Session session_destroy SR WTL ug pe HTBL Hollabrunn Sebastian GlaBner Seite 8 14 Inventarisierung mit RFID Webanwendung 04 05 2006 8 4 3 config php In dieser Datei werden die wichtigsten Pfade ausgehend vom Root Verzeichnis als Funktionen definiert Dies hat den Sinn das bei einer eventuellen Umbenennung eines Unterverzeichnisses nur die config php aktualisiert werden muss sofern die angegebenen Funktionsnamen auf den weiteren Seiten verwendet werden Die Datei befindet sich im Verzeichnis template function domain gibt die Servernamen zur ck str _SERVER SERVER_NAME return http str function content dir OD gibt den rel Pfad des content Verz zur ck return content function template_dir gibt den rel Pfad des template Verz zur ck return template 8 4 4 functions php In functions php im Verzeichnis template sind selbst definierte Funktionen gespeichert Die jeweiligen Funktionen sollen nicht nur Schreibarbeit ersparen sie sollen auch f r die notwendige bersichtlichkeit sorgen Hier eine kurze Erkl rung der erstellten Funktionen sql_error e wird bei Zugriffsfehlern auf Tabellen verwendet e gibt den SQL Code und anschlieBend den MySQL Error Text aus function sql_er
145. nce in this License but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License El Wil GE JEJ HTBL Hollabrunn Seite G 1 Inventarisierung mit RFID GNU 04 05 2006 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or noncommercially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Documents license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The f
146. nd noch nicht abgefragten Eintrag aus der Tabelle rfidsearch sucht bei dem die in rfid php ermittelte IP Adresse mit der bei der SOAP bertragung im Server Skript ermittelten IP bereinstimmt ek le HTBL Hollabrunn Sebastian GlaBner Seite 8 22 Inventarisierung mit RFID Webanwendung 04 05 2006 Die Abfrage der Suchergebnisse mittels Webanwendung kann daher nur vom Rechner ausgefthrt werden an dem der Transponder eingelesen wurde Verl uft die Datenabfrage aus der Tabelle rfidsearch erfolgreich wird in der Tabelle main nach Eintr gen gesucht die die Unique ID Nummer des eingelesenen Transponders in der Spalte rfid aufweisen Sofern der Transponder und somit der Rechner in der Datenbank gefunden wird erscheint folgende Ausgabe RFID Suche erneut Suchen gt gt D Auf dem Tag gespeicherte Informationen RFID PC Name PC Raum Pulk Datum 199 e0 07 0000 18 66 39 7e unbekannt unbekannt 1 22 03 2006 16 59 08 Suchergebnis PC PC Name Raum e0 07 00 5GHz Intel QuadsLl Nvidia q 104 001866 Net2 3 NET2 Centrino eee sche al q Geforce 12 12 12 12 12 12 ER JE 39 7e Quad 8700GTX D RFID CPU RAM NIC Grafik MAC Erstelltam Services 4 Inventarisierung mit RFID e Sebastian Gla ner 2005 2006 ws EE wa ESCHER Abbildung 8 23 Erfolgreiche RFID Suche In Markierung 2 werden die auf dem Transponder gespeicherten Daten angezeigt Markierung 3 zeigt den mit der Unique ID des Transponders verkn pften
147. ngsebene 01 nex Version Version Request 4046 Die Funktion gibt alle Bibliotheks Modul Versionen zur ck Die Transportschicht schreibt die Readerversionen in das Reader Version Textfeld JACCO HTBL Hollabrunn Mathias Wallner Haas Seite 7 11 Inventarisierung mit RFID Transportschicht 04 05 2006 Tag finden Find Token Request 4116 Die Anzahl der Schleifen die der Reader nach Transpondern suchen soll wird Ubergeben Je mehr Schleifen angegeben sind umso langer dauert der Lesevorgang Das bedeutet dass der RS232 Timeout gegebenenfalls erh ht werden muss pro Schleife 0 5 Sekunden Wird in einer Schleife ein Transponder gefunden so werden alle brigen Schleifen nicht mehr ausgef hrt sondern sofort der gefundene Transponder zur ckgeschickt Die Funktion selbst sucht nach ISO14443A ISO14443B 1SO15693 Tag It und DST LF Transpondern Je nach Priorit tseinstellung wird aber nur einer der Transpondertypen wenn vorhanden angezeigt e Wird kein Transponder gefunden so wird in der Readerantwort das Statusbyte 01pex kein Transponder zur ckgegeben e Wird ein Transponder gefunden so werden dessen UID und der Transpondertyp zur ckgesandt e Findet der Reader mehr als einen Transponder eines Transpondertyps z B 2 x ISO15693 so wird ebenfalls nur eine UID angezeigt das Statusbyte in der Readerantwort hat aber nicht mehr den Wert Our kein Fehler sondern 57pex Kollision entdeckt Tag Priorit t Set
148. nigen Untersuchungen bez glich der Reichweite und der St rbarkeit der RFID bertragung schieden s mtliche LF Transponder aus Diese sind stark Lageabh ngig und die Reichweite ist wesentlich k rzer als bei den HF Transpondern Ein weiterer Vorteil der HF Transponder ist Pulkf higkeit was bedeutet das Antikollisionsverfahren unterst tzt werden welche erlauben mehrere Tags gleichzeitig einzulesen Tabelle 5 1 Unterschiede der Transponder nach Frequenzbereich bis 2kBit bis 2kBit bis 256kBit 5s ca om Fur unseren Anwendungszweck wurden also HF Transponder gewahlt Die Labels sollen auf den Gehausen der PCs aufgeklebt werden Da sich Transponder des 13 56MHz Frequenzbereichs noch stark von Metallteilen beeinflussen lassen w hlten wir die Kunststofffront des PC Geh uses als Transponder Befestigungsstelle Das RFID Label ist im Idealfall selbstklebend und wird auf der Innenseite der Kunststoffverkleidung angebracht um es vor Besch digungen zu sch tzen Es wurden entsprechende Anfragen an RFID Transponderhersteller gesandt Positive Antwort bekamen wir von der Firma SmartTEC welche uns mit drei 13 56MHz Transondern unterst tzte Die Transponder sind wie von uns angefragt selbstklebend haben einen 112Byte gro en Speicher und entsprechen der 15015693 Norm Der Transponder nutzt einen Philips Mikrocontroller SmartTEC machte uns ein Angbot f r 600 solcher smart LABELs zum Preis von 500 Nachdem wir unsere Wunschtransponder erh
149. nkette berein stimmt mit dem Ende einer Zeichenkette berein stimmt mit einem beliebigen Zeichen berein simmt mit jeder Folge von 0 od mehr x Zeichen berein x Beispiel SELECT FROM tabellel WHERE spaltel REGEXP AA Gibt alle Tupel der tabelle1 aus die in spalte1 die exakte Zeichenfolge A aufweisen Beispiel SELECT FROM tabellel WHERE spaltel REGEXP Gibt alle Tupel der tabelle1 aus die in spalte1 eine beliebige Zeichenfolge aufweisen HTBL Hollabrunn Sebastian Gla ner Seite 6 27 Inventarisierung mit RFID Transportschicht 04 05 2006 7 Transportschicht In diesem Kapitel sollen die Zwecke die Funktionsweise und die Bedienung der Transportschicht beschrieben werden 7 1 Grundsystem EEE Datenbank SOAP Server RFID Reader CHI 1S015693CMD 23 SCRIPT ISO15693CMD 23 ISO15693CMD 108 Abbildung 7 1 Transportschicht Die Transportschicht dient zu folgenden Zwecken e Senden und Empfangen von RFID Reader Daten e Senden und Empfangen von SOAP Daten e User Interface f r Interaktion mit Personen e Ausf hren eines Skripts zur Automatisierung der Transportschicht Um ein Programm mit diesen F higkeiten effektiv realisieren zu k nnen w hlten wir LabWindows CVI 8 0 als Entwicklungsumgebung S mtliche Quellcodes der Transportschicht sind also ANSI C Codes Das Programm selbst wurde RFIDinvent getauft und kann mit dem Installer auf der Pro
150. nventarisierung mit RFID Transportschicht 04 05 2006 7 5 2 Realisierte Script Befehle LAYER Stellt die Ebene des Befehls ein siehe Punkt 7 2 2 ISO15693CMD Stellt den gew nschten Befehl ein UID Kopiert die UID aus der Auflistung der gefundenen Tags SEND Schickt den Befehl an den Reader SOAP Schickt die Tagdaten ber die XML Schnittstelle LOOPS Stellt die Schleifenanzahl f r den Tag suchen Befehl ein WSDL Stellt den Pfad f r die WSDL Datei ein LED2 Stellt ein wann die LED2 angesteuert werden soll z B soap tag error LED3 Stellt ein wann die LED3 angesteuert werden soll z B soap tag error SUMMER Stellt ein wann der Summer angesteuert werden soll z B soap tag error ASYNCH F gt einen Eintrag zur Liste der asynchron anzusprechenden Tags hinzu POLLED F gt einen Eintrag zur Liste der synchron anzusprechenden Tags hinzu Beispiele f r die Anwendung der Befehle sind in den Skriptdateien script rfs und start rfs enthalten 7 6 Logdatei Das Programm kann auf Wunsch alle Schreib und Lesevorg nge zwischen Reader und PC aufzeichnen In der Log Datei kann man Datum und Uhrzeit des Vorgangs einsehen und welche Daten bertragen worden sind Im Logfile werden auch SOAP Aktivit ten aufgezeichnet Ein Logfile k nnte also folgenderma en Aussehen 2006 09 06 35 Sendestring 01 14 00 03 04 68 00 00 3d 02 88 50 d5 06 00 00 56 2006 09 06 36 Empfangsstring 01 16 00 03 04 68 00 00 00 00 00 00 00 00 00 00 00 78 87
151. odule Die Spannungsversorgung erfolgt ber ein 230V 5V Netzteil Das Modul besitzt drei TTL Ausg nge z B zur Ansteuerung von Signalgebern Das Programm des RFID Moduls kann per Firmware update ersetzt werden man k nnte sich die Firmware also auch selbst programmieren Der sofort funktionsf hige Reader ist in einem robusten Geh use verbaut Am TTL VO ist ein UART Baustein angeschlossen wodurch der Reader sofort mit beiliegendem RS232 Kabel am PC angeschlossen werden kann Der Reader kann auch ber RS485 Schnittstelle Buchse vorhanden angesteuert werden Die HF und LF Antennen sind angeschlossen An den TTL Ausg ngen des Moduls sind zwei LEDs und ein Summer angeschlossen Eine dritte LED signalisiert den betriebsbereiten Zustand Spannungsversorung LE Antenne 5V Power Supply m gliche Anwendung Heu en die p ak fe d E E Jm Ki BA Ze ih Q iE E rohes RFID Modul verbautes RFID Modul COOC TBE ROLA OTUNN Mathias Wallner Haas Seite 5 2 Inventarisierung mit RFID Realisierung 04 05 2006 5 3 2 RFID Transponder Wie bereits erw hnt stehen uns die Texas Instruments Transponder und die auf Anfrage kostenlos erhaltenen SmartTEC Transponder zur Verf gung Die Transponder von Texas Instruments bieten einen guten berblick ber die m glichen RFID Einsatzgebiete Jedoch sind nicht alle Transponder f r den Einsatz in der Inventarisierung der PCs der HTL Hollabrunn geeignet Nach ei
152. on name sendTagData gt lt input message tns TagDataRequest gt lt output message tns TagDataResponse gt lt operation gt lt portType gt Beschreibt die Informationen eines RFID Transponders lt SOAPSDK4 RFIDget xmlns SOAPSDK4 urn RFIDproject gt lt RFID gt e0O 07 00 00 06 d5 50 88 lt RFID gt lt type gt ISO 16593 HF lt type gt lt content gt hello world lt content gt lt about gt PC Reparatur lt about gt lt INr gt GKO6 20 lt INr gt lt birth gt 16 08 2005 lt birth gt lt lastchange gt 09 09 2005 lt lastchange gt lt SOAPSDKA RFIDget gt pe HTBL Hollabrunn Mathias Wallner Haas Seite 6 10 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 Die Beschreibung Uber XML ist nat rlich nicht auf den Bereich der Technik begrenzt Eigentlich alles was irgendwelche benennbaren und beschreibbaren Strukturen aufweist kann mit XML beschrieben werden Mit welcher Software man diese Daten visualisieren abspielen oder anderweitig verarbeiten kann ist damit noch nicht festgelegt Es geht zun chst nur mal darum Daten sinnvoll zu strukturieren und vollst ndig zu beschreiben Welche Elemente und Attribute erlaubt sind und wie diese Angeordnet sein d rfen wird in der DTD Document Type Definition beschrieben Diese werden in einer anderen Syntax definiert Wir mussten uns aber nicht damit besch ftigen da bereits DTDs f r SOAP siehe n chstes Kapitel vorhanden sind Die allen Beispiele
153. ort Typen portType Eine Menge von abstrakten Arbeitsschritten vier Typen von ausgetauschten Mitteilungen o One way Der Service bekommt eine Input Message vom Client o Request response Der Service bekommt einen Request Input Message vom Client und sendet eine Antwort Output Message o Solicit response Der Service sendet eine Message und erwartet eine Antwort vom Client o Notification Der Server sendet eine Output Message e Bindung bindin Bestimmt das konkrete Protokoll und Datenformat f r die Arbeitsschritte und Mitteilungen die durch einen bestimmten Port Typ gegeben sind e Ports port Spezifiziert eine Adresse fur eine Bindung also eine Kommunikationsschnittstelle Ublicherweise eine URI e Services service Fassen eine Menge von verwandten Ports zusammen WSDL wird haufig in Kombination mit SOAP und dem XML Schema verwendet um Web Services im Internet anzubieten Ein Client der einen Webservice aufruft kann WSDL lesen um zu bestimmen welche Funktionen auf dem Server verf gbar sind Alle verwendeten speziellen Datentypen sind in der WSDL Datei in XML Form eingebunden Der Client kann nun SOAP verwenden um eine in WSDL gelistete Funktion letztlich aufzurufen Genau das wurde von uns realisiert Unser WSDL Dokument und die Realisierung der bertragung der Daten ber SOAP kann im Kapitel 8 10 Webinterface nachgelesen werden UU HTBL Hollabrunn Mathias Wallner Haas Seite 6 13 Inventarisierung
154. pters eingetragen sofern diese g ltig sind Fe S Abbildung 8 17 zeigt das Registrierungsformular egistrieru Ng Alle Felder werden fur einen gultigen Eintrag benotigt Fehlen Angaben erscheint eine entsprechende Fehlermeldung Yorname Kein Vorname angegeben Nachname Kein Nachname angegeben Kein Nickname angegeben Kein Passwort angegeben Nickname Ist der gewahlte Nickname schon vorhanden Passwort wird z B Nickname admin ist bereits vorhanden Benutzer Anlegen angezeigt Abbildung 8 17 Registrierungsformular Nach erfolgreicher Registrierung wird eine Zusammenfassung der Account Daten ausgegeben Der angelegte User kann sich nun mit allen Rechten der Kategorie registrierter User auf der Oberfl che bewegen Alle User Gruppen die h here Rechte besitzen k nnen nur von einem Administrator in die adapters Tabelle eingetragen werden pe HTBL Hollabrunn Sebastian GlaBner Seite 8 19 Inventarisierung mit RFID Webanwendung 04 05 2006 8 6 Gast User 8 6 1 Allgemein Um sich als Gast auf der Oberflache zu bewegen ist kein Login notwendig Fur jeden Benutzer des Systems stehen folgende Funktionen zur Verf gung e Anzeige aller eingetragenen PCs mit allen m glichen Informationen die sich aus der Tabellenstruktur ergeben in Form einer Tabelle Zus tzlich wird in einer generierten Spalte die Anzahl der zu einem PC geh renden Serviceeintr ge angezeigt e Bei einem Mausklick auf den gew nschten Rechnerein
155. punktes SPALTE2 der Dateiname des entsprechenden Skriptes und ist der Index SR WTL ge pe HTBL Hollabrunn Sebastian GlaBner Seite 8 16 Inventarisierung mit RFID Webanwendung 04 05 2006 Abhangig vom Login Status der mit der Funktion UserRight ermittelt werden kann wird das entsprechende 2D Array in das Array menue kopiert anschlie end noch der Men punkt Login bzw Logout mit array_merge angehangt Mit diesem Code Abschnitt werden in weiterer Folge Links aus dem 2D Array menue generiert menue_var lt div class menue gt for i 0 i lt sizeof menue i item menue i zeile des 2D Arrays in 1D Array schreiben class menue_item Klasse f r inaktiven Men punkt if C content item 1 Aktuellen Men punkt hervorheben class menue_active Klasse f r aktiven Men punkt d title item 0 Seitentitel entspricht item 0 menue_var lt div class class gt lt a cClass menue href content item 1 gt item 0 lt a gt lt div gt lt div class menue_spacer gt lt div gt menue_var n lt div class menue_spacer2 gt lt a style width 100 margin Opx gt lt a gt lt div gt menue_var n lt div gt Die lt div gt Tags dienen der Formatierung des Men s Wird die Variable menue_var zum Beispiel mit der Men struktur des Gastes beschrieben entsteht bei Ausgabe der Variable mit echo in der index php
156. r SIDE AS Ho 12 04 20 39 7e Quad IV bes 8 O00GTX Inventarisierung mit RFID amp Sebastian Gla ner 2005 2006 Realcss 20 wa Eiern Abbildung 8 25 PC Inventar registrierter User SR WTL te 8 DOPTAN HTBL Hollabrunn Sebastian GlaBner Seite 8 24 Inventarisierung mit RFID Webanwendung 04 05 2006 Bei einem Klick auf den Button new ffnet sich ein Formular in welchem der Wartungsvorgang beschrieben werden kann Beschreibung des vorgenommenen Services RAM Speicher von 256MB auf S12MB vergr ert Nach dem Absenden des Formulars wird auf die Serviceansicht gewechselt siehe Kapitel 8 6 3 Abbildung 8 26 neues Service 8 7 4 Mein Account account php Wird ber den Men punkt Mein Account das Skript account php eingebunden werden die Daten des aktuell eingeloggten Benutzers sichtbar Uber die Schaltfl che Daten ndern kann der User seine pers nlichen Angaben ndern Startseite PC Inventar Services Mein Account RFID Suche Mein Account UseriD 13 Nachname User Sie sind eingeloggt als registriert vorname Registrierter Eintrittsdatum 20 01 2006 10 03 15 Rechte Registrierter User aktiviert Nickname registriert Inventarisierung mit RFID Sebastian Glabner 2005 2006 Abbildung 8 27 Mein Account 8 7 5 RFID Suche rfid php Siehe Kapitel 8 6 5 pe HTBL Hollabrunn Sebastian GlaBner Seite 8 25 Inventarisierung mit RFID Webanwendung 04 05 2006
157. r Server befindet sich auf einem anderen Rechner als der Client Das Verfahren wird als Client Server Prinzip bezeichnet Ein Datensatz ist ein Eintrag in der Datenbanktabelle Dispatch ID dient zum Ansprechen eines Webservices Diese ID wird bei SOAP ber den Namen des Webservice gefunden Die Data Storage Format ID gibt an in welchem Format die Daten auf dem Transponder gespeicher sind siehe Theoretische Grundlagen gt auf Tag gespeicherte Daten Tag ist die Bezeichnung f r einen HTML Befehl Ein Tag steht immer in Spitzen Klammern Ein Link ist ein Verweis auf eine bestimmte Datei Eine Logdatei engl log file beinhaltet das automatisch erstellte Protokoll aller oder bestimmter Aktionen von einem oder mehreren Nutzern an einem Rechner ohne dass diese davon etwas mitbekommen oder ihre Arbeit beeinflusst wird Longitudinal Redundancy Check Verfahren zur Fehlerpr fung bei blockweiser bertragung bei dem aus einem Datenblock ein Parit tsbyte berechnet wird das als Redundanzinformation zus tzlich zum Block bertragen wird Sebastian Gla ner Mathias Wallner Haas Seite C 1 Inventarisierung mit RFID Glossar 04 05 2006 MFR PHP RFID RFID Transponder RFID Tag RFID Smart Label RFID Token RPC Server Skript SOAP UID User el Gil ERE HTBL Hollabrunn Multi Function Reader RFID Leseger t welches mehrere Frequenzbereiche unterst tzt PHP ist eine Erweiterung f r Intern
158. reator Ihrer Wahl z B Advance Installer 3 9 evirte dil nach Windows Ordner System32 kopieren cviauto dlil nach Windows Ordner System32 kopieren cvirte Ordner nach Windows Ordner System32 kopieren mesa dll in den Programmordner kopieren Falls Funktionen des SOAP Toolkits verf gbar sein sollen so muss dieses auch installiert werden Es empfiehlt sich daher das SOAP Toolkit Setup gleich in den Installer des Programms zu integrieren Hinweis Falls alle oben aufgelisteten Dateien kopiert wurden und das Programm trotzdem nicht ordnungsgem funktioniert so empfiehlt sich folgende Vorgehensweise zur Fehlerbehebung 1 Die Programme Filemon und Regmon herunterladen a Filemon berwacht Dateizugriffe b Regmon berwacht Registry Zugriffel 2 Filemon starten und den Filter auf das zu untersuchende Programm anwenden 3 Die Dateizugriffe des CVI Programms beobachten besonders wenn die gew nschte Funktion ausgef hrt werden sollte z B beim Bet tigen eines Buttons 4 Die Datei auf die zugegriffen wird mit der Version der Datei auf der Entwicklungsumgebung austauschen 5 Analoge Vorgehensweise mit Regmon Iiii REL POLA OUNN Mathias Wallner Haas Seite D 9 Inventarisierung mit RFID Zeitaufstellung 04 05 2006 E Zeitaufstellung E 1 Sebastian GlaBner Rasenwuchs Stunden Woche Gesamt 453 Stunden E 2 Mathias Wallner Haas Rasenw uchs
159. rhanden Attributsfeld erzeugen Die Felder f r die Eingabe der Attribute werden sollten als hidden initialisiert werden 2 Das Einblenden der Attribute wird vom Unterprogramm cmdrefresh gesteuert Man muss also einen Eintrag f r das Einblenden der gew nschten Attribute f r den Befehl machen z B Einblenden der UID des Polled Burst H kchens und des neu erzeugten AFI Felds f r den Befehl Write AFI Request 108pez 6C Hex int cmdrefresh void if Creq 5 gt 102 amp amp req 5 lt 105 req 5 108 req 5 112 req 5 113 J write multipledblocks amp get multiple Block s amp system info amp security SetctrlAttribute panelHandle TOP_enterUID ATTR_VISIBLE 1 SetctrlAttribute panelHandle TOP_enteredUID ATTR_VISIBLE 1 else t SetctrlAttribute panelHandle TOP_enterUID ATTR_VISIBLE 0 SetctrlAttribute panelHandle TOP_enteredUID ATTR_VISIBLE 0 if Creq 5 gt 102 amp amp reg 5 lt 103 req 5 105 reg 51 108 Schreibvorg nge SetctrlAttribute panelHandle TOP_POLLED ATTR_VISIBLE 1 else SetctrlAttribute panelHandle TOP_POLLED ATTR_VISIBLE 0 if req 5 108 SetctrlAttribute panelHandle TOP_AFI ATTR_VISIBLE 1 else SetctrlAttribute panelHandle TOP_AFI ATTR_VISIBLE 0 return d Nun werden die Attribute bei Auswahl des Befehls im User Interface angezeigt Bereits realisierte Befehle Nun seien noch einige bereits realisierte Befehle beschrieben Anwendu
160. richt werden die Metainformationen der Nachricht untergebracht Diese k nnen Informationen ber das Routing der Nachricht ber eine eventuelle Verschl sselung und oder ber die Zugeh rigkeit zu einer Transaktion umfassen Im Body der Nachricht sind wie auch bei HTML die Nutzdaten untergebracht Diese Daten m ssen vom Empf nger der Nachricht interpretiert werden m gliche Zwischenstationen k nnen diese auch ignorieren Die Daten k nnen dabei unter anderem f r entfernte Methodenaufrufe Fehler Meldungen oder reine Daten z B Abbildung einer Klassenstruktur stehen Anschlie end k nnen m gliche Anh nge folgen diese werden abh ngig von dem Transportprotokoll an die Nachricht angeh ngt Bin rdateien Sound Video Grafik etc k nnen durch Nutzung von MIME Mechanismen angebunden werden UU HTBL Hollabrunn Mathias Wallner Haas Seite 6 11 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 3 2 SOAP ber HTTP Ein per HTTP bertragenes SOAP Paket hat folgende Struktur die Rahmen sind nicht Bestandteil sondern verdeutlichen lediglich die Struktur HTTP Header POST realtimedata transponders HTTP 1 1 Host htlsoapserver Content Type text xml charset utf 8 I as lt xml version 1 0 encoding UTF 8 gt SOAP Envelope lt SOAP ENV Envelope xmlns SOAP ENV http SOAP Header optional lt SOAP ENV Header gt lt t transaction EE t
161. rmission to use the Modified Version under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice H Include an unaltered copy of this License l Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission K For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein L Preserve all the Invariant
162. ront cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to pro
163. ror sql db return Fehler lt br gt sql lt br gt mysql_error db rechtekat e wird zum Eruieren der Rechtekategoriebezeichnung aus der RechtelD verwendet e bergeben wird de RechtelD e die RechtelD ist eine Nummer die Rechtekategorie verk rpert e Beispiel RechtelD von Gast 0 Der Wert 0 wird der Funktion bergeben und im Array an der Stelle 0 steht die Bezeichnung Gast gt Gast wird zur ckgeliefert function rechtekat r str array C Gast Registrierter User Master User Administrator Registrierter User aktiviert return str r Rechte e Diese Funktion hat die selbe Aufgabe wie rechtekat mit dem Unterschied dass keine fur die Ausgabe formatierten Werte sondern f r den Anwender nicht sichtbare Kurzbezeichnungen zuruckgegeben werden e Verwendet wird sie in UserRight und damit praktisch in fast allen Skripten des Projektes function Rechte r str array C guest reg master admin reg_aktiv return str r EL WTL ug Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 15 Inventarisierung mit RFID Webanwendung 04 05 2006 UserRight e ermittelt die RechtelD eines Users aus der adapters Tabelle anhand der Session ID e Sofern kein User eingeloggt ist wird der String guest zur ckgeliefert was einem Gast User entspricht function UserRight db if _SESSION userid sql SELECT rechte FROM adapters WHERE userid _SESSI
164. rundlagen 7 3 10 Tagdetails Transpondereigenschaften Unique ID el 07 00 0006 d5 50 88 Application Family ID o 12 o Data Storage Format ID af A Manufacturer Info De Application Falimil ID Item Management Texas Instrume Speichergr e 64 Blocke e 4 Bytes Ansicht Blocke HE LS pass sa al zl sel ee arsch TZ ER A Block editieren Abbildung 7 11 Tagdetail Blockansicht Links als ASCII Zeichen Rechts als HEX Werte Gap HTBL Hollabrunn Mathias Wallner Haas Seite 7 18 Inventarisierung mit RFID Transportschicht 04 05 2006 Das Tagdetail Panel oder auch Transpondereigenschaften Panel offenbart die ganze Information die man von einem Transponder abfragen kann Es zeigt folgende Informationen e Unique ID mit Interpretation des Herstellerbytes z B O74ex Texas Instruments e Application Family ID Editier und Schreibschutzfunktionen als Hex Zahl und entsprechender String z B 90Opex Item Management Data Storage Format ID Editier und Schreibschutzfunktionen Manufacturer Info Speichergr e Blockanzahl x Bytes pro Block Speicherinhalt mit verschiedenen Ansichten Schreibgesch tzte Bytes in der Block Ansicht 7 3 11 Speicheransichten Das Programm stellt drei verschiedene Ansichtsarten f r den erweiterten Speicher zu Verf gung Die Ansichten werden ber das Auswahlmen lt Ansicht gt umgeschaltet Blockansicht In dieser Ansicht kann man genau sehen welche Bytes in welch
165. rung mit RFID Transportschicht 04 05 2006 7 3 8 Gefundene RFID Transponder Dieser Bereich der Hauptoberflache wird am haufigsten genutzt Hier kann mit einem Knopfdruck lt Tag suchen gt nach einem Transponder gesucht werden Daraufhin wird der Befehl Tag finden ausgef hrt Sobald die Transponder in der Liste stehen kann man einen davon mit einem Klick markieren und mit dem Button lt Tag bearbeiten gt kommt man in die Detailansicht des Transponders UID nach Tag finden gefundene RFID Transponder fen OY 00 00 06 d5 50 88 Abfrageeinstellungen ISO 15693 Inhalt SR Da ist ein Testtransponder DS e 0401 000306564 7d Tesdaten 02 IRF DSFID UIDs nach ISO15693 lag finden Abbildung 7 9 gefundene RFID Transponder IRF Inventory Response Flag DSFID Data Storage Format ID UID Unique ID Inhalt Vorschau des Speicherinhalts Durch einen Klick auf lt Abfrageeinstellungen gt ffnet sich ein Panel mit diversen Einstellm glichkeiten COOC HTBL Hollabrunn Mathias Wallner Haas Seite 7 16 Inventarisierung mit RFID Transportschicht 04 05 2006 7 3 9 Einstellungspanel Einstellungen Thur selektierte Tag E bin r I Lauer AWeteletung hexadezimal dezimal ASCII SOAP Startblack F 16 Adresse der WSDL Datei Anzahl der Bl cke 7 Itagdatamsg wsdl Schreibrerf hren asynchronous Reply ID Hersteller a4 07 TI Tag Eintrag los
166. rvices Master User 8 28 Abbildung 8 34 Service lOSCHOM EE 8 29 Abbildung 8 35 Service Anden hassen ren 8 29 Abbildung 8 36 RFID Suche Master User 8 30 Abbildung 8 37 Benutzenvenawaltung REENEN ENNEN 8 31 Abbildung 8 38 Benutzer editieren REENEN EEN 8 31 Abbildung 8 39 Backup Administrator ccccceccceceee cece eeeeeeeeeeeeaeaeeeeeeeeeeeeaaaaeseeeeeessaaaeaeeeeseeesaaaees 8 32 EL Wik HTBL Hollabrunn Sebastian GlaBner Seite A 2 GEET Inventarisierung mit RFID Literaturverzeichnis 04 05 2006 B Literaturverzeichnis B 1 Bucher Zeitschriften Diplomarbeiten Bucher Titel Autor si Verlag RFID Handbuch 3 Auflage 2002 Klaus Finkenzeller Hanser Zeitschriften Ausgabe Titel CHIP Professional 05 2005 Web Design professionell Diplomarbeiten Nieder sterreichische Volkskultur Zehetner Aschenbrenner HTL Hollabrunn 2004 2005 Mitgliederverwaltungsdatenbank Radlbrunn Homepage Aichinger H rmann HTL Hollabrunn 2004 2005 B 2 Internet Beschreibung MySQL PHP Manual http www tutorials de forum php tutorials 166733 php5 einstieg soap html http www professionelle softwareentwicklung mit php5 de erste_auflage programming php soap html http www ti com tiris RFID Bereich von Texas Instruments http home wtal de ranzurmall visualc Visual C Grundkenntnisse http cplus kompf de Grundkenntnisse f r objektorientiertes Programmieren http www pruefziffernberechnung
167. rweiterten Speicherbereichs an Das erste Byte gibt die Anzahl der Bl cke und das zweite Byte die Anzahl der Bytes pro Block an Herstellerinfo 1 Byte wird vom Hersteller angegeben und kann nicht ver ndert werden Schreibschutzstatus aufrufen Get Multiple Block Security Status 71 6 Mit diesem Befehl kann man den Schreibschutzstatus lt locked gt oder lt not locked gt mehrerer Bl cke auslesen Pro angefragten Block Startblock Anzahl der Bl cke wird bei der Antwort ein Byte bertragen Wenn das Byte Our ist dann ist der Block nicht schreibgesch tzt Wenn das Byte O1yex ist dann ist der Block schreibgesch tzt Grad HTBL Hollabrunn Mathias Wallner Haas Seite 7 14 Inventarisierung mit RFID Transportschicht 04 05 2006 Parameter setzen Set Parameters Request 616 Mit diesem Befehl kann man Parameter zur Ubertragung der Daten zwischen Reader und Transponder setzen Baud High Low Gibt die Baudrate an UpInkMod AM FM Modulationsverfahren DninkDepth 10 100 Modulationstiefe DninkCode 10f4 10f256 Kodierung NonVolatile ja nein Einstellungen ber Reset hinaus behalten Standardeinstellung High Baud Rate FM uplink 10 downlink modulation 10f4 coding IREE tRFSFL IRER Parameter Min Max Abbildung 7 7 10 Modulationstiefe 75 52 us 75 52 us 75 52 us 75 52 us Abbildung 7 8 1 out of 4 encoding EL Wil HTBL Hollabrunn Mo ola Mathias Wallner Haas Seite 7 15 Inventarisie
168. s auch Tags im Niederfrequenzbereich 134 2kHz erkennen und beschreiben Erkannte RFID Protokolle sind die der Texas Instruments RFID HF und LF Tags sowie Tags nach ISO 15693 und ISO 14443 A B Die Kommunikation zum PC erfolgt ber die TTL I O Bausteine der Module Die Spannungsversorgung erfolgt ber ein 230V 5V Netzteil CO SE Mathias Wallner Haas Seite 3 5 Inventarisierung mit RFID Pflichtenheft 04 05 2006 3 5 Entwicklungsumgebung 3 5 1 Hardware 2 Notebooks e Targa Visionary XP 210 Server e Acer Aspire 1710 Client RFID Developement Kit e Texas Instruments S4100 Development Kit 3 5 2 Software Verwendung Betriebssystem Transportschicht LabWindows CH Jan Softwarepaket Webanwendung 5 0 4 Datenbank 4 1 12 nt 2 2 Datenbankadminisratior Webserver HTMLIPHP Editor Blockschaltbilder MS Visio 2002 Flussdiagramme Texteditor Tabellenkalkulation MS Office 2003 Pr sentationserstellung DIE BB RTE Mathias Wallner Haas Seite 3 6 Inventarisierung mit RFID Projektplanung 04 05 2006 4 Projektplanung Juni 2005 Glsfner O O WalnerHaas Projektauswahl Besuch des Infineon RFID Solutions Center in Graz bzw der Telekom Austria InstallationsstraBe in Wien Besprechung der ungef hren Aufgabenstellung Besch ftigungsbereiche f r Sommerferien erhalten Juli 2005 Glaner OOo O O O Wallner Haas Telekom Austria Besprechung Studieren der RFID Grundlagen HTML XML August 2005 Gla ner JL
169. schlaggebend ist Produktauthentifizierung bzw auszeichnung Zahlungssysteme und Dokumentenverfolgung da die Kosten pro Einheit hier ausschlaggebend sind Alle Transponder die in diesem Projekt verwendet wurden Transponder des TI Eval Kits eingeschlossen werden passiv ber das Leseger t mit Energie versorgt Aktive Versorgung RFID Transponder mit eigener Energieversorgung erzielen eine erheblich h here Reichweite und besitzen einen gr eren Funktionsumfang verursachen aber auch erheblich h here Kosten pro Einheit Deswegen werden sie dort eingesetzt wo die zu identifizierenden oder zu verfolgenden Objekte eine lange Lebensdauer haben z B bei wieder verwendbaren Beh ltern in der Containerlogistik oder bei Lastkraftwagen im Zusammenhang mit der Mauterfassung Go box f r Osterreichs Stra en Grundlegend kann man die Transponder also folgenderma en trennen Tabelle 6 3 Transponder Unterschiede aktiv passiv Eigenschaft aktiv pe pe HTBL Hollabrunn Mathias Wallner Haas Seite 6 5 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 8 Transponderaufbau Wir w hlten selbstklebende HF Labels f r unseren Anwendungszweck siehe Realisierung Tr gerpapier Transponderchip Folieninlay Etikettschicht el Wil GEET Tragerpapier Transponderchip Folieninlay Etikettschicht Abbildung 6 4 Transponderaufbau Das Tr gerpapier Liner dient zum Schutz der Klebeschi
170. t Filmysgl_start bat XAMPP Verzeichnisstruktur Wichtige Verzeichnisse lt Inst Vz gt htdocs Dieser Ordner ist das Root Verzeichnis des Webservers In ihm befindet sich das entwickelte HTML bzw PHP Projekt lt Inst Vz gt apache bin Hier befindet sich die Datei php ini die zum Konfigurieren des PHP API dient COOC SS ERE E Mathias Wallner Haas Seite D 1 Inventarisierung mit RFID Installationsanleitung 04 05 2006 D 1 3 Praktisches Arbeiten mit XAMPP Die in lt nst Vz gt vorhandenen Anwendungen xampp_start exe und xampp_stopp exe dienen zum Starten bzw Beenden von XAMPP D 1 4 Webprojekt anlegen Das Webprojekt muss in den Ordner lt nst Vz gt htdocs kopiert werden Die folgende Abbildung zeigt die Verzeichnisse der Webanwendung Das Webprojekt befindet sich auf der Projekt CD im Verzeichnis Webanwendung htdocs XAMPP legt bei der Installation ein Beispielprojekt im Verzeichnis lt nst Vz gt htdocs an Dieses muss vor dem gel scht werden Anschlie end kann das Webprojekt Inhalt des htdocs Ordner auf der Projekt CD in das Verzeichnis lt Inst Vz gt htdocs am Rechner kopiert werden htdocs backup Root Hier befinden sich erstellte Verzeichnis Backups der Datenbank content Hier befinden sich alle Inhalte der Oberfl che Verzeichnis f r mitprotokollierte Vorg nge Hier befindet sich das SOAP Server Skript sowie die ben tigte WSDL Datei template Verzeichnis f r Eingebundene Dateien CSS
171. t auf die Serviceansicht Abbildung 8 20 Eigenschaften des Rechners e0 070000 FTKL Linksys Radeon Dies ist das 25 11 2005 95 11773321 01 512MB Zar goo 1313 13 13 13 13 Kommentarfeld 11 55 18 Ge Bes vorgenommene Adaptionen 12 01 2006 20 03 17 31 sebastian neue maus Inventarisierung mit RFID Sebastian Gla ner 2005 2006 ez 9 Ice zsm ol Abbildung 8 20 Serviceansicht In dieser Ansicht sind zun chst die Eigenschaften des Rechners angef hrt Darunter werden die an dem PC vorgenommenen Wartungen nach dem Bearbeitungsdatum geordnet gezeigt Grp HTBL Hollabrunn Sebastian GlaBner Seite 8 21 Inventarisierung mit RFID Webanwendung 04 05 2006 8 6 4 Services g_ service php Der Men punkt Services ist hnlich dem Skript g_inventar php aufgebaut Mit anzeigen wird die in Abbildung 8 21 dargestellte Ausgabe erzeugt w hrend mit Suchen das Suchformular Abbildung 8 22 anzeigt Die Aktionsbuttons verweisen wieder auf die Serviceansicht Semr ces RFID Suche Services anzeigen suchen Es wurden 5 Eintr ge gefunden Datum PC Name Services Bearbeiter Beschreibung 05 01 2006 11 49 01 NET2 88 27 master neues Betriebssystem 12 01 2006 20 0317 FTEL 0I 31 sebastian Neue maus PC zerlegt und gr ndlich ausgewaschen 09 03 2006 13 20 09 Net2 3 admin Netzteil ausgetauscht 19 05 2006 12 21 24 FTKL 01 admin Neue Festplatte eingebaut 03 03 2006 12 26 30 Net2 3 motz Inventarisierung mit RFID amp S
172. t der Variablen retval zur ck 6 6 7 Allgemeine Funktionen Um in PHP die Programmierung zu erleichtern bzw zu beschleunigen sind im PHP Standard bestimmte Funktionen vordefiniert Auf den folgenden Seiten werden die benutzten PHP Funktionen alphabetisch geordnet beschrieben array Mit der Funktion array erzeugt man aus gegebenen Werten ein Array Zus tzlich gibt es die M glichkeit innerhalb eines Arrays wiederum Arrays zu definieren und somit mehrdimensionale Arrays zu erzeugen Syntax array array Wertl wert2 WertN array_merge f gt die Elemente von zwei oder mehr Arrays zusammen indem die Werte des einen an das Ende des anderen angeh ngt werden Das daraus resultierende Array wird zur ckgegeben Syntax array array_merge array arrayl array array2 array close Schlie t ein zuvor mit dir pfad ge ffnetes Verzeichnis closeQ ist eine Methode der Klasse dir class dir void close void Syntax directory gt close date Mit date kann man eine Zeitangabe formatieren oder auswerten Die Zeitangabe wird im Parameter timestamp bergeben Wird dieser Parameter leer gelassen nimmt die Funktion die aktuelle Zeit Der Parameter format ist ein String der festlegt welche Informationen ber die Zeitangabe ben tigt werden Syntax string date string format int timestamp dir Mit dirO kann ein Verzeichnis ge ffnet werden dir geh rt zur gleichnamigen Klasse dir class dir
173. t themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 8 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requires special permission from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedications or History the requirement section 4 to Preserve its Title Section 1 will typically require changing the actual title 9
174. t z B Administrator Rechte if CUserRight db admin header Location domain content main exit Standardm ig dass hei t wenn kein User angemeldet ist wird der User Gast angenommen der die wenigsten Rechte besitzt Der Gast hat in weiterer Folge die M glichkeit sich zu registrieren siehe Kapitel 8 5 4 Das Login System ist durch die beiden Skripte login php und logout php realisiert 8 5 2 login php Die M glichkeit sich anzumelden steht nat rlich nur einem Gast User zur Verf gung Beim Aufruf des Inhaltselement login ber das Navigationsmen wird ein Formular ber die Inhaltsvariable content_var ausgegeben das zum Eintragen des Benutzernamen und des Passwortes auffordert Die GroB bzw Kleinschreibung des Namens ist egal Passwort Inventarisierung mit RFID Sebastian Gla ner 2005 2006 wi Be Abbildung 8 15 Login Beim Absenden des Formulars mit dem Button Login wird die Variable login gesetzt und das login php Skript erneut aufgerufen Da login nun einen Wert besitzt wird der eindeutige Benutzername aus dem Feld Nick mit der Spalte nick aus der Tabelle adapters verglichen Ist der eingegebene Name nicht vorhanden erscheint die Fehlermeldung Niekname wurde nicht gefunden ber dem Formular Sofern der Nickname existiert wird das Passwort berpr ft Stimmt es nicht mit dem Datenbankeintrag berein wird FAsswort falsch ebenfalls ber de
175. tallieren 11 SOAP Toolkit Setup Den gew nschten Pfad w hlen und auf lt Install gt klicken 12 SOAP Toolkit Setup Auf lt Finish gt dr cken 13 RFID invent Setup gewunschte Aktionen auswahlen und auf lt Ferigstellen gt klicken Zusammenfassung RFID invent 1_0 Installer msi ausf hren und den Anweisungen folgen D 2 2 Konfiguration von RFID invent Startskript anpassen Im Programmverzeichnis meistens C Programme HTL Hollabrunn RFID invent befindet sich die Datei start rfs Diese Datei kann mit einem Texteditor bearbeitet werden Hier k nnen die Einstellungen die beim Start geladen werden sollen eingestellt werden n heres siehe Kapitel 7 5 Skript Normalerweise muss in der Datei nur der Eintrag des WSDL Pfades ge ndert werden WSDL Datei Im Startscript den Eintrag WSDL Pfad der WSDL Datei angeben oder Im RFID invent Userlnterface gt Abfrageeinstellungen gt WSDL Pfad gt Pfad der WSDL Datei ndern Pfad der WSDL Datei kann ein lokaler Pfad z B C WSDL Dateien test wsdi absolut oder tagdatamsg wsdI relativ in diesem Fall im Programmverzeichnis aber auch ein Pfad auf einem Server z B http 172 31 11 21 SOAP tagdatamsg wsdli sein Falls die WSDL Datei des Servers nicht geladen werden kann empfiehlt es sich die lokale Kopie zu verwenden Diese wird bei der Installation in den Programmordner kopiert gt tagdatamsg wsdl Damit man sich zum Server verbin
176. ted to copy and distribute verbatim copies of this license document but changing it is not allowed 0 PREAMBLE The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or non commercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of t
177. tei ein lt link rel stylesheet type text css href style stylesheet css gt 6 6 PHP 6 6 1 Allgemeines PHP ist die Abk rzung f r PHP Hypertext Preprocessor eine weitverbreitete Open Source Skriptsprache speziell f r Webentwicklungen PHP l t sich in HTML einbinden Die Syntax erinnert an C Java und Perl und ist einfach zu erlernen Das Hauptziel dieser Sprache ist es Webentwicklern die M glichkeit zu geben schnell dynamisch generierte Webseiten zu erzeugen Aber PHP kann f r weitaus mehr eingesetzt werden Was PHP von clientseitigen Sprachen wie Javaskript unterscheidet ist dass der Code auf dem Server ausgef hrt wird Wird ein PHP Skript auf einem Server ausgef hrt empf ngt der Besucher nur das Ergebnis Das hei t er hat keine M glichkeit herauszufinden wie der zugrunde liegende Code aussieht Weiter Informationen sind unter http www php net docs php einsehbar 6 6 2 Einbettung in HTML Der in HTML eingebettete PHP Code steht zwischen speziellen Anfangs und Schlusstags mit denen man in den PHP Modus und zur ck wechseln kann Meistens werden die Tags lt php gt und ls gt verwendet Die Einbindungen sind in folgendem Beispiel ersichtlich lt html gt lt head gt lt title gt Beispiel lt title gt lt head gt lt body gt lt php echo Hallo ich bin ein PHP Skript lt echo Hallo ich bin auch ein PHP Skript gt lt body gt lt html gt Durch den Befehl e
178. tian GlaBner Seite 6 20 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 include_once Der include_once Befehl hat zur Folge dass die angegebene Datei eingelesen und ausgewertet wird Der Code wird nur einmal eingebunden Damit soll verhindert werden dass zwei identische Funktionen inkludiert werden und somit ein Fehler produziert wird Syntax include_once 7 7e_name ini_set Mit ini_set k nnen Konfigurationsparameter eines SOAP Servers ge ndert werden Syntax string ini_set string varname string newvalue read Dient zum Auslesen eines mit dir ge ffneten Verzeichnisses read geh rt zur Klasse dir class dir string read void Syntax content directory gt read session_destroy Mit session_destroy beendet man eine aktuelle Session und l scht alle Daten die innerhalb der Session genutzt wurden Zus tzlich wird auch die Session ID gel scht Syntax bool session_destroy void session_register Mit session_register registriert man eine oder mehrere Variablen name usw innerhalb einer Session Syntax bool session_register mixed name mixed Session start Mit session_start erstellt man eine neue Session oder f hrt eine schon bestehende Session fort deren ID ber eine GET Variable oder ein Cookie bermittelt wurde Syntax bool session_start void session_unregister Mit session_unregister hebt man die Registrierung einer Variablen name wied
179. trag werden die dazugeh renden Serviceeintr ge mit allen Inhalten aus der Datenbank angezeigt e Die Ausgabe der Eintr ge kann angepasst werden alphabetisches Sortieren e Suche nach bestimmten Kriterien PC Name Raum Name und Anzeige der gefundenen Elemente e Anzeige aller eingetragenen Services mit den Informationen aus der Tabellenstruktur in Form einer Tabelle e Suche nach Rechnern unter Verwendung des RFID Lesegerats e Registrierungsmdglichkeit auf der Startseite 8 6 2 Startseite main php main php ist die Startseite der Webanwendung Beim aufruf der URL des Servers wird sie angezeigt In Abbildung 8 18 Markierung 1 ist der in Kapitel 8 5 2 beschriebene Login Bereich zu erkennen Darunter Markierung 2 befindet sich eine Tabelle die die beiden zuletzt hinzugef gten Service Dokumentationen anzeigt Die Aktionsbuttons in Markierung 3 verweisen zur Detailansicht der jeweiligen Rechner Kapitel 8 6 3 Startseite Sie befinden sich auf der Startseite des Inventarisierung mit RFID WVebinterfaces Passwort registrieren Zuletzt hinzugef gtes Service Datum PC Name Service Bearbeiter Beschreibung Aktion 09 03 2006 13 21 24 FTKL 01 40 admin Neue Festplatte eingebaut f gt 09 03 2006 13 20 09 Net2 3 39 admin Netzteil ausgetauscht Inventarisierung mit RFID Sebastian Gla ner 2005 2006 We EEE ws EDITS S Abbildung 8 18 Startseite 8 6 3 PC Inventar g_inventar php In PC Inventar
180. tte das Testzertifikat mit der URL httos 127 0 0 1 bzw Flash Art https localhost Telefonbuch PEAR Excel_Writer Und ganz wichtig Einen gro en Dank f r die Mitarbeit und Mithilfe an Carsten Nemesis KriS Boppy ADOdb Pc Dummy und allen anderen Freunden von XAMPP Viel Spa Kay Wogelgesang Kai Oswald Seidler phpMyAdmin Webalizer PHP Umschalter Apache 2 0 54 Win32 mod_ssl 2 0 54 OpenSSi 0 9 79 PHP 5 0 4 Mercury Mail FileZilla FTP EN Abbildung 8 3 XAMPP Startseite In HTBL Hollabrunn Sebastian GlaBner Seite 8 2 Inventarisierung mit RFID Webanwendung 04 05 2006 Zum testen der PHP API kann das folgende in ein HTML Ger st eingebettete PHP Skript verwendet werden lt html gt lt head gt lt title gt PHP Skript lt title gt lt head gt lt body gt lt hl gt Es ist jetzt der lt php echo date j F Y H 1 gt Uhr lt hl gt lt body gt lt html gt Die PHP Funktion date zeigt das aktuelle Datum und die Uhrzeit an Die Datei kann anschlie end unter test php im htdocs Verzeichnis abgespeichert werden Der Aufruf der PHP Seite im Browser mit http localhost test php sollte folgende Ausgabe erzeugen a http localhost test php Es ist jetzt der 19 March 2006 16 37 Uhr Abbildung 8 4 PHP API testen Erscheint diese Ausgabe so ist die Installation von XAMPP erfolgreich verlaufen 8 1 5 Aktivieren der PHP SOAP Extension Zur Kommunikation mit dem CVI SOAP Client Programm ben
181. tweit akzeptierte Frequenz Heutige ISO Standards teilweise EU USA 14223 Typische Transponder Bautypen Beispielhafte Anwendungen Glasr hrchen Transponder Transponder im Plastikgeh use Chipkarten Smart Label Chipkarten Zutritts und Routen kontrolle Wegfahr sperren W sche reinigung Gasablesung HTBL Hollabrunn Smart Label Industrie Ttransponder Waschereinigung Asset Management Ticketing Tracking amp Tracing Pulk Erfassung Smart Label Industrie Ttransponder Paletten erfassung Container Tracking Mathias Wallner Haas GroBformatige Transponder StraBenmaut Container Tracking Seite 6 2 Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 1 5 Einsatzgebiete Das Spektrum der Anwendungsgebiete ist weit gef chert Besonders in den folgenden Bereichen gewinnt die RFID Technologie zunehmend an Bedeutung e Supply Chain Management Logistik Zutrittskontrolle z B Skilift Therme Electronic Article Surveillance momentan 1bit Transponder also nur da oder nicht da Tieridentifikation drahtlose Schnittstelle f Sensoren Inventarisierung z B PCs an der HTL Vertrieb und Produkmanagement Gate type antenna lt gleichzeitiges Lesen von mehreren Transpondern gt lt Verschmelzung von Objekt und Information gt lt Objekterkennung und logistische Kontrolle gt Streckenabschnitts kontrolle Abbildung 6
182. und sie anschlie end aus den Benutertabellen l schen O Die Benutzer l schen und die Benutertabellen anschlie end neu laden O Die gleichnamigen Datenbanken l schen OR Neuen Benutzer hinzuf gen u lll im n chsten Bildschirmfenster folgende Eingaben t tigen und mit OK ganz unten best tigen gt Benutzername user gt Host leerlassen gt Kennwort user GC Neuen Benutzer hinzuf gen Logininformationen Benutzername Textfeld verwenden E user Host Jeder Host u Kennwort Textfeld verwenden D eeeeee Wiederholen Eingabemaske f r neuen Benzuter IV Datenbankspezifische Rechte zur Datenbank pcinventar hinzuf gen Hierzu muss im Eingabefeld Markierung der Name der Datenbank pcinventar eingetragen und mit OK best tigt werden e Datenbankspezifische Rechte Datenbank Rechte Grant Tabellenspezifische Rechte Aktion keine Rechte zu folgender Datenbank hinzuf gen Textfeld verwenden Let pcinventar oR Ch V Nun m ssen mit Klick auf Alle ausw hlen die Rechte erteilt und schlie lich mit OK best tigt werden e Rechte ndern Datenbankspezfische Rechte Antrags uote Mertert dar Englisch angegeben Alle ausw hlen f Auswahl entfernen Daten Struktur Administration wi SELECT ff CREATE wi GRANT NW INSERT NW ALTER wi LOCE TABLES wi UPDATE Wi INDEX wi REFERENCES wi DELETE m DROP NW CREATE TEMPORARY TABLES SH HTL Sebastian GlaBner HTBL Hollabrunn i ite D
183. urch einen Dritten erm glicht werden In Form einer Anleitung wird erl utert wie man eine Funktion hinzuf gen kann Man nehme an die Funktion Write AFI aus der ISO 15693 Bibliothek soll realisiert werden 1 Auf der Projekt CD unter Tl Documentation den ISO 15693 Library Reference Guide suchen 2 Im Dokument das Kapitel Write AFI suchen gt Write AFI Request 6C auf Seite 38 3 Hier findet man nun eine kurze Beschreibung sowie die Request und Response Packets 4 Im User Interface RFID uir wird nun der neue Befehl eingetragen Dazu wird der ISO15693CMD Ring erweitert gt 6Cpex 108pEz och IRFID UIREADER ACVI SOAPClient RFID cws RFID ur File Edit View Create Arrange Code Build Run Instrument Library Tools Window Options Help DIEN Bae r Oer rds Sli soap fp D Source Files RFID c ET D User Interface Files about uir x Reader Befehle gefundene RFID T editblock uir ES FD Cl Sege ee ll H D A d ECKE EEN Sender EIN e Anwendung settings ur AJ g gt jagu Age A 2 writestatus uir Fl ae ee BER al Ir Source Code Connection ageet e Pe 2 i Quick Edit Window J H Libraries AIR Constant Name 1S015693CMD gt Instruments 3 Microsoft Soap Type Callback Function 15015693CMD Control Settings Control Mode Hot Default Index 0 Sender EIN 3 TC initially Dimmed ER J a afa E Int Hidd
184. vergabe an Sch ler und Lehrer bewerkstelligt W hrend dem bergeordneten Lehrer die gesamte Verwaltung der Wartungst tigkeiten und des Rechner Inventars zur Verf gung steht ist der Sch ler nur zum Hinzuf gen von Servicevorg ngen bef higt Der Administrator des Systems kann berdies die Benutzerverwaltung sowie die Datenbanksicherung regeln Die Webanwendung ist in PHP geschrieben und wird von einer MySQL Datenbank unterst tzt die mit dem Programm PHPmyAdmin erstellt wurde Das hierf r verwendete Softwarepaket ist XAMPP f r Windows EL HTL Sebastian Gla ner COOC PS Mathias Wallner Haas Inventarisierung mit RFID Abstract 04 05 2006 Abstract The main purpose of our engineering project is the conception of an inventory system for the computer inventory of the HTL Hollabrunn by using Radio Frequency Identification technology The ordering party of the project is the HTL Hollabrunn and we are supervised by Dipl Ing Franz Geischlager Information like the location name configuration or repair status of a computer should be wirelessly accessible by polling the passively powered RFID transponders which are mounted on the computer cases The required hardware the Multi function Evaluation Kit S4100 MFR produced by Texas Instruments was provided by the HTL Hollabrunn Our project is split into two parts The first part is the Transport Layer which acts as a client whereas the second part a server provides the
185. verwenden Diese wird bei der Installation in den Programmordner kopiert gt Pfad tagdatamsg wsdl TK HTBL Hollabrunn Mathias Wallner Haas Seite 7 17 Inventarisierung mit RFID Transportschicht 04 05 2006 Damit man sich zum Server verbinden kann mussen die IP Adressen in der WSDL Datei geandert werden Inhaltsvorschau Mit diesem H kchen kann man die Inhaltsvorschau der gefundene Transponder Tabelle einschalten Die Funktion ist standardm ig abgeschaltet um unn tige Kommunikationsvorg nge zwischen dem MFR und dem PC zu vermeiden Die Inhaltsvorschau kann in den ersichtlichen Formaten angezeigt werden Zus tzlich kann man den Startblock und die Anzahl der Bl cke die gelesen werden sollen einstellen Schreibverfahren Der Speicher von Transpondern kann auf zwei verschiedene Arten beschrieben werden e polled e asynchron Es kann nicht abgefragt werden auf welche Weise ein Transponder beschrieben werden muss weshalb es eine gute L sung ist Tabellen anzugeben welche Transponder auf welche Art angesprochen werden sollen Wir hatten nur zwei verschiedene Hersteller f r die Transponder smart TEC Philips und Texas Instruments Daher sind momentan nur diese beiden Eintr ge in den entsprechenden Listen vorhanden In den Listen muss die ID angegeben werden die Spalte Hersteller dient nur zur besseren Ubersicht Die ID ist das zweite Byte der UID und somit das Herstellerkennzeichen siehe Theoretische G
186. vide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission B List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement C State on the Title page the name of the publisher of the Modified Version as the publisher D Preserve all the copyright notices of the Document E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices F Include immediately after the copyright notices a license notice giving the public pe
187. web interface based administration of a database The Transport Layer is responsible for processing the data which is received from the RFID reader via COM port The processed data is forwarded to the web server on demand In order to allow easy editing of the RFID tags a user interface is developed The program is fully realized with the ANSI C development environment CVI 8 0 The web interface allows administrating and searching inventoried computers which is made possible by linking the unique transponder identification number to data records of the database Moreover the application should log service activities that are accomplished on school computers For this purpose and to allow school use it is necessary to introduce different user rights Every user is able to look up inventory and service activities A teacher is authorized to edit inventory and service activities whereas a pupil is just entitled to add new services The administrator controls the user accounts and he can backup the whole database The web interface is written with PHP scripts and it supports a MySQL database The required software is provided trough the software packet XAMPP The communication between the two software parts is established via the HTTP based SOAP protocol El HTL Sebastian Gla ner TITL PUBL ever aan Mathias Wallner Haas Inventarisierung mit RFID Inhaltsverzeichnis 04 05 2006 Inhaltsverzeichnis 1 VEINIEHUNG BEE 1 1 121 Oe de BEE 1 1 2
188. wendet Webanwendung Transport Schicht Browser Client Server TITT SES Mathias Wallner Haas Seite 5 1 Inventarisierung mit RFID Realisierung 04 05 2006 5 3 Hardware Das Reader Paket soll dem Projektteam die M glichkeit bieten eigene Applikationen m glichst ausgiebig testen zu k nnen Hierzu bietet sich das Texas Instruments S4100 Development Kit an Das Development Kit enth lt 2 RFID Reader HF und LF Transponder verschiedener Bauformen Ansschlusskabel Demo Software und ausf hrliche Dokumentation Um die Kompatibilit t zu anderen Anbietern zu gew hrleisten wird der Reader und die Anwendung auch mit Transpondern der Firma SmartTec evaluiert 5 3 1 Texas Instruments S4100 Development Kit Das Texas Instruments S4100 Development Kit wurde Anfang des Schujahres nach sorgf ltiger Auswahl angekauft Zu den Vorteilen gegen ber Konkurrenzprodukten geh ren e Zwei Frequenzbereiche HF u LF e Eine Rohplatine und ein bereits fertig zusammengebauter Reader e Hohe Vielfalt an Demo Transpondern in verschiedenen Bauformen 2 HF LF RFID Module eine Rohplatine und ein sofort funktionsf higer Reader Die RFID Module k nnen Tags im Hochfrequenzbereich 13 56MHz als auch Tags im Niederfrequenzbereich 134 2kHz erkennen und beschreiben Erkannte RFID Protokolle sind die der Texas Instruments RFID HF und LF Tags sowie Tags nach ISO 15693 und ISO 14443 A B Die Kommunikation zum PC erfolgt ber die TTL O Bausteine der M
189. werden unterscheidet man zwischen hierarchischen vernetzten und relationalen Datenmodellen Wir verwenden das relationale Datenmodell da es das modernste ist und sich durchgesetzt hat Tabellenstruktur Beim relationalen Datenmodell werden die Daten in Tabellen angeordnet Jede Tabelle hat einen eindeutigen Relationsnamen Alle Zeilen der Tabelle ohne die Spalten berschriftszeile werden als Relation jede einzelne Zeile davon als Tupel bzw Datensatz die Spalten berschriften als Attributnamen oder Attribute und alle Attributnamen zusammen werden als Relationsschema bezeichnet Attgbute Relatonenname Relationsschema u Relation Tupel Bee r4 Abbildung 6 8 Tabellenstruktur Schl ssel Damit man jede Zeile gezielt ansprechen kann wird ein Schl sselattribut eingef hrt Der Schl ssel muss immer eindeutig sein und wird auch als Prim rschl ssel bezeichnet Zum Einrichten der DB mit ihren Tabellen bedient man sich der Data Definition Language DDL Externe Ebene Auf der obersten Ebene befindet sich der Anwender der auf das DBS mit einer Daten Abfragesprache DQL engl Data Query Language einer Daten Manipulationssprache DML engl Data Manipulation Language oder einer eigenen Anwendung zugreift Eili WIR HTBL Hollabrunn Sebastian GlaBner Seite 6 25 PPE Tt Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 7 3 SQL SQL steht f r Structured Query Language zu deutsch strukturierte
190. ySQL Datenbank Im folgenden Abschnitt sind die wichtigsten Funktionen aufgelistet mysql_connect Diese Funktion ffnet eine Verbindung zu einem Datenbank Server Sie ist unbedingt n tig um mit einer Datenbank arbeiten zu k nnen Als Argumente werden der Hostname der Benutzername des Datenbankadministrators und das entsprechende Kennwort bergeben Mit or die kann eine Fehlermeldung bei nicht erreichen des Datenbank Servers generiert werden Syntax int mysql_connect string hostname port path to socket string Benutzername string Kennwort or die string Fehlermeldung mysql_select_db Mit mysql_select_dbC w hlt man eine Datenbank aus Als Parameter wird der Datenbankname gefordert Syntax int mysql_select_db string Datenbankname int Verbindungs Kennung mysql_query Mit mysql_query sendet man eine SQL Anfrage an einen Datenbankserver Die Funktion mysql_query liefert im Erfolgsfall true sonst false zur ck Syntax int mysql_query string Anfrage int Verbindungs Kennung mysql num_rows Mit mysq _num_rows kann man sich anhand einer Ergebnis Kennung die Anzahl der Datens tze eines Ergebnisses zuruckgeben lassen Syntax int mysql_num_rowsCint Ergebnis Kennung mysql_fetch_array Mit mysql_fetch_arrayQ kann man sich anhand einer Ergebnis Kennung Datens tze in einem assoziativen Array bergeben lassen Dabei werden die Feldnamen innerhalb der Tabelle als Schl ssel des Arrays genut
191. zt Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz sonst wird false zur ckgegeben mysql_close Mit mysql_close schlie t man anhand der Verbindungskennung Verbindungs Kennung eine Verbindung zu einer MySQL Datenbank Syntax int mysql_close int Verbindungs Kennung Einfaches Beispiel lt db mysq _ connect localhost User or die Keine Verbindung m glich E Verbindung herstellen mysql_select_db Datenbank1 Datenbank auswahlen sql SELECT FROM tabellenname SQL Code res mysql_query sql Anfrage ausf hren anz mysql_num_rows res Ergebnisanzahl ermitteln echo anz Anzahl ausgeben echo lt br gt Leerzeile ausgeben while row mysql_fetch_array res Alle Ergebnisse abgefragt echo row spaltell 1 Spalte ausgeben echo lt br gt Leerzeile ausgeben echo rowL Spalte2 2 Spalte ausgeben echo lt br gt Leerzeile ausgeben S mysql_close db Verbindung beenden gt el Mul HTBL Hollabrunn Sebastian GlaBner Seite 6 23 GEET Inventarisierung mit RFID Theoretische Grundlagen 04 05 2006 6 7 MySQL Auf den folgenden Seiten stehen grundlegende Informationen zu Datenbanksystemen bzw zur Abfragesprache SQL 6 7 1 Komponenten eines Datenbanksystems Eine Datenbank DB engl Data Base ist eine systematische Sammlung von Daten Zur Nutzung und Verwaltung der in der DB gespeicherten Daten be
Download Pdf Manuals
Related Search
Related Contents
Samsung SM-G850AZDEATT Health and Safety Guide Istruzioni per l`uso Barra elettronica di misurazione di statura KERN User Manual - Avantco Refrigeration Device Monitor Benutzerhandbuch mise en garde フロントディスクブレーキキット 取扱説明書 Copyright © All rights reserved.
Failed to retrieve file