IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème d'ouverture de port Com


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 156
    Points : 68
    Points
    68
    Par défaut Problème d'ouverture de port Com
    bonjour,

    j'ai déjà essayé de résoudre mon problème avec plusieurs petites solutions trouvé sur le net mais sans succès.

    je vous explique donc mon problème :

    j'ai un dongle bluetooth
    un équipement bluetooth

    le but : les relier par le bluetooth et les faire communiquer.

    j'arrive à trouver mon équipement, à l'associer et à "ajouter" la liaison port com (visible par bthprops.cpl ds la console et dans l'onglet Ports COM).
    je vois donc mon équipement associé à un port attribué au hasard.
    de retour dans mon code, au moment d'initialiser le port, j'ai une erreur qui apparait me disant :

    "Vous n'étiez pas connecté car il y avait un nom en double sur le réseau. Allez dans Système dans le Panneau de configuration et modifiez le nom de l'ordinateur et essayez à nouveau."


    ... lorsque je suis en pas-à-pas après avoir excécuté .open()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private WithEvents portComVirtuel As New SerialPort
     
    Public Sub InitPortCom(ByVal stNumPortSerie As String)
     
            Try
                If portComVirtuel.IsOpen = True Then
                    portComVirtuel.Close()
                End If
     
     
                With portComVirtuel
                    'Init des parametres
                    .PortName = stNumPortSerie.Substring(0, 5)
                    .BaudRate = 19200
                    .Parity = IO.Ports.Parity.Even
                    .Handshake = IO.Ports.Handshake.None
                    .StopBits = IO.Ports.StopBits.One
     
     
                    'Initialise le buffer
                    .DiscardNull = True
     
                    'Ouverture
                    .Open()
     
                End With
     
            Catch ex As Exception
                MsgBox(ex.Message, , "Erreur à la connection")
            End Try
     
        End Sub
    pourriez vous m'aider s'il vous plait
    par avance merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 156
    Points : 68
    Points
    68
    Par défaut
    J'ai oublié de préciser que j'utilisais une dll pour faire la découverte et l'association de mon équipement bluetooth, et la "virtualisation" de mon port série. Dll récupéré du site http://inthehand.com/

    en faisant l'association manuellement et en utilisant un logiciel pour "écouter" le port, j'arrive à envoyer ma trame et à recevoir une réponse, mais lorsque je force l'envoie, avec mon programme, d'une trame j'ai une exception qui monte me disant : le port n'est pas ouvert

    je deviens fou

    si vous avez une autre solution pour mon bluetooth et l'association, je suis preneur

    par avance merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 156
    Points : 68
    Points
    68
    Par défaut
    j'ai résolu mon problème.
    il fallait que je fasse .dipose() sur mon équipement bluetooth

    je m'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    Public Sub Connection(ByVal strAdresse As String)
     
        Dim arstrPortsAvant As New List(Of String)          'Liste des ports COM avant association
        Dim arstrPortsApres As New List(Of String)          'Liste des ports COM après association
        Dim strPortsBt As New List(Of String)               'Port(s) bluetooth
     
        TextBox1.Text = "Debut de la connection" & vbCrLf
     
        'Verifie l'adresse
        Try
            bluetAdress = BluetoothAddress.Parse(strAdresse)
            Catch ex As Exception
            MsgBox("Adresse MAC du peripherique incorrect" & vbCrLf & ex.Message)
            Exit Sub
        End Try
     
        'Cree un endpoint pour le service serialport
        Dim BtEndPoint = New BluetoothEndPoint(bluetAdress, ServiceName)
     
        TextBox1.Text &= "Adresse MAC : " & bluetAdress.ToString & vbCrLf
     
        myDevice = New BluetoothDeviceInfo(bluetAdress)
        TextBox1.Text &= "Device Name : " & myDevice.DeviceName & vbCrLf
     
        'Récupération des ports avant l'association, et conversion en list
        For Each strTmp As String In GetPortNames()
            arstrPortsAvant.Add(strTmp)
        Next
     
        Try
            'Diag
            lblEtatConnect.Text = "En connection"
     
            'Association de l'équipement bluetooth avec son code pin
            BluetoothSecurity.PairRequest(bluetAdress, "6699")
     
            'instancie le client
            myClient = New BluetoothClient
     
            'Connection avec le client
            myClient.Connect(BtEndPoint)
     
            'Active le service
            TextBox1.Text += "Demarrage du service serialport " & vbCrLf
            myDevice.SetServiceState(ServiceName, True)
     
            'Récupération des ports avant l'association, et conversion en list
            For Each strTmp As String In GetPortNames()
                arstrPortsApres.Add(strTmp)
            Next
     
            'parcours de la list arstrPortsApres pour trouver le ou les ports ajouter après l'assiciation
            For Each strPort As String In arstrPortsApres
                If Not arstrPortsAvant.Contains(strPort) Then
                    strPortsBt.Add(strPort)
                End If
            Next
     
            If strPortsBt.Count <> 1 Then
                MsgBox("Aucun port ajouté")
                lblEtatConnect.Text = "Erreur de connection"
     
                'Procédure pour se déconnecter proporement
                Deconnection()
     
            End If
     
            For Each tpsPort As String In strPortsBt
                TextBox1.Text += "Service serialport demarré, port com :  " & tpsPort
            Next
     
            'Diag
            lblEtatConnect.Text = "Connecté"
     
        Catch ex As Exception
            'Diag
            lblEtatConnect.Text = "Erreur de connection"
            TextBox1.Text += vbCrLf & vbCrLf & ex.Source & vbCrLf & ex.Message & vbCrLf & ex.StackTrace
        End Try
     
        If strPortsBt.Count <> 0 Then
            InitPortCom(strPortsBt(0))
        End If
     
        If portComVirtuel.IsOpen Then
            'Fermeture
            portComVirtuel.Close()
        Else
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            myClient.Close() 'Ligne ajouté pour que je puisse ouvrir mon port Com
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
            'Ouverture
            portComVirtuel.Open()
     
        End If
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'ouverture de port COM
    Par flamme34 dans le forum C++
    Réponses: 1
    Dernier message: 06/11/2013, 09h48
  2. Problème envoi caractère par port COM
    Par Briceba dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/09/2008, 09h29
  3. Problème de lecture du port Com
    Par zoheir13 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 26/04/2008, 13h49
  4. Problème de lecture sur port COM
    Par Marthym dans le forum MFC
    Réponses: 10
    Dernier message: 11/04/2006, 15h36
  5. Problème de reception sur Port COM
    Par Revan777 dans le forum C
    Réponses: 9
    Dernier message: 19/04/2005, 21h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo