Przejdź do treści

Dokumentacja API

Ta sekcja zawiera przegląd głównych klas i funkcji w ModbusSniffer.

Główne Klasy

ModbusParser

Parsuje surowe dane Modbus RTU na ustrukturyzowane ramki.

Metody: - parse_frame(data: bytes) -> dict: Dekoduje pojedynczą ramkę. - validate_crc(data: bytes) -> bool: Sprawdza poprawność CRC.

Przykład:

from modbus_sniffer.modbus_parser_new import ModbusParser

parser = ModbusParser()
frame = parser.parse_frame(b'\x01\x03\x00\x00\x00\x01\x84\x0A')
print(frame)  # {'address': 1, 'function': 3, 'data': ...}

SerialSnooper

Obsługuje komunikację przez port szeregowy.

Metody: - open_port(port: str, baud: int) -> None: Otwiera port szeregowy. - read_data() -> bytes: Odczytuje przychodzące dane.

Przykład:

from modbus_sniffer.serial_snooper import SerialSnooper

snooper = SerialSnooper()
snooper.open_port('/dev/ttyUSB0', 9600)
data = snooper.read_data()

MainLogger

Koordynuje logowanie i aktualizacje GUI.

Metody: - start_sniffing() -> None: Rozpoczyna przechwytywanie. - stop_sniffing() -> None: Kończy przechwytywanie.

Narzędzia

SnifferUtils

Funkcje pomocnicze do przetwarzania danych.

Funkcje: - format_hex(data: bytes) -> str: Formatuje bajty jako hex string. - calculate_crc(data: bytes) -> int: Oblicza CRC Modbus.

Przykład:

from modbus_sniffer.sniffer_utils import format_hex

hex_str = format_hex(b'\x01\x02\x03')
print(hex_str)  # '01 02 03'