Comparação entre o SerialTool e outros softwares

Descrição e tabela comparativa


Por que esta página?

Se você chegou a esta página, provavelmente está se perguntando qual software usar para a porta serial, também conhecida como porta COM, em suas aplicações.
Você também deve estar se perguntando por que há uma tabela comparativa de software para uso da porta serial. A resposta é simples: na SerialTool, temos bastante confiança de que você reconhecerá o SerialTool como um dos softwares mais avançados para comunicação com a porta serial, e ele se destaca bem em comparação com outros programas mais conhecidos e amplamente utilizados.

A história do SerialTool

Vamos começar com o fato de que o SerialTool nasceu de uma experiência de uma década no uso diário e intensivo da porta serial, remontando aos tempos em que ela ainda estava disponível fisicamente como RS-232 na maioria dos PCs e laptops, antes de ser suplantada em favor dos conhecidos e amplamente utilizados conversores USB-Serial.

Frequentemente, observamos que o software de porta serial enfatiza que eles também funcionam com RS-422 e RS-485.
Vamos esclarecer imediatamente: RS232, RS422, RS423 e RS485 são todos essencialmente protocolos de camada física. São protocolos e interfaces de comunicação serial para dispositivos ubíquos. Interfaces seriais são amplamente utilizadas na eletrônica e em sistemas embarcados, frequentemente para aquisição remota de dados de dispositivos ou controle remoto. Elas alteram a maneira como o sinal é transmitido, seja em um PC, microcontrolador ou transmissão de nível TTL através de protocolos de comunicação serial. Todos eles precisam ser convertidos em sinais RS232, RS422, RS423 ou RS485 por um chip conversor de comunicação.
Por que esse esclarecimento? Qualquer software que comunique com a porta serial ou porta COM pode receber e transmitir em RS-232, RS-422 e RS-485, com as limitações de distância e velocidade inerentes à camada física de comunicação.
Para a pergunta se o SerialTool é adequado para uso com RS-485, a resposta é SIM. Assim como todo software que se comunica com uma porta serial.
Não se deixe enganar por softwares que enfatizam serem compatíveis com RS-422 e RS-485. Eles são e seriam compatíveis de qualquer maneira!

Software Serial Multiplataforma para Windows, Linux e Mac OS

Exatamente a partir desses dias distantes, uma versão privada do SerialTool foi desenvolvida, projetada apenas para uso interno, que reunia todas as necessidades diárias de trabalho em um ambiente embarcado. Em um ambiente embarcado, você trabalha principalmente com sistemas operacionais diferentes do mais popular Windows, como Linux e, cada vez mais, o Mac OS.
O SerialTool foi desenvolvido com um framework multiplataforma, e as rotinas de conexão da porta serial foram escritas usando funções nativas para os três sistemas operacionais nos quais o SerialTool foi distribuído.
Não foram usadas bibliotecas públicas, que, embora estáveis, não permitem flexibilidade e controle total de todos os parâmetros suportados pela porta serial. Portanto, foi necessário escrever o código-fonte de forma a poder alcançar onde as bibliotecas oferecidas por determinados IDEs não permitiam. Esse esforço foi bem recompensado pelas características e desempenho que o SerialTool oferece.

Para quem é o SerialTool?

Você provavelmente está se perguntando se este software foi desenvolvido apenas para uso profissional.
A resposta é NÃO. É ideal para todos os tipos de aplicações, desde exemplos simples de comunicação com uma placa Arduino em configurações de hobby, escola e acadêmicas até sistemas complexos que envolvem múltiplas conexões seriais, com a necessidade de monitorar todas elas simultaneamente e registrar o tráfego serial de forma confiável, persistente e flexível.
Por essas e muitas outras razões, o SerialTool foi desenvolvido internamente desde 2009 nos laboratórios da Duolabs e chamava-se SerialTalk. Agora, vamos dar uma olhada detalhada nas necessidades que frequentemente surgem ao usar a porta serial, tanto em um contexto profissional quanto de hobby.

O que torna o SerialTool único?

Em primeiro lugar, o SerialTool é o único software, até o momento, capaz de lidar com várias portas seriais múltiplas simultaneamente em um único lançamento de aplicativo. Por esse motivo, cada porta serial ou porta COM deve ter uma atribuição. Em essência, será possível operar simultaneamente em várias portas seriais dentro de um único aplicativo, atribuindo números progressivos a cada porta serial e configurando várias funcionalidades sem precisar iniciar vários softwares simultaneamente.
Essa funcionalidade é muito complexa de gerenciar internamente e exigiu muitos meses de desenvolvimento para ser implementada no SerialTool. Agora, vejamos o simples envio de bytes para a porta serial.

Envio de dados para a porta serial (modos ASCII e hexadecimal)

