Comparaison de SerialTool et d'autres logiciels

Description et tableau comparatif


Pourquoi cette page ?

Si vous êtes arrivé sur cette page, vous vous demandez probablement quel logiciel utiliser pour le port série, également connu sous le nom de port COM, pour vos applications.
Vous vous demandez probablement également pourquoi il y a un tableau comparatif des logiciels pour l'utilisation du port série. La réponse est simple : chez SerialTool, nous sommes assez confiants que vous reconnaîtrez SerialTool comme l'un des logiciels les plus avancés pour communiquer avec le port série, et qu'il se compare bien à d'autres programmes plus connus et largement utilisés.

L'histoire de SerialTool

Commençons par le fait que SerialTool est né d'une expérience décennale dans l'utilisation quotidienne et intensive du port série, remontant à l'époque où il était encore physiquement disponible en tant que RS-232 dans la plupart des PC et ordinateurs portables, avant d'être supplanté en faveur des convertisseurs USB-Série bien connus et couramment utilisés.

Nous remarquons souvent que les logiciels de port série mettent souvent en avant le fait qu'ils fonctionnent également avec RS-422 et RS-485.
Clarifions tout de suite : RS232, RS422, RS423 et RS485 sont essentiellement des protocoles de couche physique. Ce sont des protocoles de communication série et des interfaces pour des dispositifs ubiquitaires. Les interfaces série sont largement utilisées en électronique et dans les systèmes embarqués, souvent pour l'acquisition de données à distance à partir de dispositifs ou le contrôle à distance. Elles modifient la manière dont le signal est transmis, que ce soit un PC, un microcontrôleur ou une communication série par le biais de protocoles de communication série ou d'une transmission de niveau TTL. Elles doivent toutes être converties en signaux RS232, RS422, RS423 ou RS485 par une puce de convertisseur de communication.
Pourquoi cette clarification ? Tout logiciel qui communique avec le port série ou le port COM peut recevoir et émettre en RS-232, RS-422 et RS-485 avec les limitations de distance et de vitesse inhérentes à la couche physique de communication.
À la question de savoir si SerialTool est adapté à une utilisation avec RS-485, la réponse est OUI. Comme tous les logiciels qui communiquent avec un port série.
Ne vous laissez pas induire en erreur par les logiciels qui mettent en avant leur compatibilité avec RS-422 et RS-485. Ils le sont et le seraient de toute façon !

Logiciel série multiplateforme pour Windows, Linux et Mac OS

C'est précisément à partir de ces jours lointains qu'une version privée de SerialTool a été développée, conçue uniquement pour un usage interne, qui rassemblait tous les besoins quotidiens de travail dans un environnement embarqué. Dans un environnement embarqué, vous travaillez principalement avec des systèmes d'exploitation autres que les plus populaires Windows, tels que Linux et de plus en plus Mac OS.
SerialTool a été développé avec une structure multiplateforme, et les routines de connexion du port série ont été écrites en utilisant des fonctions natives pour les trois systèmes d'exploitation dans lesquels SerialTool a été distribué.
Les bibliothèques publiques n'ont pas été utilisées, car bien que stables, elles ne permettent pas la flexibilité et le contrôle total de tous les paramètres pris en charge par le port série. Par conséquent, il était nécessaire d'écrire le code source de manière à pouvoir atteindre là où les bibliothèques offertes par certaines IDE ne le permettaient pas. Cet effort a été largement récompensé par les fonctionnalités et les performances que SerialTool offre.

Pour qui est SerialTool ?

Vous vous demandez probablement si ce logiciel a été développé uniquement à des fins professionnelles.
La réponse est NON. Il est idéal pour tous les types d'applications, des exemples simples de communication avec une carte Arduino dans un contexte de loisirs, scolaire et académique, à des systèmes complexes impliquant de multiples connexions série, avec la nécessité de les surveiller toutes simultanément et d'enregistrer le trafic série de manière fiable, persistante et flexible.
Pour ces raisons, et pour de nombreuses autres, SerialTool a été développé en interne depuis 2009 dans les laboratoires de Duolabs et s'appelait SerialTalk. Maintenant, examinons en détail les besoins qui se posent souvent lors de l'utilisation du port série, que ce soit dans un contexte professionnel ou de loisirs.

