# 氣象與空氣品質
:::success
本應用實務依據``5G智慧杆系統技術規範``,為氣象與空氣品質數據提供標準化資料結構與接口規則,確保系統整合與資料交換的可靠性與一致性,協助地方單位及系統整合業者高效建立智慧環境監測平台。
:::
[toc]
## 欄位與資料定義
| 欄位名稱 | 格式 | 必備 | 說明 | 備註 |
| -------- | -------- | -------- | -------- | -------- |
| **廠商資訊** |
| Vendor | String | M | 廠商 | 記錄設備實際製造廠商名稱 |
| Model | String | M | 型號 | 記錄設備型號 |
| Serial | String | M | 序號 | 記錄設備唯一序號 |
| **系統與應用欄位** |
| Token | String | M | 使用者身份驗證 Token | API 安全憑證,所有請求需帶此欄位。 |
| DEVSNo | String | M | 設備代碼 | |
| timestamp | String | M | 感測數據採樣時間 | ISO 8601 日期格式 |
| **感測器資訊** |
| Latitude | 數值 | O | 經度 | 以度表示 |
| Longitude | 數值 | O | 緯度 | 以度表示 |
| Status | Enum | M | 感測器狀態 (NORMAL, FAULT, MAINTENANCE, OFFLINE) | 用來判斷感測器健康狀況 |
| errorCode | String | O | 錯誤代碼 | 發生異常時填寫,否則空值 |
| **氣象資訊** |
| Temp | 數值 | M | 溫度 | 以攝氏溫度表示 |
| RH | 數值 | M | 相對濕度 | 以百分比表示 |
| WindSpeed | 數值 | O | 風速 | meter/sec |
| SolarRadiation | 數值 | O | 日射量 | MJ/m^2^ |
| **空氣品質資訊** |
| PM25 | 數值 | M | 細懸浮微粒濃度(µg/m^3^) | 環保監測核心數據 |
| PM10 | 數值 | O | 懸浮微粒濃度(µg/m^3^) | |
| SO2 | 數值 | O | ppb | 二氧化硫 |
| CO | 數值 | O | ppm | 一氧化碳 |
| NO2 | 數值 | O | ppb | 二氧化氮 |
| NO | 數值 | O | ppb | 一氧化氮 |
| O3 | 數值 | O | ppb | 臭氧 |
## 資料結構與操作規則
### 資料結構範例 (JSON)
```json
{
"Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"DEVSNo": "AQSensor001",
"timestamp": "2025-04-28T14:15:00Z",
"Temp": 25.4,
"RH": 60.3,
"PM25": 15.7,
"PM10": 28.4,
"CO": 0.4,
"NO2": 12.1,
"NO": 2.9,
"O3": 20.5,
"Status": "NORMAL",
"errorCode": "",
}
```
### 操作規則
| 操作 | 說明 | 輸入內容 | 備註 |
| -------- | -------- | -------- | -------- |
| 新增 | 上報感測器數據 | 完整必填欄位及狀態資訊 | DEVSNo唯一識別,時間戳必須合理。 |
| 查詢 | 根據條件查詢歷史或即時感測資料 | Token、DEVSNo、時間區間等 | 支援分頁,避免大量資料一次回傳。 |
| 修改 | 更新感測器狀態或補充說明 | Token、DEVSNo 及變更欄位 | 僅限狀態、錯誤碼及備註,不可更改設備基本參數。|
| 刪除 | 刪除感測器資料紀錄 | Token、DEVSNo 及時間條件 | 謹慎操作,需記錄日誌。|
### Token 使用注意事項
* 透過 Token 控制授權。
* 所有通訊須使用 HTTPS 保障資料安全。
* Token 過期須重新認證,API拒絕無效 Token 的請求。
### 資料交換頻率
* 即時環境監控建議每5分鐘更新一次資料。
* 可視需求調整批次上報頻率。
### 錯誤處理與回應格式
| 錯誤碼 | 含義 | 建議處理方式 |
| -------- | -------- | -------- |
| 400 | 請求格式或資料錯誤 | 檢查 JSON 格式、必填欄位、資料合理性。|
| 401 | Token 無效或缺失 | 重新登入獲取有效 Token |
| 403 | 權限不足 | 確認使用者權限 |
| 404 | 查無資料 | 檢查輸入設備ID及查詢條件 |
| 409 | 資料衝突 | 避免重複新增或不合理狀態更新 |
| 500 | 伺服器內部錯誤 | 稍後再試,並向系統管理員回報問題。|
* 成功回應範例
```json
{
"code": 200,
"message": "感測資料回傳成功",
"data": {}
}
```
## 資料格式與代碼支援
### JSON 格式
* 明確結構化數據,方便API前後端對應。
### 狀態說明
| 狀態值 | 說明 |
| -------- | -------- |
| Active | 已啟用 / 運作中 |
| Inactive | 已停用 / 未運作 |
### 測試資料建議
* 建議提供多筆測試資料涵蓋正常與異常狀態情境。
* 建議以模擬感測器裝置進行接口測試,驗證數據格式及狀態同步功能。
### 版本控管建議
* API及資料格式應明確標示版本號,方便後續維護。