Os dois modos mais comuns são o envio de strings ASCII ou arrays de bytes em hexadecimal. O SerialTool permitirá que você envie seus bytes de forma eficiente, intuitiva e rápida em ambos os modos.

Você também pode enviar automaticamente strings de fim de byte predefinidas, como CR = Carriage Return (\r, 0x0D em hexadecimal, 13 em decimal) e LF = Line Feed (\n, 0x0A em hexadecimal, 10 em decimal), ou ambos.

Auto-completar com CRC

Em algumas situações, especialmente no setor industrial, é necessário enviar o CRC (verificação de redundância cíclica) no final dos bytes. O cálculo do CRC é baseado nos bytes que você pretende enviar e é uma das formas de checksum. O CRC, ou bytes de controle para a correção dos bytes recebidos (pelo receptor), é frequentemente necessário em certos protocolos de comunicação, como o MODBUS. O SerialTool oferece a mais ampla escolha de polinômios CRC que podem ser enviados no final da carga útil real.

Uso do Quick Buffer

A transmissão real da carga útil é feita através do painel de envio rápido chamado Quick Buffer, especialmente projetado para permitir o envio instantâneo de seus bytes sem a necessidade de opções complicadas ou janelas que criam confusão. O envio de bytes ASCII também pode ser feito digitando diretamente as teclas do teclado, semelhante aos terminais de comunicação típicos. Ressaltamos que o SerialTool, no momento, não pode realizar todas as funções de um terminal típico (por exemplo, VT100), pois é posicionado como um software para gerenciar a porta serial como o aspecto predominante da aplicação. Não está descartada a possibilidade de que em futuros desenvolvimentos, o modo de terminal (atualmente disponível) possa ser expandido e compatível com a codificação VT100.

P: Mas como e onde vejo os bytes que recebo e transmito?
Muitos programas de software têm uma tela terminal que permite enviar e receber bytes semelhantes a terminais clássicos como o TeraTerm. O SerialTool oferece, como mencionado acima, um modo de terminal híbrido.

P: E quanto aos bytes hexadecimais?
A situação fica complicada porque os bytes hexadecimais nem sempre são representáveis em ASCII e, consequentemente, podem gerar caracteres não exibíveis ou, no caso de terminais reais, criar comportamentos aparentemente anormais. Em um terminal clássico, ao receber o byte correspondente à tecla DEL no teclado, o terminal exclui o último caractere enviado. Não é ideal se estivermos recebendo bytes hexadecimais de uma fonte remota e precisarmos interceptar esse byte como parte de um pacote.
O SerialTool resolve o problema de duas maneiras. Em primeiro lugar, ele possui uma tela de terminal clássica que pode exibir bytes enviados e recebidos em vários modos. ASCII puro, apenas ASCII imprimível ou hexadecimal (com diferentes tipos de formato). Leia aqui..

Se você não pretende usar o modo de terminal clássico, o SerialTool possui o modo de terminal hexadecimal.
No modo de terminal hexadecimal, cada byte ou pacote de bytes será exibido em uma tabela de edição que permite uma visualização rápida, intuitiva e precisa das cargas úteis recebidas e transmitidas.

P: Mas o que exatamente é um byte ou pacote de bytes?
Um único byte pode ser enviado ou recebido da porta serial e, após um tempo predefinido, a transmissão pode ser considerada completa, gerando um pacote. Nesse caso, um pacote contendo um único byte.

P: Como posso determinar o intervalo entre um pacote e o próximo?
Normalmente, ferramentas como osciloscópios ou analisadores de estado lógico são usadas para determinar o intervalo entre os pacotes. No entanto, pode nem sempre ser conveniente ou prático (mesmo se você tiver uma dessas ferramentas) fazer conexões físicas e observar o timing entre os bits para determinar com que frequência o dispositivo remoto envia bytes ou pacotes. O SerialTool oferece a capacidade de determinar com precisão o tempo decorrido desde a chegada de um único byte e configurar os milissegundos entre bytes para delimitar um pacote, por exemplo.
Além disso, o SerialTool também oferece a capacidade de registrar e monitorar o tempo decorrido desde o último pacote recebido ou transmitido.

P: Quantas vezes você teve que copiar e colar buffers para enviar para a porta serial e talvez cometer erros ou esquecer alguns bytes?
Um obstáculo comum para muitos. Em linha com os Quick Buffers, o SerialTool oferece a capacidade de ter buffers pré-carregados, sempre editáveis para envio rápido e confiável.
Após horas de trabalho, alguns erros podem acontecer, e o SerialTool o ajudará a evitá-los. A função de Múltiplos Buffers ajudará você a manter buffers ao alcance dos dedos, seja em formato ASCII ou hexadecimal.

Registo de dados seriais em arquivo

