Eu tenho um dispositivo de transmissão Bluetooth e meu PC (Windows 7) está conectado a ele e configurado como se estivesse conectado por uma porta serial RS232 (COM4). Como capturar os dados brutos transmitidos pelo dispositivo Bluetooth ou, equivalentemente, os dados brutos recebidos no COM4?
11
Respostas:
Você pode usar um programa de terminal padrão para capturar os dados em diferentes formatos. Sugiro usar o Terminal Bray , é muito fácil e tem muitas opções!
Ou você deseja capturar e interpretar os dados em algum tipo de aplicativo próprio?
fonte
A melhor solução que encontrei, embora um pouco grosseira, é Tera Term http://ttssh2.sourceforge.jp/index.html.en .
O Bray's não funciona bem com o Windows 8. Embora seja impossível dizer exatamente o que está fazendo sem a fonte, parece que ele está assumindo a localização de uma configuração de registro.
O portmon também não funcionou para mim no Windows 8.
fonte
Meu emulador de terminal favorito pessoal para depuração é o RealTerm, que possui uma boa variedade de opções de exibição para sistemas embarcados. O RS-232 e o TCP / IP funcionam bem no Windows 7 x64 e abaixo (eu não tentei no Win 8, mas não tenho nenhum motivo para pensar que não funcionaria). Alguns recursos que considero especialmente úteis são:
Existem também algumas outras opções para I2C, SPI, Dallas 1-wire e GPIB. Eu pessoalmente não usei esses recursos, mas há um bom resumo na página do SourceForge acima. Aqui está uma captura de tela da visualização da guia principal da tela:
fonte
Também recomendo o bray, se você não tiver certeza sobre a taxa de transmissão, abra o gerenciador de hardware, navegue até as portas COM e selecione as propriedades. Ele está listado lá, embora nem sempre seja preciso.
fonte
Existe o portmon : uma ferramenta sysinternals que atua como um datascope para portas COM.
fonte
Dependendo dos requisitos exatos, pode ser útil usar um microcontrolador que possa capturar e marcar os dados no tempo e enviá-los ao PC. Os UARTs historicamente encontrados em PCs típicos só conseguiram registrar informações precisas de tempo ou capturar dados de 9 bits, fazendo com que o processador pegue cada byte quando chegar, sem buffer; sistemas operacionais e drivers posteriores geralmente não estão equipados para fazer isso, e os chips UART para USB são inúteis nesse sentido. Se o seu PC puder receber dados com o dobro da taxa de dados desejada, um microcontrolador receberá bytes de dados e, para cada byte, enviará dois bytes. O primeiro byte deve ter o MSB definido, relatar o MSB (ou dois MSBs de 9 bits) dos dados recebidos nos próximos bits, e use os 5 (ou 4) bits inferiores para informar a quantidade de tempo (0-30 ou 0-14) desde o meio do bit de parada do byte anterior (medido em unidades de, por exemplo, um tempo de bit). O segundo byte teria o MSB limpo e conteria os 7 bits restantes de dados. Quando nenhum dado está sendo transmitido, os caracteres de estimulação FF são enviados a cada 30 (ou 14) bits de tempo. O software que recebe esses relatórios poderá, assim, reconstruir com muita precisão (dentro de um bit) o tempo exato dos dados recebidos. Se a taxa de dados que alimenta o PC for quatro vezes a taxa de dados que está sendo monitorada, pode-se usar esse esquema geral para multiplexar dois canais de recebimento em uma porta do PC (use um pouco do byte do cabeçalho para identificar se continha dados para o primeiro ou o segundo porta). Embora a temporização de itens com precisão de um bit possa parecer excessiva, há momentos em que pode ser útil,
fonte