Skip to content

ideas-into-software/drones-tracker

Repository files navigation

Balena.IO: Drones Tracker

Prerequisites

  • (required) Docker daemon started

  • (optional) Maven installed – if you choose to build Docker image from source

Docker image

Either the provided Docker image can be loaded, or new one built from source.

Building Docker image from source is fully automated, but requires Maven installed and internet connection to download any required artifacts into local Maven repository.

a) Load the Docker image provided

cat release/balena-dronesim-app.docker-image.tar | docker load

b) Build Docker image from source

mvn -P docker install

Running

docker run -p 8080:8080 --name balena-drones balena-dronesim-app

Once launched, the single page application can be accessed at: http://localhost:8080/drones/index.html

Configuration

Application comes pre-configured – no initial configuration is required for application to run.

However, if you wish to tweak any of the settings, drone's configuration file can be found in dronesim-app Maven module, in src/main/docker sub-directory, and it's called balena-drones.properties. It contains configuration settings for four drones, each having different IDs, start and end latitudes and longitudes, as well as altitudes, and speeds. Configuration for new drones can be easily added following the same syntax.

Technology stack

a) Back-end

  • Java 8

  • OSGi Release 7 Core and Enterprise specifications implementations, including

    • OSGi Configurator
    • OSGi Metatype Service
    • OSGi Configuration Admin Service
    • OSGi DTO
    • OSGi Declarative Services
    • OSGi Converter
    • OSGi HTTP Whiteboard
    • OSGi JAX-RS Whiteboard
    • OSGi Push Stream
    • OSGi Promises
  • Equinox OSGi container

  • Apache Felix Http Jetty

  • "Java Geocalc" – lightweight open source library for Earth coordinates calculations

b) Front-end

  • HTML5

  • CSS3

  • JavaScript

  • jQuery

  • jQuery SSE

c) Build

  • “Kubernetes Maven Plugin“ – for automating Docker image build

More information

Also, articles I published some time ago on my blog, regarding a different application which utilizes similar technologies, go into more detail:

More concise versions of these articles I also published on DZone and JAXenter:

About

Drone tracking sample app for IOT company

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published