Zaloguj się do swojego konta Altimeter Cloud
Nie masz konta? Utwórz konto
Wyślemy link potwierdzający na Twój e-mail. Sprawdź folder spam, jeśli go nie otrzymasz.
Masz już konto? Zaloguj się
Aktualizacja oprogramowaniav1.2
Przesyłanie dziennika lotuv1.1
Portal USB Onlinev1.0
Konfiguracja USB WiFi onlinev1.1
3D parts toolv1.0
Kalkulator otworu powietrznegov1.0
API Altimeter Cloudv1.0
Predyktor wysokościv1.0
Kalkulator wytrzymałości ruryv1.0
Kalkulator zej??ciav1.0
Kalkulator ładunku wyrzutowegov1.0
Programista ESP do aplikacji webowychv1.0
Kalkulator flatteru płetwv1.0
Aktualizacja oprogramowaniav1.2
Przesyłanie dziennika lotuv1.1
Weryfikacja dziennika lotuv1.1
Projektant czesci laserowychv1.0
Portal USB Onlinev1.0
Konfiguracja USB WiFi onlinev1.1
Kalkulator prędkości wyjścia z szynyv1.0
Kalkulator dryfuv1.0
Kalkulator widocznościv1.0Dzienniki lotu CSV tworzone przez nasze wysokościomierze zawierają kryptograficzny podpis weryfikacyjny. To API sprawdza, czy dziennik lotu jest autentyczny i dokładnie taki, jak zapisał go wysokościomierz, czy też został zmodyfikowany.
Podpis jest generowany wewnątrz wysokościomierza przez oprogramowanie szyfrowane AES-256, co czyni jego sfałszowanie obliczeniowo niewykonalnym. Oprogramowanie 1.52 i nowsze podpisuje dziennik podpisem Ed25519; starsze oprogramowanie używa skrótu opartego na SHA-256. W obu przypadkach zarówno dane lotu, jak i ustawienia nagłówka muszą pozostać niezmienione, aby przejść weryfikację.
Obecnie obsługiwany jest wysokościomierz Nano, a obsługa wszystkich urządzeń pojawi się wkrótce. Dzienniki możesz też zweryfikować za pomocą narzędzia przesyłania.
csv
Wyślij metodą POST cały dziennik lotu CSV, niezmieniony, do powyższego punktu końcowego. Treść CSV należy wysłać pod parametrem csv.
API zwraca JSON. W przypadku powodzenia otrzymasz użytą metodę weryfikacji oraz odczytane szczegóły lotu:
{
"success": true,
"log_lines": 825,
"input_bytes": 4187,
"verify_method": "SHA-256",
"firmware": "1.43b",
"hardware": "2",
"device_tag": "MyNano",
"competitor_tag": "",
"apogee": 2.54,
"apogee_time": 826,
"max_velocity": 5.910,
"landing_m": 0.784,
"landing_t": 2.253,
"flight_unique_id": "e1eb3e800d780a0b69670f03a88e2f45c592b6e79065fc08cf83241530a60c5a"
}
Jeśli dziennik lotu nie przejdzie weryfikacji lub żądanie jest puste:
{
"success": false,
"log_lines": 825,
"error": {
"code": "400",
"message": "Flight log failed verification (STEP=SHA256)"
}
}
{
"success": false,
"error": {
"code": "412",
"message": "No flight log supplied as a POST using the parameter csv="
}
}
| Pole | Typ | Opis |
|---|---|---|
success | boolean | Czy dziennik lotu przeszedł weryfikację |
verify_method | string | Metoda, która zweryfikowała dziennik: Ed25519 (oprogramowanie 1.52+), HMAC-SHA256 (1.50 do 1.51) lub SHA-256 (starsze) |
log_lines | integer | Liczba wierszy danych w dzienniku lotu |
input_bytes | integer | Rozmiar przesłanego dziennika w bajtach |
firmware | string | Wersja oprogramowania z nagłówka dziennika |
hardware | string | Wersja sprzętu z nagłówka dziennika |
device_tag | string | Etykieta urządzenia z dziennika |
competitor_tag | string | Etykieta zawodnika, jeśli obecna (oprogramowanie 1.51+) |
apogee | float | Maksymalna wysokość w metrach |
apogee_time | integer | Czas apogeum w milisekundach |
max_velocity | float | Maksymalna prędkość wznoszenia w metrach na sekundę |
landing_m | float | Wysokość lądowania w metrach |
landing_t | float | Czas lądowania w sekundach |
flight_unique_id | string | Hash podpisu dziennika. Przekaż go do punktu końcowego Informacje o locie jako hash. Ma 128 znaków szesnastkowych dla oprogramowania 1.52+ (Ed25519) lub 64 dla starszych dzienników |
error.code | string | Kod błędu w stylu HTTP (w razie niepowodzenia) |
error.message | string | Czytelny opis błędu (w razie niepowodzenia) |
Przetestuj API na żywo. Poniżej wczytaliśmy przykładowy dziennik lotu Nano V1. Kliknij Uruchom, aby go zweryfikować, lub zmień dane, aby przetestować nieudaną weryfikację.
csv