Pré requis :
************
_ deux pc avec la fonctionnalité Bluetooth
_ ou deux pc reliés par câble série
_ .NET framework V1.1
Principe :
**********
Le bluetooth dispose de 13 Profils. Chacun d’entre eux a une fonctionnalité spécifique, il y a par exemple le service de détection des autres périphériques Bluetooth, le service Casque qui sert souvent avec un téléphone Bluetooth pour y connecter une oreillette Bluetooth, et il y aussi le Service Port Profile, ou service port série, et bien d’autres.
C’est sur ce service que cette application est basée. En effet, il faut savoir que l’on peut établir entre deux périphériques qui supportent ce profil, une liaison série virtuelle, qui se traite comme une liaison série filaire.
De ce fait, il n’y a qu’à créer la connexion série virtuelle entre les 2 périphériques, puis il n’y a plus qu’à ouvrir et fermer, lire et écrire sur le port série spécifié.
Liaison série virtuelle :
*************************
Il faut savoir qu’il existe deux types de port série en Bluetooth. Le port série dit « entrant », et le port série dit « sortant ». Le premier sert lorsque le périphérique distant désire envoyer des données, et le second lorsque c’est ce périphérique qui est l’initiateur de la communication.
Avant de lancer l’application :
*******************************
Il faut établir l’appairage entre les deux périphériques Bluetooth. Pour cela, dans votre gestionnaire Bluetooth, lancer la fonction pour ajouter un nouveau périphérique. Vous devez choisir le service port série. Une fois le périphérique ajouté, deux ports COM ont été rajoutés dans la liste de vos périphériques. L’un est sortant, l’autre entrant. Normalement Au cours de l’appairage, il vous est précisé quel est le port COM sortant.
C’est ce port qu’il faut spécifier dans la combo de gauche. Le port entrant dans la combo de droite.
Ensuite, cliquer sur les deux boutons pour ouvrir les deux ports série utilisés.
Si tout se passe bien, la textbox du bas vous informe du handle utilisé pour la liaison aux ports série.
Enfin, refaire la même opération sur le deuxième ordinateur. (ce ne sera pas forcément les mêmes ports COM)
Fonctionnement :
****************
Deux combobox vous invitent à choisir le port série sortant (émission) et le port série entrant (réception).
Ces deux combobox sont remplies grâce à la fonction QueryDosDevice() qui retourne tous les périphériques de votre ordinateur. Un simple test sur la chaîne retournée vérifie qu’elle commence bien par « COM ».
Le choix de la vitesse de transmission n’est pas obligatoire dans le cas d’une transmission Bluetooth. La vitesse s’adapte elle-même au support de transmission. En revanche, dans le cas d’une liaison série filaire, il vous faut choisir la même vitesse pour les deux périphériques que vous souhaitez relier. Par défaut, la connexion établie aura 8 bit de données, 1 bit de stop et pas de bit de parité.
(Les autres caractéristiques de la transmission ne sont pas accessibles par l’IHM, mais vous pouvez modifier la parité, le nombre de bit de stop au sein de l’application, par le biais de la classe DCB).
Le pseudo ne peut pas dépasser 8 caractères, et la partie du message 255 caractères.
Le pseudo est envoyé juste avant la trame de données à chaque émission. Ainsi, si on change le pseudo, le destinataire le voit dès le prochain message.
Le format de la trame est le suivant :
<Nombre de caractères qui suivent><;><Pseudo><;><Message>
Un control ListView est utilisé pour afficher les messages de la conversation.
Les messages envoyés et les messages reçus sont différenciés par la couleur du texte dans la listview.
Enfin, deux boutons vous permettent d’exporter la conversation et d’importer une conversation au format XML.