EXPOSE JAVA BLUETOOTH Programmation Orientée Objet II REPUBLIQUE DU CAMEROUN Pa
EXPOSE JAVA BLUETOOTH Programmation Orientée Objet II REPUBLIQUE DU CAMEROUN Paix-Travail- Patrie UNIVERSITE DE YAOUNDE I Sapienta-Collativo-Cognitio ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE DE YAOUNDE REPUBLIQUE DU CAMEROUN Paix-Travail- Patrie UNIVERSITE DE YAOUNDE I Sapienta-Collativo-Cognitio ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE DE YAOUNDE Sous la supervision de Dr BILLONG Noms des participants : • NGOME Marvin Ajebe • NEIL Jovy Bikono • BAMBOU Fosso Franck Lionel • MVONDO LIONEL ARLNOLD • KAMGNO TIAJOUE MERCIEL • DEUTCHOUA MBOH Ivan • NOUAYOU MBOUE PATRICE • MBORO EVINA Christian Année Scolaire 2021/2022 1 Sommaire I. Définition de l’outil et son environnement .......................................................................... 3 1. Définition ............................................................................................................................ 3 2. Son environnement ............................................................................................................ 3 II. Historique ............................................................................................................................... 5 III. Comment l’intégré dans un projet ....................................................................................... 5 IV. Démo ....................................................................................................................................... 6 1. Obtention des appareils appairés .................................................................................... 6 2. Détection des appareils dans le réseau ............................................................................ 6 3. L’interface graphique ....................................................................................................... 7 4. Communication entre deux ordinateurs ......................................................................... 8 V. Quelques recommandations ................................................................................................ 10 VI. Syllabus et explication des termes clés ............................................................................... 10 VII. Resumé .................................................................................................................................. 12 VIII.Bibliography........................................................................................................................ 14 Table des figures Figure 1. SDDB et ServiceRecord................................................................................................ 4 Figure 2. UUID .............................................................................................................................. 4 Figure 3. démo aspect graphique ................................................................................................. 7 Figure 4. code connexion serveur ................................................................................................ 8 Figure 5.code de connexion client ................................................................................................ 9 Figure 6.SPP Bluetooth .............................................................................................................. 11 Année Scolaire 2021/2022 2 INTRODUCTION Java est l’un des langages de programmation orienté objet les plus utilisés par les développeurs. Celui-ci offre une pléthore de Framework regorgeant d’API offrant la possibilité aux programmeurs de développer des applications diversifiées (web, mobile, pour PC, GUI). A cet effet nous nous intéressons à JAVA BLUETOOTH qui est un des services proposés par ce langage. Il nous incombe donc de montrer l’utilisation des technologies Bluetooth en java. Pour se faire nous allons d’abord définir l’outil JAVA BLUETOOTH et présenter son environnement, ensuite ressasser l’histoire de cet outil, puis expliquer une méthode d’intégration de cet outil dans un projet, dans la même lancé présenter une démo illustrant une ses éventuelles utilisations et en fin donner des recommandations quant à sa manipulation. Année Scolaire 2021/2022 3 I. Définition de l’outil et son environnement 1. Définition Il s’agit d’un ensemble d’API pour la technologie sans fil Bluetooth (JABWT). C’est une spécification J2ME (Java Micro Edition) qui permet au Midlets Java d’être lancés sur des systèmes embarqués (téléphone) permettant une communication sur un réseau local. 2. Son environnement Par environnement nous entendons bien évidemment la description des différentes API constitutives des API JABWT. • Device management Les classes LocalDevice, RemoteDevice, ServiceClass permettent de réaliser la gestion des appareils. Ces classes donnent la possibilité d’obtenir les informations relatives à notre periphérique hôte Bluetooth (LocalDevice) et également quelques informations au sujet des périphériques dans le réseau (RemoteDevice). La classe DeviceClass donne des renseigneements à propos de la classe officielle du périphérique (CoD) définie dans les spécifications Bluetooth. Pour permettre aux équipements Bluetooth de repérer le périphérique hôte, les états de visibilité sont : ❖ Not_Discoverable=0 : traduit la non visibilité des périphériques ❖ LIAC=0x9E8B00 : permet une visibilité temporaire ❖ GIAC=0 x9E8B33 : traduit une visibilité constante. • DeviceDiscovery (Agent/Listener) JABWT fournit des supports pour la détection des appareils Bluetooth voisins c’est-à-dire ceux qui sont présent dans le champ du réseau PAN créé par un hôte. On utilise cette API pour scanner les terminaux visibles et Avoir une liste de périphérique associées. Pour la recherche d’autres périphériques ayant activé leur visibilité Bluetooth dans la zone on utilise l’instruction startInquiry (). La liste des périphériques qui ont eu à se connecter à l’hôte est donnée par retrieveDevices(). La classe DiscoveryListener est une interface dont les méthodes sont appelées par JVM quand l’évènement voulu survient. Pour être informé de la détection d’un périphérique Bluetooth par DiscoveryAgent.startInquiry(), il faut implémenter l’interface DiscoveryListener à la classe principale dans laquelle on rédige le code source. • Service Discovery Après avoir localisé les appareils dans la zone, il est naturel de pouvoir connaitre les services que ces appareils peuvent fournir (imprimante, périphérique audio, télécommande …). La classe Année Scolaire 2021/2022 4 relative à la découverte des services dans les spécifications JABWT implémente le SDAP (Service Discovery Application Profile). La SDAP à son tour a recours à la couche SDF (Service Discovery Protocol) pour trouver les services offerts par un périphérique Bluetooth découvert. Les classes concernées pour ses activités sont ServiceRecord, DataElement, UUID, DiscoveryAgent, DiscoveryListener. SDDB (Service Discovery Database) contient toutes les tables pour identifier les services offerts par les périphériques à ceux existants dans la base de données embarquée dans l’API DiscoveryListener. Figure 1. SDDB et ServiceRecord UUID est la classe qui contient des constantes qui identifie de façon unique les services dans les protocoles Bluetooth. A cet effet, selectService() permet de rechercher un UUID particulier disponible sur n’importe quel périphérique Bluetooth visible de la zone. Figure 2. UUID • Service Registration Pour qu’un client Bluetooth puisse utiliser service discovery sur un serveur Bluetooth, le serveur doit enregistrer son service en lui. Ce processus se nomme service registration. Si l’on veut concevoir une application pair à pair à l’instar d’un transfert de fichier ou d’une application de chat, n’importe quel appareil peut jouer le rôle de client et de serveur. Il faudrait donc incorporer cette fonctionnalité dans le code afin de pouvoir supporter les scénarios de service discovery et de service registration. Les classes concernées sont StreamConnectionNotifier et Connector provenant du package javax.microedition.io de J2ME. • Communication On ne pourrait parler de Bluetooth sans faire référence à la communication. C’est ainsi que les API JABWT nous suggèrent trois façons de pouvoir envoyer et recevoir des données. On peut citer entre autres RFCOMM, L2CAP et OBEX. Année Scolaire 2021/2022 5 II. Historique La technologie Bluetooth fut créée en mai 1998 et ce n’est qu’en 1999 que le premier périphérique implémentant le Bluetooth est mis sur pied. A partir de là son essor fut fulgurant durant les années qui s’en sont suivies. Il est devenu populaire au sein de la communauté de ceux qui souhaitent créer des PAN. Chaque PAN est alors un réseau déployé autour d’un individu qui permet aux appareils tels que les téléphones portables, les PDAs et bien d’autres de s’y connecter et partager des données de façon immédiate. Face donc au désir des développeurs de concevoir des applications java se déployant à réseau restreints, la JCP (Java Community Process) a défini la JSR-82 qui est un ensemble de standard regroupant des APIs java pour la technologie sans fils Bluetooth (JABWT). Ces standards furent publiés à la fin de l’année 2001. Ils permettront ainsi aux programmeurs d’implémenter les applications du Bluetooth au sein de l’environnement J2ME (Java Micro Edition) robuste et flexible pour les applications qui s’exécutent sur des périphériques intégrés et mobiles. Ces APIs ont aussi la particularité d’être portatives pouvant s’intégrer à d’autres Framework de java par exemple J2SE. De nos jours, Le Bluetooth est une technologie de communication hautement répandue dans plusieurs secteurs d’activité, le plus courant étant bien sûr à usage domestique. Nombreux sont nos appareils électroniques qui utilisent le Bluetooth pour se connecter à d’autres afin d’étendre les services et faciliter certaines actions du quotidien. On peut notamment citer les écouteurs sans fils, les montres connectées, les hauts parleurs, souris, les imprimantes, les télécommandes et bien d’autres. III. Comment l’intégré dans un projet Nous allons montrer ici une méthode assez simple pour l’intégrer les APIs Java Bluetooth dans un projet. Il suffit d’avoir le Framework J2SE intégré dans l’environnement de développement de votre choix. - S’assurer d’avoir installé la version 8 ou une supérieure de java dans son ordinateur - Vu que les APIs Bluetooth sont embarqués dans une librairie, il faut télécharger la librairie bluecove-2.1.1 sous l’extension .jar - Il faut ensuite créer un simple projet java et aller dans la configuration Built Path puis dans l’onglet librairies importer le fichier bluecove-2.1.1.jar . - Après avoir fait cela il ne reste plus qu’à appliquer les modifications et de créer une nouvelle classe dans le projet. L’application des méthodes relatives aux APIs Bluetooth sont maintenant disponibles. Ne reste plus qu’à entrer les instructions d’importations de librairies si votre l’IDE ne le fait pas automatiquement lorsqu’une classe est employée dans le code. A contrario si l’on utilise directement le Framework J2ME, ces APIs y sont directement intégrées. Année Scolaire 2021/2022 6 IV. Démo Dans notre démo nous allons présenter les illustrer les fonctionnalités inhérentes au Bluetooth. Cette démo décrit à l’occurrence la création d’un PAN par notre ordinateur hôte. Nous allons effectuer la recherche de tous les périphériques localisés au sein de ce réseau et ayant activés leur connexion Bluetooth visible. On aura aussi une option pour identifier les périphériques ayant déjà été appairés à l’ordinateur hôte. Nous aurons aussi un module pour permettre le partage de données entre notre machine hôte et une machine client. 1. Obtention des appareils appairés On commence par créer une instance (device) de la classe LocalDevice et puis on utilise la méthode getLocalDevice1 () afin de récupérer les caractéristiques Bluetooth de notre ordinateur hôte. On crée ensuite un tableau de RemoteDevice qui contiendra les références de uploads/s1/ expose-de-poo-2.pdf
Documents similaires
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 14, 2022
- Catégorie Administration
- Langue French
- Taille du fichier 0.5628MB