--- 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(數值變異機制)比對且認定數值改變時觸發 :::