Färdigt, gratis program som kan göra GET-anrop, få JSON som svar, och spara till lokal databas?

Permalänk
Medlem

Färdigt, gratis program som kan göra GET-anrop, få JSON som svar, och spara till lokal databas?

Jag har en egen mottagare för flygdata (ADS-B) som matar till en lokalt körd visningsserver, Virtual Radar Server (VRS). Jag har sen länge varit sugen på att spara den datan i en databas för att kunna göra vissa statistiska analyser och även visualiseringar längre fram. VRS har ett plugin för att spara i databas, men tyvärr kan det bara spara flighter, dvs unika "siktningar" av flygplansindivider, så jag kan få en lista över vilka flygplan som passerat inom min mottagares räckvidd, men inget om position, höjd, kurs, m m, och bara en datapunkt per tillfälle.

VRS skapar hela tiden en aktuell JSON som är det som skickas till webbservern som körs lokalt, där man kan se planen på en karta, på samma vis som de stora flygspårningssajterna, men förstås med enbart data från min mottagare.
Den är enkel att få fram med ett GET-anrop och har inledningsvis lite grundinformation som talar om vilken mottagare det är, och annat sånt, statiskt i mitt fall. Därefter kommer det en lista med 0-många (i praktiken sällan mer än ett halvdussin) underelement där varje innehåller data för ett flygplan som just nu syns för mottagaren.

Det är den datan jag skulle vilja spara ner i en databas. Antingen fullständigt, eller utvalda delar. Kanske var tionde sekund eller så, men inga tomma rader ska skapas om antalet flygplan som syns för stunden är noll.

Finns det nåt färdigt, helst open source och gratis, som gör detta utifrån att jag anger vart GET-anropet ska skickas, namnet på resursen, vilka element i JSON-svaret som ska användas och sparas var, och peka ut en databas?

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S

Permalänk
Medlem

Lättaste är Python, kör get anropet med request modulen samt spara datan till db med sqlite. Vill du kan du posta hur anropet ser ut kan jag kanske slänga ihop ett skript när jag har tid.

Visa signatur

AMD 7800X3D | ASUS TUF X670E-PLUS | Corsair Vengeance DDR5 32GB EXPO | ASUS TUF 4090 OC 24GB |
Noctua NH-U12A | Corsair 4000D | Corsair AX1200W | Steelseries Apex 7 | Steelseries Sensei Ten | ASUS VG35VQ

https://github.com/Mariusz89B

Permalänk
Medlem

Finns det inget färdigt tänker jag göra det själv, det blir ett fint läroprojekt för mig (dock inte i python). Men om nån har ett tips tar jag gärna emot det så jag kan börja spara data direkt i så fall. Annars blir det först när jag är klar och fått det att funka.

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S

Permalänk
Medlem

Om du har en linuxserver eller mac står nånstans borde det ju gå att lösa med ett enklare bash-script med hjälp av curl

Permalänk
Medlem
Skrivet av aakerlind:

Om du har en linuxserver eller mac står nånstans borde det ju gå att lösa med ett enklare bash-script med hjälp av curl

Nix, och är inte intresserad av att ha det heller. Nä, antingen om det finns ett färdigt program som kan göra exakt det jag beskriver, annars får jag fixa det själv.

Visa signatur

Moderkort: Gigabyte X570 Aorus Master | CPU: AMD Ryzen R9 5900X | CPU-kylare: Noctua NH-D15 chromax.black | RAM: Corsair Vengeance LPX 64 GB (4x16) DDR4-3600 CL18 | GPU: Gigabyte RTX 4080 Eagle OC | SSD: 2 x Samsung 970 EVO Plus 1 TB NVMe + Kingston A400 480 GB + Samsung QVO860 1 TB | PSU: EVGA SuperNOVA G2 1000 W Gold | Chassi: Lian Li O11 Dynamic XL | Skärm: BenQ PD3200U @ 3840x2160 + ASUS ROG Strix XG32VQ @ 2560x1440 | Tangentbord: Corsair K68 RGB Cherry MX Red | Mus: Logitech MX Master 2S