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.
Micropython automatic watering

micropython-automatic-watering micropython automatic watering his code was developed to be used with nodemcu esp8266, but can be modified to work with

1 Nov 24, 2021
Transform a Raspberry Pi into a network diagnostic machine.

EtherView Last updated jan 30, 2022. Welcome to the EtherView project! This is a project to transform a RaspberryPi into a portable network diagnostic

1 Jan 30, 2022
Automatically draw a KiCad schematic for a circuit prototyped on a breadboard.

Schematic-o-matic Schematic-o-matic automatically draws a KiCad schematic for a circuit prototyped on a breadboard. How It Works The first step in the

Nick Bild 22 Oct 11, 2022
🐱🖨Cat printer is a portable thermal printer sold on AliExpress for around $20.

Cat printer is a portable thermal printer sold on AliExpress for around $20. This repository contains Python code for talking to the cat printer over

671 Jan 05, 2023
A simple small scale electric car was build which can be driven by remote control and features a fully autonomous parking procedure.

personal-autonomous-parking-car-raspberry A simple electric car model was build using Raspbery pi. The car has remote control and autonomous operation

Kostas Ziovas 2 Jan 26, 2022
A python module for interacting with rolimon's, a roblox value site.

rpi - rolimon's python interaction rpi is an open source python-based rolimon's api wrapper. It provides an end-to-end pipeline in which each componen

Acier 11 Nov 08, 2022
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
Raspberry Pi Pico as a Rubber Ducky

Raspberry-Pi-Pico-as-a-Rubber-Ducky Kurulum Raspberry Pi Pico cihazınız için CircuitPython'u indirin. Boot düğmesine basılı tutarken cihazı bir USB ba

Furkan Enes POLATOĞLU 6 Dec 13, 2022
Component for deep integration LedFx from Home Assistant.

LedFX for Home Assistant Component for deep integration LedFx from Home Assistant. Table of Contents FAQ Install Config Performance FAQ Q. What versio

Dmitry Mamontov 28 Dec 13, 2022
This is a Virtual Keyboard which is simple yet effective to use.

Virtual-Keyboard This is a Virtual KeyBoard which can track finger movements and lets you type anywhere ranging from notepad to even web browsers. It

Jehan Patel 3 Oct 01, 2021
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
🌱 - WebhookHard◞ Fines Educativos ◟

v1.0.0 WebhookHardware ¿Que es WebhookHardware? WebhookHardware se trata de un proyecto tratado para sacar informacion sobre el hardware de tus victim

3 Jun 14, 2021
Like htop (CPU and memory usage), but for your case LEDs. 😄

Like htop (CPU and memory usage), but for your case LEDs. 😄

Derek Anderson 3 Dec 08, 2021
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
Andreas Frisch 1 Jan 10, 2022
Bucatini: a soft PIPE PHY for FPGA SerDes

Bucatini: a soft PIPE PHY for FPGA SerDes Bucatini is a noodly gateware layer capable of transforming an FPGA SerDes into a PIPE PHY, allowing you to

Great Scott Gadgets 28 Dec 02, 2022
从零开始打造一个智能家居系统

SweetHome 从零开始打造智能家居系统的尝试,主要的实现有 可以扫码添加设备并控制设备的Android App 可以控制亮灭的灯,并可以设置在Android App连接到指定Wifi后自动亮起 可以控制开关的窗帘,机械结构部分自己设计并3D打印出来 树莓派主控,实现Http请求接口和ZigBe

金榜 5 May 01, 2022
A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico

rgbkeypad A Python class for controlling the Pimoroni RGB Keypad for the Raspberry Pi Pico. Compatible with MicroPython and CircuitPython. keypad = RG

Martin O'Hanlon 43 Nov 11, 2022
A low power 1U Raspberry Pi cluster server for inexpensive colocation.

Raspberry Pi 1U Server There are server colocation providers that allow hosting a 1U server for as low as $30/month, but there's a catch: There are re

Paul Brown 627 Dec 31, 2022
Testing out some (stolen) DMA code for RP2040 Micropython

RP2040_micropython_dma testing out some (stolen) DMA code for RP2040 Micropython. Heavy inspiration and some code from https://iosoft.blog/2021/10/26/

2 Dec 29, 2022