Acha que isso é suficiente? Alguns usuários podem estar satisfeitos, e a maioria dos programas de software disponíveis oferece apenas algumas dessas funções. No entanto, qualquer pessoa que trabalhe com ou seja apaixonada pelo mundo embarcado ou que se envolva em aplicações de hobby que envolvam uma grande quantidade de dados enviados e recebidos perceberá a necessidade de algo mais. Quando há uma grande quantidade de dados em jogo, torna-se necessário salvar os dados de entrada e saída para analisar o fluxo ou um protocolo para operações potenciais de engenharia reversa. O SerialTool permite que você salve o log de dados em um arquivo para posterior análise organizada e precisa, permitindo que você verifique o que realmente passou por uma porta serial específica. O log pode ser visualizado em modo de texto ou salvo diretamente em um arquivo binário.
Por exemplo, se você estivesse monitorando o download de firmware para um dispositivo remoto conectando o adaptador USB-serial aos sinais de transmissão e recepção, você poderia observar passivamente todo o tráfego que os dois dispositivos estão trocando. No caso de downloads de firmware, pode ser extremamente útil poder salvar diretamente o fluxo de dados em um arquivo para uma análise mais detalhada posteriormente.

Filtros seriais e função de alarme

Você pode precisar interceptar apenas determinados pacotes de interesse e analisar seu conteúdo.
No momento em que este documento foi escrito, não existem programas de software comerciais específicos que possam filtrar determinados pacotes e gerar alarmes correspondentes. O SerialTool permite que você analise o tráfego de entrada em uma ou mais portas seriais e gere um alarme quando um pacote predefinido ou uma simples sequência de bytes é recebida, seja em formato ASCII ou hexadecimal. O SerialTool aplica um filtro a esses pacotes e os exibe ou bloqueia durante o fluxo de entrada. Além disso, você pode salvar apenas determinados pacotes ou sequências de bytes em um arquivo separado. Essa funcionalidade é possibilitada pelo recurso de Alarmes disponível no SerialTool.

Envio de dados de porta serial para um servidor ou a nuvem

O SerialTool oferece um recurso que muitos outros programas de software comerciais não têm ou têm apenas parcialmente: a capacidade de enviar o tráfego serial pela rede. O SerialTool permite que você envie tráfego bidirecional (receber e transmitir) para um servidor usando o protocolo TCP ou UDP, usando o Transmissor de Pacotes de Rede. Ele suporta tanto o IPv4 quanto o IPv6.

Por que o SerialTool se destaca?

O SerialTool é um software de gerenciamento de porta serial projetado para usuários que precisam de flexibilidade, confiabilidade e controle total sobre sua conexão serial. Ele oferece recursos avançados que o diferenciam de muitos outros softwares de comunicação serial disponíveis no mercado.

  • Compatível com Windows, Linux e Mac OS, tornando-o adequado para uma variedade de sistemas operacionais.
  • Capacidade de lidar com várias portas seriais simultaneamente em um único aplicativo, proporcionando facilidade de uso e eficiência.
  • Envio de dados em modos ASCII e hexadecimal, com suporte a caracteres de controle, como Carriage Return e Line Feed.
  • Opções avançadas de CRC para aplicações que exigem verificação de integridade de dados.
  • Quick Buffer para envio rápido e eficiente de dados serializados.
  • Recursos de registro de dados seriais em arquivo para análise posterior.
  • Funcionalidade de filtro serial e alarme para capturar pacotes de interesse.
  • Capacidade de enviar dados serializados para servidores ou a nuvem por meio de protocolos TCP, UDP e HTTP.
  • Vários modos de exibição e exportação de dados para facilitar a análise e monitoramento.

Esses recursos fazem do SerialTool uma escolha sólida para engenheiros, desenvolvedores, entusiastas de eletrônica e qualquer pessoa que trabalhe com comunicação serial. Se você busca um software versátil e poderoso para suas necessidades de porta serial, o SerialTool é uma excelente opção.

Conclusão

Esperamos que esta descrição detalhada do SerialTool tenha lhe proporcionado uma compreensão abrangente de suas funcionalidades e capacidades únicas. Se você trabalha com comunicação serial em qualquer capacidade, seja profissionalmente ou como hobby, o SerialTool pode ser uma ferramenta valiosa para simplificar suas tarefas e oferecer controle avançado sobre suas conexões serializadas.
O SerialTool continua a evoluir e se aprimorar com base no feedback dos usuários, tornando-o uma escolha sólida para suas necessidades de gerenciamento de porta serial.
Se você deseja experimentar o SerialTool por si mesmo, pode baixar a versão de avaliação gratuita ou adquirir a versão completa em nosso site oficial. Agradecemos por escolher o SerialTool como sua solução de porta serial e esperamos que ele atenda todas as suas expectativas e necessidades.

A equipe SerialTool