J'ai un périphérique de transmission Bluetooth et mon PC (Windows 7) y est connecté et configuré comme s'il était connecté via un port série RS232 (COM4). Comment puis-je capturer les données brutes transmises par le périphérique Bluetooth ou, de manière équivalente, les données brutes reçues dans COM4?
11
Réponses:
Vous pouvez utiliser un programme de terminal standard pour capturer les données dans différents formats. Je suggère d'utiliser le terminal de Bray , c'est vraiment facile et il y a beaucoup d'options!
Ou voulez-vous capturer et interpréter les données dans une sorte de propre application?
la source
La meilleure solution que j'ai trouvée, quoique un peu grossière, est Tera Term http://ttssh2.sourceforge.jp/index.html.en .
Bray ne fonctionne pas bien avec Windows 8. Bien qu'il soit impossible de dire exactement ce qu'il fait sans la source, il semble qu'il fasse des hypothèses sur l'emplacement d'un paramètre de registre.
portmon ne fonctionnait pas non plus pour moi sur Windows 8.
la source
Mon émulateur de terminal préféré pour le débogage est RealTerm qui a une belle gamme d'options d'affichage pour les systèmes embarqués. RS-232 et TCP / IP fonctionnent bien sous Windows 7 x64 et inférieur (je n'ai pas essayé sous Win 8 mais je n'ai aucune raison de penser que cela ne fonctionnerait pas). Voici quelques fonctionnalités que je trouve particulièrement utiles:
Il existe également de nombreuses autres options pour I2C, SPI, Dallas 1-wire et GPIB. Je n'ai pas personnellement utilisé ces fonctionnalités mais il y a un bon résumé sur la page SourceForge ci-dessus. Voici une capture d'écran de la vue de l'onglet d'affichage principal:
la source
Je recommanderais également Bray, si vous n'êtes pas sûr du débit en bauds, ouvrez le gestionnaire de matériel, accédez aux ports COM et sélectionnez les propriétés, il y est répertorié mais pas toujours précis.
la source
Il y a portmon : un outil sysinternals qui agit comme un datascope pour les ports COM.
la source
Selon vos besoins précis, il peut être utile d'utiliser un microcontrôleur qui peut capturer et horodater les données, puis les transmettre au PC. Les UART historiquement trouvés sur les PC typiques n'ont pu enregistrer des informations de synchronisation précises ou capturer des données 9 bits qu'en ayant le processeur saisir chaque octet à son arrivée, sans mise en mémoire tampon; les systèmes d'exploitation et pilotes ultérieurs ne sont généralement pas équipés pour cela, et les puces UART vers USB sont désespérées à cet égard. Si votre PC peut recevoir des données au double de votre débit de données souhaité, vous pouvez avoir un microcontrôleur pour recevoir des octets de données et pour chaque octet envoyer deux octets. Le premier octet devrait avoir le MSB défini, signaler le MSB (ou deux MSB si 9 bits) des données entrantes dans le ou les bits suivants, et utilisez les 5 derniers bits (ou 4) pour signaler la quantité de temps (0-30 ou 0-14) depuis le milieu du bit d'arrêt de l'octet précédent (mesuré en unités de, par exemple, un temps de bit). Le deuxième octet aurait le MSB effacé et contiendrait les 7 bits de données restants. Lorsqu'aucune donnée n'est transmise, des caractères de stimulation FF sont envoyés toutes les 30 (ou 14) fois. Le logiciel recevant ces rapports serait ainsi en mesure de reconstruire de façon très précise (en un temps de bit) la synchronisation exacte des données entrantes. Si le débit de données alimentant le PC était quatre fois le débit de données surveillé, on pourrait utiliser ce schéma général pour multiplexer deux canaux de réception dans un port PC (utiliser un bit de l'octet d'en-tête pour identifier s'il contenait des données pour le premier ou le second). Port). Bien que chronométrer des choses précises à un seul bit puisse sembler excessif, il peut parfois être utile,
la source