Poloha ISS naživo
Projekt Qenex_IssLiveTracking.qproj najdete ve složce Examples vedle
QInsight.exe. Používá dvojici ukázkových pluginů, jejichž zdrojové kódy
rozebírá kapitola Ukázka ISS: driver
ISS Position (example) a protokol ISS JSON Protocol (example).
Zařízením je tu veřejné REST API s aktuální polohou Mezinárodní vesmírné
stanice, takže k běhu stačí připojení k internetu.
Co ukázka předvádí
- Vlastní driver a protokol v akci: nejmenší reálný driver (jeden HTTP
GET za sekundu) a protokol, který z jednoho JSON dokumentu plní čtyři
proměnné podle klíče
path. - Obnovu spojení vlastního driveru přes
ReconnectPolicy: výpadek internetu driver přepne do Faulted, po obnovení se sám vrátí do Running. - Zeměpisnou šířku, délku, výšku a rychlost stanice v grafu, gauge, signal controlech a watch table.
Co potřebujete
Jen QInsight a internet. Pluginy jsou součástí instalace (složky Drivers
a Protocols vedle QInsight.exe). API api.wheretheiss.at je zdarma a bez
klíče; driver dodržuje jeho limit jednoho požadavku za sekundu.
Projekt
Driver a protokol
| Driver ISS Position (example) | Význam |
|---|---|
periodMs=1000 | perioda dotazů; driver nedovolí méně než 1000 ms |
Klíče reconnectDelayMs a reconnectAttempts projekt neuvádí, platí tedy
výchozí hodnoty ze šablony driveru: nový pokus po 5 s, donekonečna.
Protokol nemá žádné nastavení.
Proměnné
Čtyři proměnné typu double, každá s vlastní prezentací a klíčem path,
který říká, ze kterého pole JSON se hodnota bere:
| Proměnná | path | Prezentace |
|---|---|---|
Latitude | latitude | −90 až 90 ° |
Longitude | longitude | −180 až 180 ° |
Altitude | altitude | 380 až 460 km |
Velocity | velocity | 27 400 až 27 700 km/h |
Žádná událost není potřeba: rychlost určuje perioda driveru, protokol dekóduje každou přijatou odpověď.
Skripty
script.py v režimu Periodic jen vypíše řádek do Script-Logs; slouží jako
místo, kam doplníte vlastní zpracování hodnot.
Pracovní plocha
Graf průběhu všech čtyř veličin, gauge, čtyři signal controly a watch table.
Co uvidíte a co vyzkoušet
- Po Startu se během jedné sekundy objeví první hodnoty: šířka kmitá jako sinus s periodou zhruba 92 minut (jeden oblet), délka se s každým obletem posouvá na západ, výška se drží kolem 420 km, rychlost kolem 27 600 km/h.
- Odpojte internet: driver ohlásí neúspěšný požadavek, přejde do Faulted a každých 5 s se pokusí o nové připojení. Po obnovení připojení se bez zásahu vrátí do Running.
- V nastavení driveru nastavte
reconnectAttempts=2: po dvou neúspěšných pokusech se driver zastaví s důvodem ve stavu; tlačítko Start v jeho Properties ho po obnovení sítě znovu spustí. - Do nastavení driveru zapište neznámý klíč, například
x=1: v logu se objeví varování s výčtem známých klíčů.
Související kapitoly
- Ukázka ISS — zdrojové kódy driveru a protokolu s výkladem
- Vlastní driver a Vlastní protokol
- Obnova spojení

