Rent-a-Pilot Aeronautics

airplanes and other distractions

Vliegtuigen tellen (of iets anders) - Hoe gebruik je Node-Red om een TAG toe te voegen voor "Group by TAG" in Influxdb

4 december 2020 | ADSB, Vliegtuigen, Avionica, Internet, Radio

ADS-B Grafana: Maak lijsten van types, calsigns en meer

Laatst liep ik tegen een beperking van Influxdb met Grafana aan. Ik heb een Influxdb die ik voer met data van mijn ADS-B ontvanger. Deze feed bevat gegevens zoals
Reg: PH-AOA
Type: A332
Wat ik wilde doen is het aantal UNIEKE Airbus A330-203's tellen.

Het einddoel

TIEN pings op PH-AOE A332 moet worden geteld als ÉÉN A320-203 en Geen tien!

Om dat te doen moet je een query maken met "GROUP BY". Dat is gemakkelijk genoeg. Nu komt het probleem: Je kunt geen "GROUP BY" doen in Influxdb die twee waarden verbindt. Je kunt dat alleen doen met een TAG.

Influxdb query - groeperen op tag: actype

De query ziet er als volgt uit:

SELECT count(distinct("Reg")) FROM "mesg" WHERE $timeFilter GROUP BY time(1d), "actype"

We hebben een TAG nodig om deze items te groeperen

Deze tag "actype" bestaat niet in de datafeed, dus moet hij worden aangemaakt. Ik gebruik al node red om de feed te verzamelen en te organiseren, dus het is logisch om het daar te doen.

Node-Red lost het op

De ADS-B ontvanger op de Pi produceert de JSON-feed die er na wat knutselen als volgt uitziet:

Hoe voeg je een TAG-waarde toe voor Influxdb met een Node-Red function node

 

Syntax

msg.payload=[msg.payload,{tag:waarde}];

 

Voorbeeld

Om twee tags toe te voegen:

  • Voeg deze tag "icao24" toe van waarde "msg.payload.Icao"
  • Voeg deze tag "actype" toe van waarde "msg.payload.Mdl"

Doe dit:

msg.payload=[msg.payload,{icao24:msg.payload.Icao},{actype:msg.payload.Mdl}];
return msg

 

Je kunt nu de volgende query doen in Grafana:

SELECT count(distinct("Reg")) FROM "mesg" WHERE $timeFilter GROUP BY time(1d), "actype"

Het resultaat is een geaggregeerde lijst van vliegtuigtypes van unieke registraties over een periode van één dag.

(Visited 149 times, 1 visits today)

0 0 stam
Artikel Rating
Abonneer
Laat het weten als er
guest
0 Opmerkingen
Inline feedback
Bekijk alle reacties

Translate you want?

Ik ben aan het experimenteren met machine-vertalingen vanuit het Engels naar het Nederlands. Hierdoor klinkt het soms alsof een blije Amerikaan Nederlands heeft geleerd maar het werkt best aardig. Meestal.

Amsterdam Area Real-Time Aircraft Stats from Mode-S Transponders

Real-Time Vliegtuigstatistieken van Mode-S Transponders in de regio Amsterdam

Elke minuut live updates van mijn Mode-S ontvanger.
De data komt van een Software Defined Radio ontvanger met een antenne onder mijn dak in Amsterdam. De ontvanger is verbonden met een Raspberry Pi die de data via Virtual Radar server op een tweede Raspberry Pi doorsluist naar mijn NAS met verschillende Docker containers: Node-Red splitst de JSON feed, voegt formattering toe en voegt het dan in een Influxdb die dan natuurlijk wordt opgepikt door Grafana.

Freelance Corona Classrooms in Aviation – Now what?

Freelance Corona klaslokalen in de luchtvaart - Wat nu?

WTF? → OK laten we dit doen Dus laatst werd ik ruw gescheiden van mijn publiek door wereldgebeurtenissen geen recente ontwikkelingen nee. Vergeet het. Hoe dan ook, het punt is dat ik dit uitleggen ding nu al een lange tijd doe en er ergens online over post in plaats van...

0
Zou graag je gedachten willen weten, s.v.p. laat een reactie achter.x