Qu'est-ce qui rend SerialTool unique ?

Tout d'abord, SerialTool est le seul logiciel, à ce jour, capable de gérer plusieurs ports série multiples simultanément lors du lancement d'une seule application. Pour cette raison, chaque port série ou port COM doit avoir une affectation. En essence, il sera possible d'opérer simultanément sur plusieurs ports série dans une seule application, en attribuant des numéros progressifs à chaque port série et en configurant diverses fonctionnalités sans avoir à démarrer plusieurs logiciels simultanément.
Cette fonctionnalité est très complexe à gérer en interne et a nécessité de nombreux mois de développement pour être mise en œuvre dans SerialTool. Voyons maintenant l'envoi simple d'octets vers le port série.

Envoi de données vers le port série (modes ASCII et hexadécimal)

Les deux modes les plus courants consistent à envoyer des chaînes ASCII ou des tableaux d'octets en hexadécimal. SerialTool vous permettra d'envoyer efficacement, intuitivement et rapidement vos octets dans les deux modes.

Vous pouvez également envoyer automatiquement des chaînes prédéfinies de fin d'octets, telles que CR = Retour chariot (\r, 0x0D en hexadécimal, 13 en décimal) et LF = Avance de ligne (\n, 0x0A en hexadécimal, 10 en décimal), ou les deux.

Auto-complétion avec CRC

Dans certaines situations, notamment dans le secteur industriel, il est nécessaire d'envoyer le CRC (contrôle de redondance cyclique) à la fin des octets. Le calcul du CRC est basé sur les octets que vous avez l'intention d'envoyer et constitue l'une des formes de somme de contrôle. Le CRC, ou octets de contrôle pour la correction des octets reçus (par le récepteur), est souvent requis dans certains protocoles de communication tels que MODBUS. SerialTool offre le choix le plus large de polynômes CRC qui peuvent être envoyés à la fin de la charge utile réelle.

Utilisation du tampon rapide (Quick Buffer)

La transmission réelle de la charge utile se fait par le biais du panneau d'envoi rapide appelé Quick Buffer, spécialement conçu pour permettre l'envoi instantané de vos octets sans se plonger dans des options ou des fenêtres compliquées qui créent de la confusion. L'envoi d'octets ASCII peut également être effectué en tapant directement sur le clavier, de manière similaire aux terminaux de communication classiques. Nous soulignons que, pour le moment, SerialTool ne peut pas effectuer toutes les fonctions d'un terminal typique (par exemple, VT100), car il est positionné comme un logiciel de gestion du port série en tant qu'aspect prédominant de l'application. Il n'est pas exclu que dans de futurs développements, le mode terminal (actuellement disponible) puisse être étendu et rendu compatible avec l'encodage VT100.

Q : Mais comment et où puis-je voir les octets que je reçois et que j'envoie ?
De nombreux logiciels disposent d'un écran terminal qui vous permet d'envoyer et de recevoir des octets de manière similaire aux terminaux classiques comme TeraTerm. SerialTool offre, comme mentionné précédemment, un mode terminal hybride.

Q : Et qu'en est-il des octets hexadécimaux ?
La situation devient compliquée car les octets hexadécimaux ne sont pas toujours représentables en ASCII et peuvent donc générer des caractères non affichables ou, dans le cas des terminaux réels, créer des comportements apparemment anormaux. Dans un terminal classique, lors de la réception de l'octet correspondant à la touche DEL du clavier, le terminal supprime le dernier caractère envoyé. Pas idéal si nous recevons des octets hexadécimaux d'une source distante et que nous devons intercepter cet octet dans le cadre d'un paquet.
SerialTool résout le problème de deux manières. Tout d'abord, il dispose d'un écran terminal classique qui peut afficher les octets envoyés et reçus dans différents modes. ASCII pur, uniquement imprimable en ASCII, ou hexadécimal (avec différents types de formats). Lire ici..

