IoT、BIM 與 AI 整合:打造營造業智慧決策生態系統

工程師戴著安全帽使用筆記型電腦查看建築藍圖,展示營造業數位化轉型
Photo by Pexels

IoT、BIM-Viewer 與生成式 AI 整合應用架構設計

核心洞察 🎯

整合 IoT、BIM-Viewer 和生成式 AI 的關鍵在於 建立即時數據流通的智慧決策生態系統 ,透過感測器收集的現場數據結合 BIM 模型的空間資訊,再透過 AI 進行智慧分析,實現從「被動監控」到「主動預測」的數位轉型。

架構概覽

系統分層架構

本架構採用五層式設計,確保系統的可擴展性、可維護性和高效能:

Plantuml Diagram

技術棧配置

前端技術(展示層)

核心框架

  • SvelteKit 🎯:主要 Web 應用框架
  • TypeScript 🎯:型別安全開發
  • Bun 🎯:執行環境與打包工具

3D 渲染與 BIM

  • Three.js 🎯:3D 渲染引擎
  • @thatopen/components 🎯:BIM 組件庫
  • @thatopen/components-front 🎯:前端 BIM 工具
  • web-ifc 🎯:IFC 模型解析

UI 框架

  • Tailwind CSS 🎯:樣式框架
  • Flowbite-Svelte 🎯:UI 組件庫
  • Apache ECharts 🎯:圖表視覺化

狀態管理

  • XState 🎯:狀態機管理
  • SvelteKit Stores :響應式狀態

後端技術(應用層 & 整合層)

執行環境

  • Bun 🎯:高效能 JavaScript 運行時

資料庫與儲存

  • Supabase 🎯:主資料庫(PostgreSQL)+ 即時訂閱
  • Supabase Vector 🎯:向量資料庫(RAG 應用)
  • Valkey 🎯:快取系統(Redis 替代方案)
  • MinIO 🎯:物件儲存(IFC 模型檔案)

即時通訊

  • SvelteKit SSE 🎯:Server-Sent Events(單向推播)
  • Socket.IO ✅:雙向即時通訊(備選)

AI 與機器學習

  • LM Studio 🎯:本地 LLM 服務
  • Dify 🎯:RAG 應用平台
  • LangChain 🎯:LLM 應用框架
  • Transformers.js 🎯:瀏覽器端 AI 推理

工作流程自動化

  • n8n 🎯:視覺化工作流程編排

IoT 感知層

通訊協定

  • MQTT :輕量級 IoT 訊息協定
  • WebSocket :即時雙向通訊
  • HTTP/REST :標準 API 介面

數據處理

  • Apache Kafka 🎯:分散式事件串流(選用)
  • RxJS 🎯:響應式數據流處理

系統架構詳細設計

1. 感知層:IoT 數據收集

工地現場使用雷射水平儀進行精確監測,展示 IoT 感測器在施工現場的應用
Photo by Pexels
Plantuml Diagram

關鍵功能

  1. 多協定支援 :MQTT、WebSocket、HTTP
  2. 邊緣運算 :在 Gateway 進行初步數據過濾與聚合
  3. 數據品質保證 :驗證、清洗、異常值檢測
  4. 緩衝機制 :離線時暫存數據,恢復後補傳

2. 整合層:數據流通與快取

Plantuml Diagram

快取策略

快取層級 保存時間 數據類型 更新頻率
L1 快取 1 小時 即時感測器數據 每秒
L2 快取 24 小時 聚合統計數據 每分鐘
L3 快取 7 天 歷史趨勢數據 每小時

3. 應用層:BIM + IoT + AI 融合

Plantuml Diagram

AI 應用場景詳解

專業人員在大型螢幕前分析數據圖表,展示 AI 驅動的即時數據分析與決策支援
Photo by Pexels

1. 預測性維護

  • 輸入 :設備運行數據 + 歷史故障記錄
  • 模型 :時序預測模型(LSTM/Transformer)
  • 輸出 :設備健康度評分、預估故障時間、維護建議

