---
# System prepended metadata

title: Columba 1.x版架構圖
tags: [Columba]

---

---
title: Columba 1.x版架構圖
tags: Columba
---

:::info
[TOC]
:::
# Columba 1.0

## 概述
1.0版主要新增MQTT通訊協定，通過前端新增設備與點位資訊，實現與支援MQTT設備的連結

## 架構圖
![](https://hackmd.io/_uploads/SyW5aItK3.png)



## 角色工作說明
### Front End(前端系統)
:::info
1.使用者經由設備說明書進行相關參數輸入後，透過RESTful API將參數傳入Columba(後端系統)
2.向Columba(後端系統)透過RESTful API取得各分頁須顯示資訊
:::
### Columba(後端系統)
:::info
1.處理Front End(前端系統)傳入資訊API，並將資訊寫入MongoDB(資料庫)並透過Socket通知MQTT(通訊協定處理者)
2.處理Front End(前端系統)獲取資訊API
3.接收到控制API時，將控制格式透過Socket傳入MQTT(通訊協定處理者)
4.每秒處理異動資料，並將資料整理透過RESTful API主動推播到Integrator(第三方整合方)
:::
### Integrator(第三方整合方)
:::info
1.透過自行建立的API系統，收取從Columba(後端系統)推播的資料，並自行運用
:::
### MongoDB(資料庫)
:::info
1.資料存放位置
:::
### MQTT(通訊協定處理者)
:::info
1.從MongoDB(資料庫)讀取建立MQTT Client端的資訊
2.接收Columba(後端系統)由Socket傳送的相關事件並進行處理
3.當Value Check(數值變異機制)觸發時，將資料透過Socket傳入Columba(後端系統)
:::
### Value Check(數值變異機制)
:::info
1.進行數值變異確認，在觸發時通知MQTT(通訊協定處理者)
:::
### MQTT Client(由MQTT所創建的Client端)
:::info
1.進行與MQTT Broker(訊息代理者)訂閱主題與訊息推播
2.將接收數值往Value Check(數值變異機制)傳入
:::
### MQTT Broker(訊息代理者)
:::info
1.處理所有MQTT Client端的訂閱主題與訊息推播
:::
### Device(終端設備)
:::info
1.進行與MQTT Broker(訊息代理者)訂閱主題與訊息推播
:::


## 名詞說明
### CUD Even(前端新增更新刪除事件)
:::info
當使用者透過Front End(前端系統)進行操作時觸發
:::
### Write Even(前端控制事件)
:::info
當使用者透過Front End(前端系統)進行設備控制時觸發
:::
### Value Change Even(數值異動事件)
:::info
當數值透過Value Check(數值變異機制)比對且認定數值改變時觸發
:::