An Open-Source prototype for collecting, working with and displaying sensor data from MQTT enabled IoT devices. https://wiki.curious.bio/de/Projekte/IoT-Plattform
Go to file
2023-09-16 12:49:44 +02:00
.reuse first commit 2023-01-25 12:21:02 +01:00
docs added csv data source 2023-02-24 15:50:24 +01:00
hardware added initial kicad design based on esp32 2023-06-19 14:34:44 +02:00
LICENSES first commit 2023-01-25 12:21:02 +01:00
nix updated nix based backend image generation 2023-06-19 14:35:24 +02:00
software Moved the documentation into docs folder and removed folders that should not belont to this repository 2023-09-16 12:49:44 +02:00
.dockerignore first commit 2023-01-25 12:21:02 +01:00
.editorconfig updated dev env 2023-02-07 16:55:21 +01:00
.envrc added a nixos configuration to build and deploy the gateway 2023-02-20 23:03:41 +01:00
.gitignore added kicad and nix file and folder excludes 2023-06-19 14:32:41 +02:00
flake.lock added a nixos configuration to build and deploy the gateway 2023-02-20 23:03:41 +01:00
flake.nix updated nix based backend image generation 2023-06-19 14:35:24 +02:00
mkdocs.yml updated dev env 2023-02-07 16:55:21 +01:00
okh.toml first commit 2023-01-25 12:21:02 +01:00
README.md New Readme 2023-09-16 12:31:06 +02:00

IoT Prototyping Backend

Overview

This project is a backend solution for prototyping Internet of Things (IoT) services. It leverages the power of Docker containers to easily integrate Grafana, InfluxDB, and Node-RED into a seamless, scalable, and robust backend system. The solution aims to provide rapid prototyping capabilities for IoT applications that need real-time data visualization, storage, and workflow automation.

Features

  • Eclipse Mosquitto: MQTT broker
  • Grafana: Real-time data visualization and monitoring dashboard
  • InfluxDB: High-performance data storage
  • Node-RED: Flow-based development tool for visual programming and data flow automation

Prerequisites

Installation

git clone https://github.com/your-repo/iot-backend-prototyping.git
cd iot-backend-prototyping

Launch Docker Containers

bash

docker-compose up -d

Docker

First install DockerDesktop and docker-compose:

docker-compose --file software/container/docker-compose.yml up

Mosquitto

Eclipse Mosquitto is an open source message broker which implements a server for MQTT. It runs in Docker and is exposed on the default MQTT port 1883. You can subscribe to and push into topics:

mosquitto_sub -h localhost -t '#' -p 1883
mosquitto_pub -h localhost -p 1883 -t '/' -m $(date --utc +%s)

There is also a very usefuly tool to debug MQTT: MQTT Explorer, that is also available at mqtt-explorer.com.

Node-RED

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click

NodeRed is also running in Docker: http://localhost:1880/

A simple introduction to Node-RED can be found - along with the nodes / the code - in this repository, please have a look!

InfluxDB

InfluxDB is a database for any time series data with a single. It runs in Docker and is exposed on port 8086:

InfluxDb is running here: http://localhost:8086/ (admin:adminadmin)

Grafana

Grafana is a software to build operational dashboards. It runs in Docker and is exposed on port 3000:

You can login to Grafana: http://localhost:3000/login (admin:admin)

Have a look at the HowTo in this repository.