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

Delphi Discussion :

Problème envoi de la trame


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 51
    Par défaut Problème envoi de la trame
    bonjour

    j'essaye d'envoyer en bluetooth low energy une trame mais je reçois toujours des erreurs lors de l'envoi.

    NB: la trame qui est affichée sur Delphi est bonne par contre sur le terminal c'est pas bon

    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
    procedure TForm6.Button1Click(Sender: TObject);
    var
    framet : string;
     address : byte;
     fct    : byte;
     startadress : word;
     registers : longword;
     I :Byte;
     chaine : string;
    begin
      if FBLEDevice <> nil then
        begin
          address :=  $04;
          fct := $01;
          startadress := $0A;
          registers := $0D;
          frameT := Readcoils( address, fct, startadress, registers);
          for I := 1 to length(framet) do
            Chaine:=Chaine+  ' ' +  inttohex(ord(frameT[I]),2);
            Memo1.Lines.Add( ' WRITE: ' + chaine );
     
            FBLEGattChar.SetValueAsString(chaine);  // recupere le text sous format string
            FBLEDevice.WriteCharacteristic(FBLEGattChar); //  envoie du text
        end;
    end;
    Images attachées Images attachées   

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 460
    Par défaut
    Bonjour,
    Je n'ai jamais utilisé le bluetooth, mais cela ressemble à un soucis que j'ai déjà rencontré sur une liaison série.
    Il me semble que dans la suite de caractères envoyés, la suite 00 0A 00 0D correspond à une fin de ligne et retour chariot et comme SetValueAsString attend une chaine de caractère est-ce que cette suite n'est pas interprétée comme la fin de ligne et la suite ignorée ?

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 51
    Par défaut
    en fait je sais pas du tout par contre si je change la trame je reçois le bon résultat
    Images attachées Images attachées   

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    tu utilises un String Unicode, c'est pas là le problème ?

    passe à RawByteString ou TBytes
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 51
    Par défaut erreur d'envoie de la trame
    j'ai essayé de changé ma fonction, par contre lorsque je veux envoyer la trame je sais pas comment faire car elle pas sous format chaîne ou ..

    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
     
    procedure TForm6.Button1Click(Sender: TObject);
    var
      s : string;
      k : string;
      i : integer;
      n : integer;
      TxBuf : array [0..255] of Byte;
     
      TxBufLen : integer;
      crc : word;
      RxBuf : array [0..255] of Byte;
      res : string;
      b : tbytes;
     
    begin
          Edit1.Text := '';
          s := '01';
          s := s + '03';
          s := s + '000A';
          s := s + '0A0B';
     
          TxBufLen := s.Length div 2;
          for i := 1 to TxBufLen do
            TxBuf[i-1] := StrToInt('$' + s[i * 2 - 1] + s[i * 2]);
          crc := CRC16(TxBuf, TxBufLen);
          Edit1.Text := s;
          s :=inttohex(crc, 4);
          Edit1.Text := Edit1.Text + s;
          TxBuf[TxBufLen ]    := strtoint('$'+Copy(s, 1, 2));
          TxBuf[TxBufLen + 1] := strtoint('$'+Copy(s, 3, 2));
          TxBufLen := TxBufLen + 2;
     
          FBLEGattChar.setvalue(TxBuf, txbuflen);
          FBLEDevice.WriteCharacteristic(FBLEGattChar);
    Images attachées Images attachées  

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    Quel est le problème ?
    Il y a une variante SetValue en UTF8String ou UTF16String, utilise celle que sait gérer ton appareil

    Lit la DOC
    Tu ne confonds pas Characteristic et l'envoie de données par un TBluetoothSocket ?

    Et si c'est vraiment un Low Energy : A Lire cela semble se comporte effectivement comme des Registres ces Characteristic
    Il faut que tu fasses des essais et ne pas entendre une réponse du forum qui n'arrivera surement jamais.
    Faudrait que le hasard fasse qu'un autre membre du forum possède un périphérique BLE GATT, faut pas trop espérer et plutôt utiliser ton énergie à tester, chercher, fouiller qu'à poster des sujets en double sur le forum
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Problème envoi de formulaire
    Par metallien dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 03/02/2006, 13h13
  2. [Mail] problème envoi de newsletter 'page HTML'
    Par lilie507 dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2006, 15h57
  3. Problème avec l'envoi d'une trame TCP
    Par fredoBreton dans le forum API, COM et SDKs
    Réponses: 14
    Dernier message: 17/11/2005, 20h19
  4. [Mail] Problème envoi formulaire par mail
    Par Nicos77 dans le forum Langage
    Réponses: 5
    Dernier message: 10/11/2005, 17h11
  5. problème envoie d'un message postcommand()
    Par semenzato dans le forum MFC
    Réponses: 4
    Dernier message: 13/01/2004, 17h26

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