WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Prototypage d'un systeme d'identification et protection anti-vol des ouvrages d'une bibliotheque en utilisant les puces RFID: Cas de la bibliotheque de l'UCBC

( Télécharger le fichier original )
par Karl KAMAVU
UCBC - Licence 2017
  

précédent sommaire

Extinction Rebellion

ANNEXES

Annexe A :Lecture d'une étiquette RFID à travers la communication série avec WLangage.

PROCEDURE LectureRFID ()

// thread en boucle infini

TANTQUE 1>0

// le port est deja ouvert

nNombre est un entier= sDansFileEntrée(gnPortCarte)

sMessagelu est une chaîne=sLit(gnPortCarte,nNombre) // on lit ce qui entre par le port choisi

Temporisation(10) // on temporise

// LECTURE DES LIVRES ET CARTES AVEC UN SEUL LECTEUR RFID

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_CodeLu..Valeur=sMessagelu

// On verifie si le code saisi correspond a un des livres reconnus par le systme sinon on verifie s'il conrrespond a un lecteur

SI Taille(SC_Fiche.SAI_CodeLu..Valeur) >6 ALORS // on verifie si le port serie a livree le nombre de caractere suffisant pourque l'on decode le code

// on supprime dabord l'element du tableau

Supprime(gtabLedesvaleurslues,1) // le tableau ne contient qu'un seul element, on le supprime

