GithubHelp home page GithubHelp logo

hellmarbecker / plane-kafka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saubury/plane-kafka

0.0 2.0 0.0 427 KB

Software define radio plane tracking into KSQL Kafka queries

Python 30.83% Shell 66.13% Dockerfile 3.03%

plane-kafka's Introduction

Plane Kafka - Plane tracking with KSQL and a Raspberry Pi

Arch

Raspberry Pi Setup

  • If you don't have a Raspberry Pi you can skip to Docker Setup and use the sample data
  • Clone this repo on the Raspberry Pi
  • Install dump1090
  • Set the IP address below to the docker host (and not the IP address of the Raspberry Pi). This is where you'll transmit the messages to Kafka
# On the Raspberry Pi 
cd raspberry-pi
export HOST_IP=192.168.1.129 # Docker host
./plane-kafka.py

Docker Setup

On your host (probably your laptop or PC). Clone this repo

# Start the containers 
docker-compose up -d

Prepare Database Files

You will need a database of icao-to-aircraft mappings (in icao-to-aircraft.json) and a database of callsigns (callsign-details.json). A good source of data is https://openflights.org/data.html where you can find aircraft data suitable for your region

If you are in a hurry, icao-to-aircraft.json.sample and callsign-details.json.sample provide you basic records to experiment

Run the application

docker-compose exec confluent bash

And within the container

confluent start
cd /scripts
./01_setup_topics

If you do not have database files, copy the sample files

cp -i icao-to-aircraft.json.sample icao-to-aircraft.json
cp -i callsign-details.json.sample callsign-details.json

Now load the files. This will load data into the icao-to-aircraft and callsign-details topics

./02_do_load

And then run ksql. If you recieve parse errors, try running the KSQL statments one by one manually instead of the entire script as one.

ksql
-- paste the commands from file 03_ksql.sql
exit

Still within the container finish the remaining setup steps

./04_elastic_dynamic_template
./05_set_connect

Setup kibana

  • Navigate to http://localhost:5601
  • Create indexes for locationtable and callsigntable. Each should have a EVENT_TS field marked as a timestamp
  • Use the Kibana managment page to import saved objects in 06_kibana_export.json

plane-kafka's People

Contributors

saubury avatar saubury-iag avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.