Thanks to visit codestin.com
Credit goes to github.com

Skip to content

FREEZONEX/Tier0-Edge

Repository files navigation

Tier0: An Open-Source IIoT Platform

Static Badge Docs License

Tier0 is an open-source industrial data integration platform built on the Unified Namespace (UNS) methodology and powered by production-grade open-source technologies.


Architecture Overview

  • Source Flow
    Serves as the connection pipeline to devices and systems. It handles real-time protocol translation into JSON payloads. Built entirely on Node-RED.

  • Namespace
    The core of Tier0. A semantic MQTT broker and parser that models data using topic hierarchies and structured JSON payloads.

  • Sink
    The storage layer of Tier0.

    • Time-series Namespace values are stored in TimescaleDB.
    • Relational Namespace values (e.g., CRM data) are stored in PostgreSQL.
      This enables efficient querying and compression.
  • Event Flow
    Orchestrates Namespaces into higher-level event/information flows. Supports merging JSON payloads and appending system-generated prompts for LLM-powered optimization.


Hardware Requirements

Minimum Requirement Recommended Requirement
CPU 4 cores 8 cores
Memory 8 GB 16 GB
Disk 100 GB, 1000 IOPS (30% random write) 1 TB, 2000 IOPS (30% random write)
Browser Chrome 89, Edge 89, Firefox 89, Safari 15 Chrome 89, Edge 89, Firefox 89, Safari 15

Deployment

For detailed guides and advanced examples, see the Tier0 Community Docs.

1.Linux

1.1 Operating Environment

  • Operating System: Currently tested on Ubuntu Server 24.04 with Docker. We welcome feedback on other OS distributions.
  • Docker: We assume you have Docker (with docker compose and buildx) installed. Our tested versions:
    • Docker Engine - Community: 27.4.0
    • Docker Buildx: v0.19.2
    • Docker Compose: v2.31.0
    • containerd: 1.7.24

1.2 Installing Tier0

  1. Clone the project.
    git clone <this repo>
  2. Navigate to the Tier0 directory and edit environment variables in the .env file.
    cd Tier0-Edge
    vi .env
    • Update VOLUMES_PATH (directory for storing project data).
    • Update ENTRANCE_DOMAIN (frontend entry domain/IP address).
    • Modify other variables as needed.
  3. Install Tier0.
    bash bin/install.sh

2.Windows

2.1 Operating Environment

  • Install the latest version of Docker Desktop and Git on Windows 10 or Windows 11.
  • It is recommended to perform all operations in Git Bash for better compatibility.

2.2 Installing Tier0

  1. Clone the project using Git Bash.
    git clone <this repo>
  2. Navigate to the Tier0 directory and edit environment variables in the .env file.
    cd Tier0-Edge
    vi .env
    • Update OS_PLATFORM_TYPE = windows
    • Update VOLUMES_PATH (directory for storing project data).
    • Update ENTRANCE_DOMAIN (Do not use 127.0.0.1 or localhost, otherwise login and authentication functions will NOT work.)
    • Modify other variables as required by the system.
  3. Install Tier0.
    bash bin/install.sh

3. Access the Platform

  1. Visit http://<YOUR-DOMAIN>:<YOUR-PORT> in your browser (based on ENTRANCE_DOMAIN and ENTRANCE_PORT in .env).
  2. Sign in to Tier0 with default account and password: supos/supos.

Important Startup Operations

1. UNS Data Model Creation

1.1 Building Models Manually

Factory/workshop/equipment/CNC will be used as an example, in which Factory, workshop and equipment are paths and CNC is a topic.

  1. Log in to Tier0, and then select UNS > Namespace.
  2. Under Topic, click to add a path (e.g. factory).

  1. Select equipment, and then click to add a topic (e.g.CNC) under it.

  1. Enter the information of the topic, and then click Save.

1.2 Importing Models

  1. Log in to Tier0, and then select UNS > Namespace.
  2. Click Import at the upper-right corner.

  1. Import JSON to create models.
  • Directly enter JSON.

  • Click Upload File to download the template and enter the model content according to template rules.

You can manually add a path and topic, export it and use it as an example for import.

  1. Save the template file, and then click Import on the Namespace page.
  2. Select the template, and then click Save.

1.3 Generating Models through JSON

  1. Log in to Tier0, and then select UNS > Namespace.
  2. Click on the Topic page.

  1. Select the data type, and then write JSON text for the model according to the data tree structure.
{
    "Factory1": {
        "workshop1": {
            "equipment1": {
                "CNC1": [
                    {
                        "actualRuntime1": 1380,
                        "plannedRuntime1": 1440
                    }
                ]
            }
        }
    }
}

  1. Click Next, and select the model on the left side. :::tip Click on each data level, you can change its information and add attributes on the right side. :::

  1. Click Save.

2. Model Data Source Connection

Connect real data to make models alive.

  1. Log in to Tier0, go to UNS > Namespace, and under the Topic tab, select a file.
  2. Scroll down to Topology, click the icon on Source Flow to redirect to the generated data flow.

  1. Change the data source of the generated flow.

  1. Deploy and trigger the flow.

License

This project is licensed under the Apache 2.0 License.

Support & Contact

Contributors

We gratefully acknowledge the following individuals for their contributions to Tier0:

Wenhao Yu, Liebo, Weipeng Dong, Kangxi, Lifang Sun, Minghe Zhuang,
Wangji Xin, Fayue Zheng & Yue Yang, Yanqiu Liu, Dongdong An, Jianan Zhu