Seriële poort verkeerslogger
Wat is seriële poort traffic monitoring of logging?
Wanneer je bytes naar een seriële poort stuurt en ervan ontvangt, kan het nodig zijn om alle inkomende en uitgaande traffic van een specifieke seriële poort vast te leggen.
Je kunt dit handmatig of visueel volgen, maar als de seriële buffers te lang zijn of het verkeer continu is, wil je het waarschijnlijk naar een bestand wegschrijven.
Dat is precies wat SerialTool je biedt.
Welk soort seriële communicatiegegevens kan ik loggen?
Met SerialTool kun je inkomende en uitgaande gegevens in hexadecimale vorm én in ASCII-vorm opnemen.
Al je verkeer kan in een tekstbestand worden opgeslagen voor eenvoudige offline analyse.
28/12/2022@22:43:10.829::Packet[00000001l]>>Serial [1] [[COM5] - USB Serial Port] Sent 17 bytes.
41|42|43|44|45|46|47|48|49|4C|4D|4E|4F|50|51|52 || A B C D E F G H I L M N O P Q R
53| | | | | | | | | | | | | | | || S
28/12/2022@22:43:36.550::Packet[00000004l]>>Serial [1] [[COM5] - USB Serial Port] Sent 25 bytes.
54|68|69|73|20|69|73|20|61|20|73|65|72|69|61|6C || This is a serial
20|54|6F|6F|6C|20|6C|6F|67| | | | | | | || Tool log
Hoe kan ik gegevens in een bestand opslaan?
In SerialTool kun je het verkeer van je seriële poort opslaan in een binair bestand.
Elk afzonderlijk ontvangen of verzonden pakket wordt aan een bestaand bestand toegevoegd of er wordt een nieuw bestand aangemaakt als het nog niet bestaat.
Dit is vooral waardevol wanneer je seriële communicatie wilt analyseren, bijvoorbeeld een firmwaredownload, met behulp van een man-in-the-middle-benadering.
Er wordt een binair bestand gegenereerd zodat je je waardevolle gegevens eenvoudig kunt terughalen.
Deze functie is momenteel exclusief beschikbaar voor PRO-gebruikers.
Kan ik elk seriële datapakket controleren?
SerialTool kan elk seriële communicatiepakket dat via je seriële poort binnenkomt of eruit gaat, duidelijk en overzichtelijk volgen.
Elk datapakket wordt opgeslagen in zowel hexadecimale als ASCII-notatie, inclusief tijdstempel en lengte.
Waarom zijn seriële datapakketten zo belangrijk?
Seriële communicatie met embedded apparaten zoals Arduino
of
propriëtaire apparaten kan kleine tijdsvertragingen tussen de bytes hebben, en het stuurprogramma van de seriële poort (bij het lezen van de poort) kan zo’n blok data als één pakket beschouwen.
Met SerialTool kun je een specifieke time-out tussen bytes instellen om te bepalen wanneer een pakket als compleet wordt beschouwd.
SerialTool verhoogt automatisch de pakket- en byte-tellers voor een betere offline raadpleging.
Seriële communicatie byte-tot-byte-time-out
Zoals eerder vermeld kan asynchrone seriële communicatie vertragingen in een datastroom vertonen, om verschillende redenen.
De meer geavanceerde seriële communicatiesoftware, zoals SerialTool, kan een byte-tot-byte-time-out verwerken die bepaalt wanneer een pakket is ontvangen.
In de onderstaande afbeelding wordt het volledige time-outconcept duidelijker:
SerialTool byte-tot-byte-time-out.
Configuratie van seriële byte-tot-byte-time-out
Zoals eerder vermeld kan asynchrone seriële communicatie vertragingen in een datastroom hebben, om uiteenlopende redenen.
Geavanceerde seriële communicatiesoftware zoals SerialTool kan de byte-tot-byte-time-out instellen die bepaalt wanneer een pakket is ontvangen.
In de volgende afbeelding wordt het volledige time-outconcept nogmaals verduidelijkt:
Configuratie van SerialTool byte-tot-byte-time-out.