Si vous n'avez pas l'intention d'utiliser le mode terminal classique, SerialTool dispose également du mode terminal hexadécimal.
En mode terminal hexadécimal, chaque octet ou paquet d'octets est affiché dans une table d'édition qui permet une visualisation rapide, intuitive et précise des charges utiles reçues et transmises.

Q : Mais que signifie exactement par octet ou paquet d'octets ?
Un seul octet peut être envoyé ou reçu depuis le port série, et après un temps prédéfini, la transmission peut être considérée comme terminée, générant ainsi un paquet. Un paquet contenant un seul octet dans ce cas.

Q : Comment puis-je déterminer l'intervalle entre un paquet et le suivant ?
Généralement, des outils tels que des oscilloscopes ou des analyseurs d'état logique sont utilisés pour déterminer l'intervalle entre les paquets. Cependant, il n'est pas toujours pratique ou pratique (même si vous avez l'un de ces outils) de réaliser des connexions physiques et d'observer le timing entre les bits pour déterminer à quelle fréquence l'appareil distant envoie des octets ou des paquets. SerialTool permet de déterminer précisément le temps écoulé depuis l'arrivée d'un seul octet et de définir les millisecondes entre les octets pour délimiter un paquet, par exemple.
De plus, SerialTool permet également d'enregistrer et de surveiller le temps écoulé depuis le dernier paquet reçu ou transmis.

Q : Combien de fois avez-vous dû copier-coller des tampons pour les envoyer au port série, et peut-être faire des erreurs ou oublier certains octets ?
Un obstacle courant pour de nombreux utilisateurs. En accord avec les Quick Buffers, SerialTool offre la possibilité d'avoir des tampons pré-chargés, toujours modifiables pour un envoi rapide et fiable.
Après des heures de travail, certaines erreurs peuvent survenir, et SerialTool vous aidera à les éviter. La fonction Multiple Buffers vous aidera à avoir des tampons à portée de main, qu'ils soient au format ASCII ou hexadécimal.

Enregistrement des données série dans un fichier

Pensez-vous que c'est suffisant ? Certains utilisateurs pourraient être satisfaits, et la plupart des programmes logiciels disponibles n'offrent que certaines de ces fonctions. Cependant, toute personne travaillant dans le monde de l'embarqué ou s'intéressant aux applications de loisirs impliquant une grande quantité de données envoyées et reçues se rendra compte de la nécessité de quelque chose de plus. Lorsqu'il y a une grande quantité de données en jeu, il devient nécessaire de sauvegarder les données entrantes et sortantes pour analyser le flux ou un protocole en vue d'opérations potentielles de reverse engineering. SerialTool vous permet de sauvegarder le journal des données dans un fichier pour une analyse ultérieure organisée et précise, vous permettant de vérifier ce qui est réellement passé par un port série particulier. Le journal peut être consulté en mode texte ou enregistré directement dans un fichier binaire.
Par exemple, si vous surveilliez le téléchargement du firmware sur un appareil distant en connectant l'adaptateur USB-série aux signaux de transmission et de réception, vous pourriez observer passivement tout le trafic échangé par les deux appareils. Dans le cas des téléchargements de firmware, il pourrait être extrêmement utile de pouvoir sauvegarder directement le flux de données dans un fichier pour une analyse plus détaillée ultérieurement.

Filtres série et fonction d'alarme

Vous pourriez avoir besoin d'intercepter uniquement certains paquets d'intérêt et d'analyser leur contenu.
Au moment de la rédaction de ce document, il n'existe pas de logiciels commerciaux spécifiques qui peuvent filtrer certains paquets et générer des alarmes en conséquence. SerialTool vous permet d'analyser le trafic entrant sur un ou plusieurs ports série et de générer une alarme lorsqu'un paquet prédéfini ou une simple séquence d'octets est reçu, que ce soit au format ASCII ou hexadécimal. SerialTool applique un filtre à ces paquets et les affiche ou les bloque pendant le flux entrant. De plus, vous pouvez enregistrer uniquement certains paquets ou séquences d'octets dans un fichier séparé. Cette fonctionnalité est rendue possible par la fonction Alarms disponible dans SerialTool.

