Przejdź do głównej zawartości

Karta SD

Zwraca listę plików i podkatalogów.

POST /api/card/dir/

Parametry żądania:

PoleTypWymaganeOpis
pathstringTakŚcieżka bezwzględna do katalogu.
fromIdxintegerNieIndeks początkowy (domyślnie 0).
toIdxintegerNieIndeks końcowy.

Przykładowe żądanie:

{
"path": "/logs",
"fromIdx": 0
}

Odpowiedź:

PoleTypOpis
fromIdxinteger / nullIndeks pierwszego zwróconego elementu.
toIdxinteger / nullIndeks ostatniego zwróconego elementu.
totalintegerCałkowita liczba elementów w katalogu.
itemsarrayTablica obiektów plików/katalogów.

Każdy element w items zawiera:

PoleTypOpis
namestringNazwa pliku lub katalogu.
attribstringAtrybuty: d (katalog), r (odczyt), w (zapis).
sizeintegerRozmiar pliku w bajtach.
datetimestringCzas ostatniej modyfikacji (ISO 8601).

Przykładowa odpowiedź:

{
"fromIdx": 0,
"toIdx": 0,
"total": 1,
"items": [
{
"name": "ATM.LOG",
"attrib": "-rw",
"size": 5768906,
"datetime": "2025-04-16T16:07:38"
}
]
}

Zwraca metadane o pliku.

POST /api/card/file/info/

Parametry żądania:

ParametrTypOpis
pathstringŚcieżka bezwzględna do pliku.

Przykładowe żądanie:

{
"path": "/sgs.bin"
}

Odpowiedź:

PoleTypOpis
namestringNazwa pliku.
attribstringAtrybuty pliku w formacie POSIX (drw).
sizeintegerRozmiar pliku w bajtach.
datetimestringData ostatniej modyfikacji (format ISO 8601).

Przykładowa odpowiedź:

{
"name": "SGS.BIN",
"attrib": "-rw",
"size": 860,
"datetime": "2025-04-16T15:12:52"
}

Zwraca blok danych pliku w kodowaniu base64.

POST /api/card/file/read/

Parametry żądania:

PoleTypOpis
pathstringŚcieżka bezwzględna do pliku.
blockIdxintegerNumer bloku (zaczynając od 0).

Przykładowe żądanie:

{
"path": "/sgs.bin",
"blockIdx": 0
}

Odpowiedź:

PoleTypOpis
blockIdxintegerBieżący numer bloku.
blockCountintegerCałkowita liczba bloków w pliku.
datastringDane zakodowane w base64 bieżącego bloku (1024 bajty).

Przykładowa odpowiedź:

{
"blockIdx": 0,
"blockCount": 2,
"data": "63sM/2R3ki8uAC4AAQBMA9AHCAQBAAEBAAEAAAEBAW8FAQELAw8DPFAAWAJuZf//9gGXiHgAyADoAxQABQAAAFoAAACAJQAAgIwo2MCoAHP///8AwKgAAQgICAgICAQE2IA5aQ5tZ2FwAAAAAAAAAAAAZ2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4TADs5AAACbnRwLnRpbWUuaW4udWEAAAAAAAAAAG50cDIuc3RyYXR1bTEucnUAAAAAAAABGAEMAwoHAgoKBwIAABMAKjExMSMAAAAAAAAAAAAAAMCoAHD2AegDFAAAAAAAAf8AAAAAAAAAAAAAAADAqABx9gHoAxQAAAAAAAH/AAAAAAAAAAAAAAAAwKgAcvYB6AMUAAAAAAAB/wAAAAAAAAAAAAAAAMCoAHP2AegDFAAAAAAAAf8AAAAAAAAAAAAAAADAqAB09gE="
}

Przesyła dane pliku na kartę SD.

POST /api/card/file/write/

Parametry żądania:

PoleTypOpis
pathstringŚcieżka bezwzględna do pliku (np. /file.bin).
blockIdxintegerNumer bloku do zapisu (zaczynając od 0).
blockCountintegerCałkowita liczba bloków do zapisu.
datastringDane zakodowane w base64 do zapisu (1024 bajty na blok).

Uwaga: Dane w blokach muszą wynosić dokładnie 1024 bajty, z wyjątkiem ostatniego bloku.

Przykładowe żądanie:

{
"path": "/file.bin",
"blockIdx": 0,
"blockCount": 2,
"data": "63sM/2R3ki8uAC4AAQBMA9AHCAQBAAEBAAEAAAEBAW8FAQELAw8DPFAAWAJuZf//9gGXiHgAyADoAxQABQAAAFoAAACAJQAAgIwo2MCoAHP///8AwKgAAQgICAgICAQE2IA5aQ5tZ2FwAAAAAAAAAAAAZ2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4TADs5AAACbnRwLnRpbWUuaW4udWEAAAAAAAAAAG50cDIuc3RyYXR1bTEucnUAAAAAAAABGAEMAwoHAgoKBwIAABMAKjExMSMAAAAAAAAAAAAAAMCoAHD2AegDFAAAAAAAAf8AAAAAAAAAAAAAAADAqABx9gHoAxQAAAAAAAH/AAAAAAAAAAAAAAAAwKgAcvYB6AMUAAAAAAAB/wAAAAAAAAAAAAAAAMCoAHP2AegDFAAAAAAAAf8AAAAAAAAAAAAAAADAqAB09gE="
}

Odpowiedź:

Pusty JSON w przypadku sukcesu.

{}

Usuwa plik z karty SD.

POST /api/card/remove/

Parametry żądania:

PoleTypOpis
pathstringŚcieżka bezwzględna do pliku.

Przykładowe żądanie:

{
"path": "/1.pdf"
}

Odpowiedź:

Pusty JSON w przypadku sukcesu.

{}

Przygotowuje kartę SD do bezpiecznego wyjęcia.

POST /api/cmd/memory/card_eject/

Przykładowe żądanie:

{}

Odpowiedź:

Pusty JSON w przypadku sukcesu.

{}