Débogueur de port série en ligne
Outil de débogage série basé sur navigateur - aucun téléchargement requis, surveillance en temps réel via Web Serial API
Connexion
Moniteur de données
Envoyer des données
Historique d'envoi
Statistiques
Documentation du débogueur de port série
Comment utiliser cet outil
- Connectez votre appareil série à l'ordinateur
- Configurez les paramètres de connexion (débit en bauds, bits de données, parité, bits d'arrêt)
- Cliquez sur "Connecter" pour établir la connexion série
- Surveillez les données reçues en temps réel
- Envoyez des données au format texte ou HEX
- Utilisez l'historique d'envoi pour répéter les commandes précédentes
- Consultez les statistiques de connexion et le débit de données
Paramètres de connexion
Principes de mise en œuvre
Cet outil est implémenté à l'aide de l'API Web Serial, une interface de navigateur moderne qui permet aux applications Web de communiquer directement avec les périphériques série. Voici les détails de mise en œuvre principaux :
API principale : Web Serial API
L'outil est construit sur l'API Web Serial, qui fournit des interfaces JavaScript pour accéder aux ports série via le navigateur.
Fonctionnalités principales :
- Accès natif au port série du navigateur sans installer de pilotes ou de plugins
- Prise en charge de plusieurs configurations de port série (débit en bauds, bits de données, parité, bits d'arrêt, contrôle de flux)
- Communication de données bidirectionnelle utilisant Readable/Writable Streams
- Opérations asynchrones basées sur Promises et async/await
Étapes de mise en œuvre
1. Demander l'accès au port série
const port = await navigator.serial.requestPort();
Utilisez navigator.serial.requestPort() pour inviter l'utilisateur à sélectionner un périphérique de port série. Cela nécessite une interaction de l'utilisateur pour garantir la sécurité.
2. Configurer et ouvrir le port
await port.open({
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: 'none'
});
Appelez la méthode port.open() avec des paramètres de configuration incluant le débit en bauds, les bits de données, la parité, les bits d'arrêt et le contrôle de flux.
3. Lire les données
const reader = port.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
// Traiter les données reçues (Uint8Array)
const text = new TextDecoder().decode(value);
}
Obtenez un reader depuis port.readable et utilisez une boucle asynchrone pour lire continuellement les données. Les données reçues sont au format Uint8Array et doivent être décodées à l'aide de TextDecoder.
4. Envoyer des données
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);
Obtenez un writer depuis port.writable, utilisez TextEncoder pour convertir les chaînes en Uint8Array, puis appelez writer.write() pour envoyer les données.
5. Fermer la connexion
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();
Avant de fermer, libérez les verrous du reader et du writer, puis appelez port.close() pour fermer la connexion du port série.
API clés utilisées
-
navigator.serial.requestPort() - Demander à l'utilisateur de sélectionner un port série -
port.open(options) - Ouvrir le port série avec configuration -
port.readable.getReader() - Obtenir le reader du flux de lecture -
port.writable.getWriter() - Obtenir le writer du flux d'écriture -
reader.read() - Lire les données du port série -
writer.write(data) - Écrire des données sur le port série -
TextDecoder / TextEncoder - Convertir entre chaînes et tableaux d'octets -
port.addEventListener('disconnect') - Écouter les événements de déconnexion du périphérique
Référence de la documentation officielle
Fonctionnalités principales
API Web Serial
Accès direct aux ports série via le navigateur sans logiciel supplémentaire
Surveillance en temps réel
Surveillance des données en direct avec horodatage et défilement automatique
Mode HEX
Envoi et réception de données au format hexadécimal avec validation
Historique d'envoi
Suivi et relecture des commandes précédemment envoyées
Statistiques
Surveillance des taux de transmission de données et du temps de connexion
Multilingue
Support pour le chinois, l'anglais, le japonais, le français et l'espagnol
Cas d'utilisation courants
Développement et débogage
- Développement Arduino et ESP32
- Débogage de systèmes embarqués
- Développement et test de firmware
- Configuration d'appareils IoT
Test et communication
- Test de commandes AT pour modems
- Surveillance de données de capteurs
- Analyse de protocoles et débogage
- Communication avec appareils industriels
Support de navigateur et exigences
Navigateurs supportés
- Chrome 89+
- Edge 89+
- Firefox (non supporté)
- Safari (non supporté)
Exigences
- Navigateur basé sur Chromium avec support de l'API Web Serial
- Connexion HTTPS (requise pour l'API Web Serial)
- Permission utilisateur pour accéder aux ports série
- Pilotes d'appareils série compatibles installés
Standards et spécifications connexes
Pour plus d'informations : Documentation des standards de protocole Wikipedia RS-232, UART
Outils Connexes
Calculateur de CRC
Calculer les checksums CRC-8, CRC-16, CRC-32, CRC-64 avec support pour Modbus, CCITT et autres normes de protocole
Convertisseur de Base
Convertir entre les systèmes binaire, octal, décimal et hexadécimal avec support de bases personnalisées (2-36)
Convertisseur de timestamp
Convertir entre les timestamps Unix et les dates/heures lisibles par l'homme
Boîte à Outils Texte
Boîte à outils complète de manipulation de texte avec compteur de mots, extraction de données, division/jonction, filtre de lignes, opérations préfixe/suffixe
Convertisseur de Jeu de Caractères
Convertir l'encodage de texte entre UTF-8, GBK, Big5, Shift_JIS, ISO-8859, pages de codes Windows avec détection automatique
Testeur d'expressions régulières
Testez et déboguez des expressions régulières avec des résultats de correspondance instantanés