National Atmospheric Data | Capture data from airport sensor and visualize it.
Browse the NADA-serve deployment »
View Front
·
Report Bug
·
Request Feature
- Table of Contents
- About The Project
- Getting Started
- Nada-sensio (MQTT Publisher)
- nada-transform (MQTT subscriber + database insert)
- nada-serve (GraphQL API for NADA-Webapp)
- Contributing
- License
- Acknowledgments
The NADA project is a student project. The team is composed of @creeperdeking, @RaphaelPainter, @maxerbox & @mlhoutel. They are IT students at IMT Atlantique, France. It allows an user to view on a web page (NADA-webapp) aggregated sensor data captured from sensors (NADA-sensio) served by a GraphQL Api (NADA-serve)
This is an IoT application using Paho MQTT Client.
Frontend made in VueJS 3 + Vite : NADA-Webapp
- MQTT broker : Mosquitto
- Influxdb v2
- git clone
We do provide an .devcontainer file ! This mean that if you have the vscode extension installed, project will be operational in a minute. Just click on "Reopen in container popup". Every .env.example file is configured to be operational with the container by default, so you just have to rename those files !
More infos :
Name: Remote - Containers
Id: ms-vscode-remote.remote-containers
Description: Open any folder or repository inside a Docker container and take advantage of Visual Studio Code's full feature set.
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
- create and configure NADA-Sensio, NADA-Transform, and NADA-Serve .env files (follow links to see examples)
- Simulates a sensor, publishing data to the configured MQTT Broker
go run cmd/nada-sensio/main.go [sensorID] [airportID] [measureType]
Accepted measureType:
- temperature
- altitude
- pressure
- latitude
- longitude
- windspeed
- winddirx
- winddiry
example:
go run cmd/nada-sensio/main.go S0 A0 windspeed
- Subscribes to a configured MQTT topic
- Inserts received data from NADA-Sensio into the configured influxDB database
example:
go run cmd/nada-transform/Main.go
- Query influxdb database and read data inserted by nada-transform
- Serve data through a graphql api
GraphQL Schema available here
Influxdb example queries made by nada-webapp available here
We are providing a heroku instance with a graphql playground at https://nada-extended.herokuapp.com/
Be sure to have a file named .nada-serve.env
in your current working directory. You can take a look at an example to create it
go run cmd/nada-serve/main.go
You can use the .devcontainer to quick bootstrap the project
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.