2. 空間風險評估

  • 輸入 :BIM 空間數據 + 即時環境數據 + 人員位置
  • 分析 :高風險區域識別、碰撞風險預測、逃生路線規劃
  • 輸出 :風險熱力圖、即時警報、安全建議

3. RAG 智慧問答系統

  • 知識庫 :BIM 模型資訊、施工規範、歷史數據、IoT 數據
  • 功能
    • "設備 A 在哪個位置?運行狀態如何?"
    • "過去一週有哪些異常事件?"
    • "如何處理 XX 設備的高溫警報?"

4. 自動報告生成

  • 輸入 :IoT 數據統計 + BIM 模型資訊 + AI 分析結果
  • 輸出 :每日/每週工地狀況報告(自然語言 + 圖表)

4. 展示層:Web 介面設計

筆記型電腦螢幕顯示資料視覺化圖表與分析面板,展示現代化的監控儀表板介面
Photo by Pexels
Plantuml Diagram

5. 數據流轉完整流程

Plantuml Diagram

核心功能模組

Module 1: IoT 數據收集與處理

功能清單

  1. 多協定 IoT Gateway

    • MQTT Broker 整合
    • WebSocket 即時連線
    • HTTP REST API
    • 數據緩衝與補傳機制
  2. 數據預處理管道

    • 數據驗證(格式、範圍、完整性)
    • 數據清洗(去噪、去重、插值)
    • 數據轉換(單位轉換、格式標準化)
    • 異常值檢測(統計方法 + AI 模型)
  3. 時序數據儲存

    • Supabase TimescaleDB 擴展(時序資料庫)
    • 數據分區策略(按日期/設備類型)
    • 數據保留策略(熱數據 7 天、溫數據 30 天、冷數據歸檔)

Module 2: BIM 模型管理與空間查詢