Ajoute(gtabLedesvaleurslues,SC_Fiche.SAI_CodeLu..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

//ToastAffiche(gsVariableCodeLecteur)

HLitRecherche(Livres,CodeLivre,gtabLedesvaleurslues[1]) // ON VERIFIE DANS LA TABLE LIVRE D'ABORD

HLitRecherche(lecteur,CodeLecteur,gtabLedesvaleurslues[1]) // PUIS ON VERIFIE DANS LA TABLE LECTEURS

// si c;est la carte qui a ete detectee

SI HTrouve(lecteur) ALORS

SC_Fiche.SAI_IDlecteur=lecteur.IDlecteur

SC_Fiche.SAI_Nom_Lecteur=lecteur.Noms

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_lecteur..CouleurFond=Blanc

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_lecteur=lecteur.CodeLecteur

// on supprime dabord l'element du tableau

Supprime(gptabTabledesvaleurs,1) // le tableau ne contient qu'un seul element

Ajoute(gptabTabledesvaleurs,SC_Fiche.SAI_Code_lecteur..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

//ToastAffiche("lecteur trouvé")

FIN

// si c'est le livre qui a ete detectee

SI HTrouve(Livres) ALORS

SC_Fiche.SAI_IDLivre=Livres.IDLivres

SC_Fiche.SAI_Titre_Livre=Livres.Titre FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_livre..CouleurFond=Blanc

FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Code_livre=sMessagelu

Supprime(gptabTabledesvaleurs_livres,1) // le tableau ne contient qu'un seul element

Ajoute(gptabTabledesvaleurs_livres,SC_Fiche.SAI_Code_livre..Valeur)// on garde le message lu dans un tableau avant d'enregistrer.

FIN

// si le code n'est ni livre ni carte

SI PAS HTrouve(lecteur) ET PAS HTrouve(Livres) ALORS

ToastAffiche("Cette Carte ou Livre n'est pas reconnu dans notre système",toastCourt,cvMilieu,chCentre,RVB(255,0,0))

FIN

FIN

// on enregistre l'emprunt des livres

SI FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Nom_Lecteur<>"" ET FEN_Fiche_EmpruntLivre.SC_Fiche.SAI_Titre_Livre<>"" ET COL_Mode_Auto_Manuel.gnMode=1 ALORS

Enregistrer_Emprunt()

FIN

// temporisation

Temporisation(100)

// ferme le port

//sFerme(gnPortCarte)

//ToastAffiche("la commande a ete envoyee")

//FIN

ThreadPause(100)

FIN

Annexe B :Script SQL du système « I-Library »

-- Script généré par WinDev le 01/06/2017 23 :57 :15

-- Tables de l'analyse IBiblio.wda

-- pour SQL générique (ANSI 92)

-- Création de la table Auteur

CREATE TABLE "Auteur" (

"IDAuteur" INTEGER PRIMARY KEY ,

"NomAuteur" VARCHAR(50) ,

"Annee" VARCHAR(10) );

CREATE INDEX "WDIDX_Auteur_NomAuteur" ON "Auteur" ("NomAuteur");

-- Création de la table CategorieLivre

CREATE TABLE "CategorieLivre" (

"IDCategorieLivre" INTEGER PRIMARY KEY ,

"NomCategorie" VARCHAR(50) ,

"Commentaire" VARCHAR(50) );

CREATE INDEX "WDIDX_CategorieLivre_NomCategorie" ON "CategorieLivre" ("NomCategorie");

-- Création de la table Editeur

CREATE TABLE "Editeur" (

"IDEditeur" INTEGER PRIMARY KEY ,

"NomEditeur" VARCHAR(50) ,

"LieuEdition" VARCHAR(50) ,

"SiteWebEditeur" VARCHAR(50) );

CREATE INDEX "WDIDX_Editeur_NomEditeur" ON "Editeur" ("NomEditeur");

CREATE INDEX "WDIDX_Editeur_LieuEdition" ON "Editeur" ("LieuEdition");

-- Création de la table EmpruntLivre

CREATE TABLE "EmpruntLivre" (

"IDEmpruntLivre" INTEGER PRIMARY KEY ,

"DateEmprunt" DATE ,

"CodeLecteur" VARCHAR(12) ,

"CodeLivre" VARCHAR(15) ,

"TitreLivre" VARCHAR(50) ,

"DateRetour" DATE ,

"IDlecteur" INTEGER UNIQUE ,

"IDLivres" INTEGER );

CREATE INDEX "WDIDX_EmpruntLivre_CodeLecteur" ON "EmpruntLivre" ("CodeLecteur");

CREATE INDEX "WDIDX_EmpruntLivre_CodeLivre" ON "EmpruntLivre" ("CodeLivre");

CREATE INDEX "WDIDX_EmpruntLivre_TitreLivre" ON "EmpruntLivre" ("TitreLivre");

CREATE INDEX "WDIDX_EmpruntLivre_IDLivres" ON "EmpruntLivre" ("IDLivres");

-- Création de la table lecteur

CREATE TABLE "lecteur" (

"IDlecteur" INTEGER PRIMARY KEY ,

"CodeLecteur" VARCHAR(12) UNIQUE ,

"Matricule" VARCHAR(10) ,

"Noms" VARCHAR(50) ,

"Telephone" VARCHAR(13) ,

"Email" VARCHAR(25) );

-- Création de la table Livres

CREATE TABLE "Livres" (

"IDLivres" INTEGER PRIMARY KEY ,

"Titre" VARCHAR(50) ,

"Auteur" VARCHAR(50) ,

"TypeDocument" VARCHAR(50) ,

"ISBN" VARCHAR(50) ,

"Anneeedition" NUMERIC(10,0) ,

"MsonEdition" VARCHAR(50) ,

"NombrePage" INTEGER ,

"EtatLivre" VARCHAR(50) ,

"CodeLivre" VARCHAR(15) UNIQUE ,

"CategorieLivre" VARCHAR(50) ,

"IDCategorieLivre" INTEGER ,

"IDEditeur" INTEGER ,

"IDAuteur" INTEGER ,

"IDTypeDocument" INTEGER ,

"IDEmpruntLivre" INTEGER );

CREATE INDEX "WDIDX_Livres_Titre" ON "Livres" ("Titre");

CREATE INDEX "WDIDX_Livres_Auteur" ON "Livres" ("Auteur");

CREATE INDEX "WDIDX_Livres_ISBN" ON "Livres" ("ISBN");

CREATE INDEX "WDIDX_Livres_MsonEdition" ON "Livres" ("MsonEdition");

CREATE INDEX "WDIDX_Livres_IDCategorieLivre" ON "Livres" ("IDCategorieLivre");

CREATE INDEX "WDIDX_Livres_IDEditeur" ON "Livres" ("IDEditeur");

CREATE INDEX "WDIDX_Livres_IDAuteur" ON "Livres" ("IDAuteur");

CREATE INDEX "WDIDX_Livres_IDTypeDocument" ON "Livres" ("IDTypeDocument");

CREATE INDEX "WDIDX_Livres_IDEmpruntLivre" ON "Livres" ("IDEmpruntLivre");

-- Création de la table RemiseLivre

CREATE TABLE "RemiseLivre" (

"IDEmpruntLivre" INTEGER PRIMARY KEY ,

"CodeLecteur" VARCHAR(12) ,

"CodeLivre" VARCHAR(15) ,

"TitreLivre" VARCHAR(50) ,

"DateRemise" DATE ,

"IDlecteur" INTEGER ,

"IDLivres" INTEGER );

CREATE INDEX "WDIDX_RemiseLivre_CodeLecteur" ON "RemiseLivre" ("CodeLecteur");

CREATE INDEX "WDIDX_RemiseLivre_CodeLivre" ON "RemiseLivre" ("CodeLivre");

CREATE INDEX "WDIDX_RemiseLivre_TitreLivre" ON "RemiseLivre" ("TitreLivre");

CREATE INDEX "WDIDX_RemiseLivre_IDlecteur" ON "RemiseLivre" ("IDlecteur");

CREATE INDEX "WDIDX_RemiseLivre_IDLivres" ON "RemiseLivre" ("IDLivres");

-- Création de la table TypeDocument

CREATE TABLE "TypeDocument" (

"IDTypeDocument" INTEGER PRIMARY KEY ,

"TypeDocument" VARCHAR(30) );

CREATE INDEX "WDIDX_TypeDocument_TypeDocument" ON "TypeDocument" ("TypeDocument");

-- Contraintes d'intégrité

ALTER TABLE "RemiseLivre" ADD FOREIGN KEY ("IDLivres") REFERENCES "Livres" ("IDLivres");

ALTER TABLE "EmpruntLivre" ADD FOREIGN KEY ("IDLivres") REFERENCES "Livres" ("IDLivres");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDTypeDocument") REFERENCES "TypeDocument" ("IDTypeDocument");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDAuteur") REFERENCES "Auteur" ("IDAuteur");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDEditeur") REFERENCES "Editeur" ("IDEditeur");

ALTER TABLE "Livres" ADD FOREIGN KEY ("IDCategorieLivre") REFERENCES "CategorieLivre" ("IDCategorieLivre");

ALTER TABLE "RemiseLivre" ADD FOREIGN KEY ("IDlecteur") REFERENCES "lecteur" ("IDlecteur");

ALTER TABLE "EmpruntLivre" ADD FOREIGN KEY ("IDlecteur") REFERENCES "lecteur" ("IDlecteur")

précédent sommaire






Extinction Rebellion





Changeons ce systeme injuste, Soyez votre propre syndic





"Entre deux mots il faut choisir le moindre"   Paul Valery