IoT、BIM-Viewer 與生成式 AI 整合應用架構設計
核心洞察 🎯
整合 IoT、BIM-Viewer 和生成式 AI 的關鍵在於 建立即時數據流通的智慧決策生態系統 ,透過感測器收集的現場數據結合 BIM 模型的空間資訊,再透過 AI 進行智慧分析,實現從「被動監控」到「主動預測」的數位轉型。
架構概覽
系統分層架構
本架構採用五層式設計,確保系統的可擴展性、可維護性和高效能:
技術棧配置
前端技術(展示層)
核心框架 :
- 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 數據收集
關鍵功能 :
- 多協定支援 :MQTT、WebSocket、HTTP
- 邊緣運算 :在 Gateway 進行初步數據過濾與聚合
- 數據品質保證 :驗證、清洗、異常值檢測
- 緩衝機制 :離線時暫存數據,恢復後補傳
2. 整合層:數據流通與快取
快取策略 :
| 快取層級 | 保存時間 | 數據類型 | 更新頻率 |
|---|---|---|---|
| L1 快取 | 1 小時 | 即時感測器數據 | 每秒 |
| L2 快取 | 24 小時 | 聚合統計數據 | 每分鐘 |
| L3 快取 | 7 天 | 歷史趨勢數據 | 每小時 |
3. 應用層:BIM + IoT + AI 融合
AI 應用場景詳解
1. 預測性維護
- 輸入 :設備運行數據 + 歷史故障記錄
- 模型 :時序預測模型(LSTM/Transformer)
- 輸出 :設備健康度評分、預估故障時間、維護建議
2. 空間風險評估
- 輸入 :BIM 空間數據 + 即時環境數據 + 人員位置
- 分析 :高風險區域識別、碰撞風險預測、逃生路線規劃
- 輸出 :風險熱力圖、即時警報、安全建議
3. RAG 智慧問答系統
- 知識庫 :BIM 模型資訊、施工規範、歷史數據、IoT 數據
- 功能
:
- "設備 A 在哪個位置?運行狀態如何?"
- "過去一週有哪些異常事件?"
- "如何處理 XX 設備的高溫警報?"
4. 自動報告生成
- 輸入 :IoT 數據統計 + BIM 模型資訊 + AI 分析結果
- 輸出 :每日/每週工地狀況報告(自然語言 + 圖表)
4. 展示層:Web 介面設計
5. 數據流轉完整流程
核心功能模組
Module 1: IoT 數據收集與處理
功能清單 :
多協定 IoT Gateway
- MQTT Broker 整合
- WebSocket 即時連線
- HTTP REST API
- 數據緩衝與補傳機制
數據預處理管道
- 數據驗證(格式、範圍、完整性)
- 數據清洗(去噪、去重、插值)
- 數據轉換(單位轉換、格式標準化)
- 異常值檢測(統計方法 + AI 模型)
時序數據儲存
- Supabase TimescaleDB 擴展(時序資料庫)
- 數據分區策略(按日期/設備類型)
- 數據保留策略(熱數據 7 天、溫數據 30 天、冷數據歸檔)
Module 2: BIM 模型管理與空間查詢
功能清單 :
IFC 模型解析與渲染
- 使用
web-ifc解析 IFC 檔案 - 使用
@thatopen/components載入 BIM 組件 - Three.js 渲染最佳化(LOD、Instancing、Frustum Culling)
- 使用
空間查詢引擎
- 建立空間索引(R-Tree / Octree)
- 空間關聯查詢("找出房間內所有設備")
- 最短路徑計算(逃生路線規劃)
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 空間風險評估
Module 4: 工作流程自動化(n8n)
自動化工作流程範例 :
流程 1: 異常事件處理流程
流程 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}}"]部署架構
雲端 / 混合雲部署方案
部署建議 :
| 服務 | 部署位置 | 原因 |
|---|---|---|
| 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秒/筆 | 高頻數據需要邊緣聚合 |
技術風險
IoT 設備穩定性
- 風險:感測器故障、電池耗盡、網路斷線
- 緩解:冗餘設計、邊緣快取、離線緩衝
BIM 模型品質
- 風險:模型不完整、座標系統錯誤、元素命名不規範
- 緩解:模型驗證工具、座標轉換、元素 ID 映射表
AI 模型準確度
- 風險:預測失準、異常檢測誤報
- 緩解:持續訓練、人工審核機制、信心區間標註
數據隱私與安全
- 風險:敏感數據外洩、未授權存取
- 緩解:本地 LLM、資料加密、RBAC 權限控制
實施路徑
階段 1:基礎建設(1-2 個月)
目標 :建立核心數據流通管道
交付成果 :
- ✅ IoT 數據可收集並即時顯示
- ✅ BIM 模型可載入並渲染
- ✅ 基礎監控儀表板運作
階段 2:AI 功能整合(2-3 個月)
目標 :導入 AI 分析與智慧決策
優先級 :
- P0(必須) :異常檢測、基礎 RAG 問答
- P1(重要) :預測性維護、風險評估
- P2(加分) :自動報告生成、知識圖譜
技術選擇 :
- 異常檢測 :統計方法(Z-score, IQR)+ Isolation Forest
- RAG 系統 :Dify 快速搭建 + Supabase Vector
- 預測模型 :Transformers.js(輕量級)或 Python 後端(TensorFlow Lite)
階段 3:工作流程自動化(1-2 個月)
目標 :減少人工介入,提升效率
n8n 工作流程清單 :
- ⭐ 異常事件自動通知
- ⭐ 每日自動報告生成
- ✅ 預測性維護提醒
- ✅ 數據備份與歸檔
- ✅ BIM 模型版本同步
階段 4:優化與擴展(持續)
優化方向 :
效能優化
- BIM Viewer 渲染效能(LOD、Web Worker)
- 快取策略調整(根據實際使用模式)
- 數據查詢優化(索引、分區)
功能擴展
- 多工地支援
- 行動端 App(Capacitor)
- 離線模式增強
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 個月(視專案規模)
延伸思考
未來技術演進方向
數位孿生(Digital Twin)
- BIM 模型 + IoT 實時數據 = 動態數位孿生
- 模擬與預測("如果溫度持續上升會發生什麼?")
聯邦學習(Federated Learning)
- 多工地協同訓練 AI 模型
- 數據不離開現場,僅共享模型參數
邊緣 AI 增強
- 更多推理下沉到邊緣設備
- WebGPU 加速瀏覽器端 AI 運算
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的技術棧)]]
技術參考
-
- Supabase 官方文件,涵蓋 PostgreSQL、Realtime、Vector 功能
-
- BIM 組件庫與 IFC 處理指南
-
- 3D 渲染引擎官方文件
-
- 工作流程自動化平台文件
-
- RAG 應用平台使用指南