功能清單

  1. IFC 模型解析與渲染

    • 使用 web-ifc 解析 IFC 檔案
    • 使用 @thatopen/components 載入 BIM 組件
    • Three.js 渲染最佳化(LOD、Instancing、Frustum Culling)
  2. 空間查詢引擎

    • 建立空間索引(R-Tree / Octree)
    • 空間關聯查詢("找出房間內所有設備")
    • 最短路徑計算(逃生路線規劃)
  3. IoT 數據點與 BIM 關聯

    • 感測器位置映射到 BIM 模型
    • 空間資料結構( { sensor_id, ifc_element_id, position, floor_level }
    • 即時數據疊加顯示(顏色編碼、數值標籤)

Module 3: AI 驅動的智慧分析

功能清單

3.1 預測性維護系統

// 預測模型架構
interface PredictiveMaintenanceModel {
inputs: {
equipment_id: string;
runtime_hours: number;
temperature: number[];
vibration: number[];
power_consumption: number[];
historical_failures: FailureRecord[];
};
outputs: {
health_score: number; // 0-100
failure_probability: number; // 0-1
estimated_failure_date: Date;
recommended_actions: string[];
};
}

技術方案

  • 時序預測 :LSTM/Transformer 模型(使用 Transformers.js 在瀏覽器端推理)
  • 異常檢測 :Autoencoder 或 Isolation Forest
  • 特徵工程 :滑動窗口統計特徵、頻域特徵(FFT)

3.2 RAG 智慧問答系統

// RAG 系統架構
interface RAGSystem {
knowledgeBase: {
bim_metadata: IFCElement[];
iot_data: SensorReading[];
maintenance_logs: MaintenanceRecord[];
safety_regulations: Document[];
};
embedding: {
model: "Transformers.js Embeddings";
vectorDB: "Supabase Vector";
};
llm: {
provider: "LM Studio";
model: "local-llm";
maxTokens: 2048;
};
}

問答範例

  • Q: "B1 樓層有哪些溫度異常的設備?"
    • 步驟 1: 向量搜尋相關 BIM 元素(B1 樓層)
    • 步驟 2: 查詢該區域的 IoT 溫度數據
    • 步驟 3: 篩選異常值(閾值規則)
    • 步驟 4: 使用 LLM 生成自然語言回答

3.3 空間風險評估

Plantuml Diagram

Module 4: 工作流程自動化(n8n)

自動化工作流程範例

流程 1: 異常事件處理流程

Plantuml Diagram

流程 2: 每日自動報告生成

# n8n Workflow 配置範例
name: "Daily Site Monitoring Report"
trigger:
type: "schedule"
cron: "0 18 * * *" # 每天下午 6 點
steps:
- name: "查詢當日 IoT 數據統計"
node: "Supabase Query"
query: |
SELECT
sensor_type,
AVG(value) as avg_value,
MAX(value) as max_value,
MIN(value) as min_value
FROM sensor_readings
WHERE date = CURRENT_DATE
GROUP BY sensor_type
- name: "查詢異常事件"
node: "Supabase Query"
query: |
SELECT * FROM anomaly_events
WHERE date = CURRENT_DATE
- name: "調用 AI 生成報告摘要"
node: "LM Studio LLM"
prompt: |
根據以下數據生成工地狀況日報:
- IoT 數據統計: {{step1.data}}
- 異常事件: {{step2.data}}
請生成包含以下內容的報告:
1. 整體狀況總結
2. 重要事件摘要
3. 風險提示
4. 明日建議
- name: "生成圖表"
node: "Code (ECharts)"
code: "generateCharts({{step1.data}})"
- name: "發送報告"
node: "Email"
to: "project_manager@example.com"
subject: "工地監控日報 - {{DATE}}"
body: "{{step3.result}}"
attachments: ["{{step4.charts}}"]

部署架構

雲端 / 混合雲部署方案

Plantuml Diagram

部署建議

服務 部署位置 原因
Supabase ☁️ 雲端 高可用性、自動備份、全球 CDN
Valkey (Redis) 🏢 本地 低延遲快取、敏感數據控制
LM Studio 🏢 本地 數據隱私、無網路依賴、降低成本
MinIO 🏢 本地 大型 IFC 檔案、頻寬成本
n8n 🏢 本地 工作流程隱私、自定義整合
IoT Gateway 🔧 邊緣 現場即時處理、離線能力

邊界條件與限制

適用情境 ✅

  • 中大型工地 (面積 > 5000 平方米)
  • BIM 模型完整度 > 60%
  • 網路環境穩定 (至少 4G 或區域 Wi-Fi)
  • IoT 設備數量 > 20 個

不適用情境 ❌

  • 小型工地 (過於複雜,成本效益低)
  • 無 BIM 模型 (空間關聯功能失效)
  • 網路環境極差 (需要完全離線方案)
  • 短期臨時專案 (部署成本不划算)

效能限制

指標 限制 說明
IoT 設備數量 < 1000 超過需要分佈式架構
IFC 模型大小 < 500 MB 超過需要模型簡化或分割
並發使用者 < 100 超過需要 CDN 與負載均衡
即時數據頻率 < 1秒/筆 高頻數據需要邊緣聚合

技術風險

  1. IoT 設備穩定性

    • 風險:感測器故障、電池耗盡、網路斷線
    • 緩解:冗餘設計、邊緣快取、離線緩衝
  2. BIM 模型品質

    • 風險:模型不完整、座標系統錯誤、元素命名不規範
    • 緩解:模型驗證工具、座標轉換、元素 ID 映射表
  3. AI 模型準確度

    • 風險:預測失準、異常檢測誤報
    • 緩解:持續訓練、人工審核機制、信心區間標註
  4. 數據隱私與安全

    • 風險:敏感數據外洩、未授權存取
    • 緩解:本地 LLM、資料加密、RBAC 權限控制

實施路徑

階段 1:基礎建設(1-2 個月)

目標 :建立核心數據流通管道

Mermaid Diagram

交付成果

  • ✅ IoT 數據可收集並即時顯示
  • ✅ BIM 模型可載入並渲染
  • ✅ 基礎監控儀表板運作

階段 2:AI 功能整合(2-3 個月)

目標 :導入 AI 分析與智慧決策

優先級

  1. P0(必須) :異常檢測、基礎 RAG 問答
  2. P1(重要) :預測性維護、風險評估
  3. P2(加分) :自動報告生成、知識圖譜

技術選擇

  • 異常檢測 :統計方法(Z-score, IQR)+ Isolation Forest
  • RAG 系統 :Dify 快速搭建 + Supabase Vector
  • 預測模型 :Transformers.js(輕量級)或 Python 後端(TensorFlow Lite)

階段 3:工作流程自動化(1-2 個月)

目標 :減少人工介入,提升效率

n8n 工作流程清單

  • ⭐ 異常事件自動通知
  • ⭐ 每日自動報告生成
  • ✅ 預測性維護提醒
  • ✅ 數據備份與歸檔
  • ✅ BIM 模型版本同步

階段 4:優化與擴展(持續)

優化方向

  1. 效能優化

    • BIM Viewer 渲染效能(LOD、Web Worker)
    • 快取策略調整(根據實際使用模式)
    • 數據查詢優化(索引、分區)
  2. 功能擴展

    • 多工地支援
    • 行動端 App(Capacitor)
    • 離線模式增強
  3. AI 模型迭代

    • 持續訓練與調優
    • A/B 測試不同模型
    • 使用者回饋循環

成本評估

初期投資(一次性)

項目 預估成本 說明
IoT 硬體設備 NT$ 100,000 - 300,000 感測器、Gateway、網路設備
本地伺服器 NT$ 50,000 - 150,000 中等配置 PC/伺服器(AI 推理用)
系統開發 NT$ 300,000 - 800,000 依專案規模與功能複雜度
總計 NT$ 450,000 - 1,250,000

經常性費用(每月)

項目 預估成本 說明
Supabase NT$ 0 - 6,000 免費方案或 Pro 方案
網路費用 NT$ 1,000 - 3,000 4G/5G 或固定網路
電力與維護 NT$ 2,000 - 5,000 伺服器電費、設備維護
總計 NT$ 3,000 - 14,000

ROI 評估

效益預估

  • 減少設備故障停機時間 :30% ↓(預測性維護)
  • 降低安全事故風險 :40% ↓(即時監控與警報)
  • 提升管理效率 :50% ↑(自動化報告與工作流程)
  • 數據驅動決策 :提升專案管理品質

投資回收期 :預估 12-18 個月(視專案規模)

延伸思考

未來技術演進方向

  1. 數位孿生(Digital Twin)

    • BIM 模型 + IoT 實時數據 = 動態數位孿生
    • 模擬與預測("如果溫度持續上升會發生什麼?")
  2. 聯邦學習(Federated Learning)

    • 多工地協同訓練 AI 模型
    • 數據不離開現場,僅共享模型參數
  3. 邊緣 AI 增強

    • 更多推理下沉到邊緣設備
    • WebGPU 加速瀏覽器端 AI 運算
  4. AR/VR 整合

    • 使用 AR 眼鏡查看即時 IoT 數據疊加
    • VR 遠端巡檢與協作

跨領域應用可能性

  • 智慧城市 :擴展到城市基礎設施監控
  • 智慧建築 :建築交付後的運維管理(FM)
  • 工業 4.0 :製造業設備監控與預測性維護
  • 能源管理 :碳排放監測與優化

資料來源

本地知識庫

  • [[Internet of Things (IoT) in Construction Strategic Business Report 2025-2030 Expansion of Smart Cities and Infrastructure Projects Propels Market Opportunities]]
  • [[Construction Project Management Software Market Analysis Report 2025 BIM, IoT, and Drone Integration Accelerate Adoption as Industrial Projects Demand Smarter, Centralized Digital Ecosystems]]
  • [[Javan's Technology Stack(Javan的技術棧)]]

技術參考

  1. Supabase Documentation

    • Supabase 官方文件,涵蓋 PostgreSQL、Realtime、Vector 功能
  2. That Open Documentation

    • BIM 組件庫與 IFC 處理指南
  3. Three.js Documentation

    • 3D 渲染引擎官方文件
  4. n8n Documentation

    • 工作流程自動化平台文件
  5. Dify Documentation

    • RAG 應用平台使用指南