iot-dashboard: Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things.

Overview

iot-dashboard

Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things.

  • Written in Python.
  • Flask application as back-end.
  • PostgreSQL as SQL database.
  • Database connection pooling.
  • Simple dashboard in plain HTML/CSS.
  • Communication protocol interface for IoT devices.
  • Communication protocol for the Mictrack MT821/MT825 GPS tracker in UDP multithreaded mode.
  • Geofences to save GPS tracker battery when it is not in zone.
  • Geofence alerts.

Platform architecture

Dashboard layout

Database schema

Pre-requisites 📋

  • Linux operating system.
  • Python (version >= 3.8) installed.
  • pip installed.
  • PosgreSQL server installed, I recommend lastest stable version. You can follow this tutorial. I also recommend to set up the configuration file "pg_hba.conf" and set a IPv4 host entry to listen at "0.0.0.0" address and allow md5 authentication, there are many guides about "pg_hba.conf" out there.
  • Port forwarding for the ports described here.
  • pgAdmin 4 (Optional).

Installation 🔧

Once you have met all the requirements mentioned in the previous section, just follow these steps:

  • Clone or download this repo via HTTPS/SSH in your file system.
  • Navigate to the repository directory:
cd /path/to/your/directory/iot-dashboard
  • Create a new virtual environment in the root folder of the repository and activate it:
python3 -m venv venv
. venv/bin/activate
  • Once the virtual environment is activated (you are inside it), install all required Python packages from requirements:
pip install -r requirements.txt
  • Finally, run the application installation script (if asked, enter your user password):
./scripts/install.sh

Upgrade ⤵️

To upgrade all python packages simply run the upgrade script within the virtual environment:

./scripts/upgrade.sh

Usage 🚀

Start application

In order start the entire application just run the start script within the virtual environment (log files will be automatically created):

./scripts/start.sh

If you only wish to run the Flask instance separately:

flask run --host=0.0.0.0

Finally, if you only wish to run the Micktrack MT821/MT825 communication protocol separately:

python -m comm_protocol.mt82x

Shutdown application

./scripts/shutdown.sh

Restart application

./scripts/restart.sh

Application status

./scripts/status.sh

Be care the application could have been started without this scripts (e.g. starting manually from another folder), so the status and shutdown scripts could fail or show wrong results.

Owner
Engineer and engineering the life.
Real-time Coastal Monitoring at the University of Hawaii at Manoa

Coastal Monitoring at the University of Manoa Source code for Beaglebone/RPi-based data loggers, shore internet gateways, and web server. Software dev

Stanley Lio 7 Dec 07, 2021
Setup DevTerm to be a cool non-GUI device

DevTerm hobby project I bought this amazing device: DevTerm A-0604. It has a beefy ARM processor, runs a custom version of Armbian, embraces Open Sour

Alex Shteinikov 9 Nov 17, 2022
Example code and projects for FeatherS2 and FeatherS2 Neo

FeatherS2 & FeatherS2 Neo This repo is a collection of code, firmware, and files

Unexpected Maker 5 Jan 01, 2023
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022
Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

9 Apr 26, 2022
Repo for the esp32s2 version of the Wi-Fi Nugget

Repo for the esp32s2 version of the Wi-Fi Nugget

HakCat 30 Nov 05, 2022
Mini Pupper - Open-Source,ROS Robot Dog Kit

Mini Pupper - Open-Source,ROS Robot Dog Kit

MangDang 747 Dec 28, 2022
ROS2 nodes for Waveshare Alphabot2-Pi mobile robot.

ROS2 for Waveshare Alphabot2-Pi This repo contains ROS2 packages for the Waveshare Alphabot2-Pi mobile robot: alphabot2: it contains the nodes used to

Michele Rizzo 2 Oct 11, 2022
PyTorch implementation of paper "MT-ORL: Multi-Task Occlusion Relationship Learning" (ICCV 2021)

MT-ORL: Multi-Task Occlusion Relationship Learning Official implementation of paper "MT-ORL: Multi-Task Occlusion Relationship Learning" (ICCV 2021) P

Panhe Feng 12 Oct 11, 2022
Sleep As Android integration for Home Assistant

Sleep As Android custom integration This integration will allow you to get events from your SleepAsAndroid application in a form of the sensor states

Igor 84 Dec 30, 2022
FERM: A Framework for Efficient Robotic Manipulation

Framework for Efficient Robotic Manipulation FERM is a framework that enables robots to learn tasks within an hour of real time training.

Ruihan (Philip) Zhao 111 Dec 31, 2022
MicroPython driver for 74HC595 shift registers

MicroPython 74HC595 A MicroPython library for 74HC595 8-bit shift registers. There's both an SPI version and a bit-bang version, each with a slightly

Mike Causer 17 Nov 29, 2022
Universal Xiaomi MIoT integration for Home Assistant

Xiaomi MIoT Raw 简体中文 | English MIoT 协议是小米智能家居从 2018 年起推行的智能设备通信协议规范,此后凡是可接入米家的设备均通过此协议进行通信。此插件按照 MIoT 协议规范与设备通信,实现对设备的状态读取及控制。

1.9k Jan 02, 2023
Sensor of Temperature Feels Like for Home Assistant.

Please ⭐ this repo if you find it useful Sensor of Temperature Feels Like for Home Assistant Installation Install from HACS (recommended) Have HACS in

Andrey 60 Dec 25, 2022
Adafruit IO connected smart thermostat based on CircuitPython.

Adafruit IO Thermostat Adafruit IO connected smart thermostat based on CircuitPython. Background and Motivation I have a 24 V Heat-only system with a

Shubham Chaudhary 1 Jan 18, 2022
This is an incredible led matrix simulation using the ultimate mosaik co-simulation framework.

This project uses the mosaik co-simulation framework, developed by the brilliant developers at the high-ranked Offis institue for computer science, Oldenburg, Germany, to simulate multidimensional LE

Felix 1 Jan 28, 2022
USB Rubber Ducky with the Rasberry Pi pico microcontroller

pico-ducky Install Install and have your USB Rubber Ducky working in less than 5 minutes. Download CircuitPython for the Raspberry Pi Pico. Plug the d

AnOnYmOus001100 3 Oct 08, 2022
NYCT-GTFS - Real-time NYC subway data parsing for humans

NYCT-GTFS - Real-time NYC subway data parsing for humans This python library provides a human-friendly, native python interface for dealing with the N

Andrew Dickinson 37 Dec 27, 2022
Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless.

pylorawan Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless. Tested on a Raspberry PI Pico with a RAK4200(H) Evaluation Board (

Peter Houghton 3 Nov 04, 2022
An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi.

An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi. This is the source codes of my programming assignmen

StardustDL 4 Oct 19, 2022