Envoi de données de port série vers un serveur ou le cloud

SerialTool offre une fonctionnalité que de nombreux autres logiciels commerciaux n'ont pas ou n'ont que partiellement : la possibilité d'envoyer du trafic série sur un réseau. SerialTool vous permet d'envoyer du trafic bidirectionnel (réception et émission) vers un serveur en utilisant le protocole TCP ou UDP, à l'aide du Network Packet Sender. Il prend en charge à la fois IPv4 et IPv6.

Q : Puis-je envoyer des données vers le cloud ?
Absolument OUI ! SerialTool vous permet également d'envoyer du trafic vers le cloud en utilisant le Network Packet Sender. Vous pouvez effectuer des appels GET ou POST vers un serveur cloud pour mieux analyser, filtrer et stocker les données série.
Dans un contexte professionnel, par exemple, SerialTool peut être installé sur un mini-PC exécutant Linux et connecté à une machine distante, envoyant tout le trafic vers une infrastructure cloud. Imaginez pouvoir surveiller à distance une machine industrielle, même si elle n'a pas de connectivité cloud native, ou installer des capteurs et envoyer directement des données vers le cloud sans avoir à développer divers protocoles de communication. Il peut également être nécessaire de connecter le trafic du port série à des logiciels externes pour une analyse en temps réel. SerialTool fournit tout le trafic du port série pour une analyse avec un logiciel propriétaire.
SerialTool a développé un petit script php pour tester cette fonctionnalité, disponible sur la page du Network Packet Sender.

Envoi d'un fichier vers le port série

SerialTool offre la possibilité d'envoyer des fichiers (même volumineux) directement vers le port série. Peu importe le type de fichier, texte ou binaire, SerialTool découpera automatiquement le fichier en paquets d'octets définissables et les enverra à des intervalles spécifiques.

Auto-réponse

Q : Si je voulais tester un modem, un appareil de télémétrie ou un compteur, comment pourrais-je faire pour envoyer des commandes périodiques à l'appareil et enregistrer les réponses ?
SerialTool vous permet d'envoyer des commandes périodiques avec un délai entre chaque envoi. Par exemple, si vous deviez interroger périodiquement un modem série, vous pourriez définir le délai entre les commandes et le nombre de commandes à envoyer à chaque intervalle, puis enregistrer toutes les réponses dans un fichier pour une analyse ultérieure.
En savoir plus ici.

Communication avec d'autres logiciels

SerialTool permet également de connecter le trafic du port série à des logiciels externes pour une analyse en temps réel. SerialTool fournit tout le trafic du port série pour une analyse avec un logiciel propriétaire.

Mise à jour automatique

SerialTool est doté d'une fonction de mise à jour automatique pour garantir que vous disposez toujours de la dernière version du logiciel.

Compatibilité ascendante

SerialTool prend en charge la compatibilité ascendante, ce qui signifie que vous pouvez mettre à jour vers les dernières versions du logiciel sans perdre vos paramètres ou données existantes.

Assistance

SerialTool propose une assistance complète, y compris une base de connaissances, un centre d'assistance par e-mail et un support en ligne.

Avantages de SerialTool par rapport à d'autres logiciels de port série

En résumé, SerialTool offre les avantages suivants par rapport à d'autres logiciels de port série :

  • Multiplateforme : Compatible avec Windows, Linux et Mac OS.
  • Interface utilisateur intuitive.
  • Prise en charge de plusieurs ports série simultanément.
  • Envoi de données en mode ASCII ou hexadécimal.
  • Auto-complétion avec CRC.
  • Utilisation du tampon rapide (Quick Buffer).
  • Enregistrement des données série dans un fichier.
  • Filtres série et fonction d'alarme.
  • Envoi de données de port série vers un serveur ou le cloud.
  • Envoi de fichiers vers le port série.
  • Auto-réponse.
  • Communication avec d'autres logiciels.
  • Mise à jour automatique.
  • Compatibilité ascendante.
  • Assistance complète.

En fin de compte, Seri