MES I/O Gateway / 快速上手
00快速上手

首次部署指南

本輪修訂:2026-11-02(1.1.15 候選)

#1.1.15 首次設定與直連驗證(2026-11-02)

出廠預設 192.168.50.50/24、閘道 0.0.0.0。電腦直連可設 192.168.50.10/24,閘道/DNS 留空。每台設備正式上線前避免重複 IP。

  1. 無儲存設定或 USER 恢復原廠後,網頁顯示「目前處於首次設定模式」;MQTT、雲端及外部對時暫停。未對時的時間戳維持 null,不捏造有效時間。
  2. 儲存網路與 MQTT 設定;普通儲存、重開機、USB net static/net dhcp/net keep 不代表完成設定。
  3. 在設定頁按「完成設定並啟用」,成功保存後設備重開進入正常運行。USB 可用 net activate;會確認目前網路試用設定再重開。保存失敗必須留在首次設定並提示錯誤。
  4. IP 可繼續使用 192.168.50.50;不依 IP 或閘道猜測模式。無閘道的現場 LAN 可使用同網段數字 IP 的 Broker。跨網段與 DNS 主機名稱需先設定可用閘道。既有有效設定升級維持正常運行。
  5. AP 設定時先儲存 Wi-Fi、重開到正常 LAN,再完成設定;未完成時連線測試/雲端授權會提示先完成設定。

必測:首次設定直連至少15分鐘,全程 USB 記錄及 HTTP 取樣;無非預期重開、無自動 MQTT/雲端/NTP 嘗試;記錄 HTTP 失敗與最大延遲,不只核對 uptime。包含手動重開保留 pending、普通保存仍 pending、未授權啟用拒絕、完成後僅一次預期重啟、再次開機保留完成狀態、同網段 Broker 接收,以及 DHCP/其他靜態保存。未執行項目不得填 PASS。

修訂紀錄:2026-11-02 新增首次設定持久化、直連/現場區分及實機驗證條件(WI-269)。

📅 最後更新:2026-11-02 | 📌 負責人:KC

本指南帶你從接線開始,一步一步把設備接上網路,再確認資料有送出去。先準備好供電、網路與登入資料;每一步看到預期結果後,再往下做。時間依現場網路與接線狀況而定。


#前置準備

項目 說明
Arduino Opta 已有韌體(或 USB 線 + 電腦用於燒錄)
24V DC 電源 工業級穩壓電源
Ethernet 網線 連接至工廠 LAN
電腦/手機瀏覽器 進入 Web 管理介面

#Step 1:接線與上電(5 分鐘)

  1. 連接 24V DC 電源至 Opta 電源端子
  2. 連接 Ethernet 網線至 Opta RJ45 埠
  3. 上電,等設備啟動,再依下一步找到並開啟設備網頁;不要只憑等待秒數或燈色判定已完成。

如果設備一直無法開啟網頁,先查供電與網路,再依 故障排除 保存狀態、查原因;不要只靠燈色斷定韌體故障。

#Step 2:找到設備 IP(2 分鐘)

#出廠有線直連(1.1.14)

全新設備或一般恢復原廠、尚未儲存網路設定時,有線 Ethernet 使用 192.168.50.50 / 255.255.255.0,閘道 0.0.0.0(無閘道)。不需要 DHCP 伺服器,也不需要先經 USB 設定。已儲存的 DHCP 或其他靜態 IP 優先,升級不會覆蓋;Wi-Fi 與 AP 位址不受此出廠有線預設影響。當機循環的 Safe Boot 緊急救援仍保留強制 DHCP 的原有行為。

  1. 一次只將一台未設定的 OPTA 用 Ethernet 網路線直接接電腦,保持設備正常供電。
  2. 將電腦的有線網卡暫設為 192.168.50.10、遮罩 255.255.255.0;閘道及 DNS 留空。Windows:網路介面卡的 IPv4 內容;macOS:系統設定 → 網路 → Ethernet → 詳細資訊 → TCP/IP → 手動;Linux:網路設定 → 有線 → IPv4 → 手動。
  3. 等設備啟動,在瀏覽器開啟 http://192.168.50.50。直連不需網際網路;MQTT/雲端尚未連線不代表本機網頁失效。
  4. 在「設定」選擇 DHCP 或輸入業主分配的靜態 IP、遮罩與閘道,儲存後按畫面指示重啟,再改用新位址連線。DHCP 必須接到有 DHCP 服務的網路。
  5. 將電腦網卡恢復原本設定。多台出廠設備會使用同一 IP,請逐台設定不同 IP 後再接入共同網路。

USB Serial 仍使用同一份持久化網路設定,不衝突。115200 終端機送 net show 查詢;net dhcp 切換 DHCP。無閘道直連也可送 net static 192.168.50.50 255.255.255.0 0.0.0.0。Serial 改動仍有試用/還原機制:從新有線位址開啟網頁確認,或確認可用後送 net keep。一般出廠預設本身不建立試用,且無閘道模式不會因不存在的閘道觸發網路自救重啟。

#方式 B:使用 AP 模式(僅 Opta WiFi 8320)

如果沒有 Ethernet 或需要初始設定:

  1. 按住 USER 按鈕 → 同時 按一下 RESET
  2. 繼續按住 USER,觀察 LED(8320 三段):
    • 0-5 秒常亮 → 5-10 秒慢閃(500ms,放開 = AP 模式)→ 10 秒+ = 原廠重置
    • 8310 無 WiFi 為兩段:0-5 秒正常 / 5 秒+ 即原廠重置(無 AP 段)。
    • 「原廠重置」只刪設定、留授權憑證、不清分割區(型號感知 WI-152,詳見 新機初始化 附錄)。
  3. 用手機連接 WiFi:MES-Gateway-Setup / 密碼 12345678
  4. 瀏覽器打開 http://192.168.3.1

⚠️ Opta RS485 (8310) 無 WiFi,進不了 AP 模式。 8310 請改走有線網路,或 USB 燒「拓荒包(Pioneer)」用自包設定頁開荒(見 新機初始化)。心跳燈:8320 藍燈、8310 琥珀燈(皆為正常運作)。

#Step 3:首次組態(10 分鐘)

進入 Web 管理介面後:

#3.1 網路設定

  • 導航到 設定 → 網路
  • 確認 Ethernet IP 正確
  • 若需 WiFi 備援:填入 WiFi SSID/密碼

#3.2 MQTT 連線

  • 導航到 設定 → MQTT
  • 填入 Broker 位址(例:mqtt://192.168.0.100:1883)
  • 設定 Client ID(建議:mes-gw-{產線編號})
  • 點擊「測試連線」確認

#3.3 I/O 命名

  • 導航到 配置 → I/O
  • 為每個 DI/DO/AI 通道設定有意義的名稱
  • 例:DI-1 = 壓力開關、DO-1 = 警報燈

#3.4 規則引擎(選配)

  • 導航到 規則
  • 新增規則:例「DI-1 觸發 → DO-1 動作」
  • 設定觸發條件和動作

#Step 4:驗證(5 分鐘)

  1. 總覽頁面 — 確認所有 I/O 卡片顯示即時數值
  2. MQTT — 在 Broker 端確認收到 Topic 發佈
  3. 規則 — 手動觸發 DI 確認 DO 動作

#Step 5:持久化與備份(3 分鐘)

  • 所有設定會自動儲存至 QSPI Flash
  • 建議:透過 Config Server 建立第一次備份
    curl -X POST http://{gateway-ip}/api/config/push \
      -H "Authorization: Bearer admin-token"

#故障排除

症狀 原因 處理
LED 紅色快閃 Stack Overflow / 韌體異常 雙擊 RESET 進入 DFU,重新燒錄
Web 介面空白 QSPI 缺網頁資產(app.js/CSS/語系) 重灌官方 .mesb(帶齊 fw+6 資產),或燒拓荒包 mes-gateway-bootstrap.bin 後上傳 .mesb(upload_web.py 已廢除)
MQTT 連不上 Broker 位址錯誤或防火牆 檢查 IP/Port,確認 1883 開放
WiFi AP 看不到 QSPI 未釋放 重新按 USER+RESET 流程
設定消失 config.json 損壞 從 Config Server 還原備份

#Step 6:進階功能佈建(選配)

以下為依現場需求的一次性佈建,設定皆持久化於 QSPI(隨設備保留)。

#6.1 TDA-08B 秤重校正引導精靈

2026-10-01 更新:砝碼校正請改用 磅秤多段校正(零點+3~5 段,本次出發前候選 6.0.122,含寫入失敗保護)。命令需放開,重開後先 reset 再標零。以下四步驟精靈為舊版兩點校正。

若現場有 TDA-08B 秤重模組,可佈建引導式校正精靈(4 步驟 + 燈號提示,純設定)。需建立寫暫存器 + 狀態通道 + signals/actions/rules。

📖 設定建構步驟:guide-calibration-wizard.md §5;操作流程 §3。

#6.2 MQTT Watchdog(強烈建議)

broker 重啟 / 網路抖動後,設備可能 MQTT 顯示已連線但收不到命令(已知 lib 行為)。佈建外部 watchdog 自動偵測 + 復原:

  1. 設備端佈建 wdprobe signal(一次性,隨 NVS 持久化):

    bash
    curl -X POST http://{gateway-ip}/api/signals \
      -H "Authorization: Bearer admin-token" \
      -H "Content-Type: application/json" \
      -d '{"index":4,"enabled":true,"name":"wdprobe","trigger":0,"debounceMs":0,"sources":[{"type":6,"index":5,"op":4,"threshold":0.5,"and":false,"expIndex":0,"deadband":0}]}'

    ⚠️ JSON 必須 compact(冒號後無空格),Content-Length 用 byte 數。

  2. 在 always-on 主機常駐 watchdog:

    bash
    python3 scripts/opta_watchdog.py --interval 30 --fails 3

📖 完整原理、參數、systemd 部署:guide-failover-resilience.md §4。


#下一步

#修訂紀錄

  • 2026-09-28:6.1 指向多段校正手冊。

#量測時間與復電確認(6.0.122)

新建一鍵量測範本含 UTC ISO 8601 timestamp;既有範本請依 量測時間指南 遷移。路由器晚啟動時,先等待設備自行恢复,再確認 Web、MQTT 新訊息及量測更新;不要把固定等待秒數或 connected 字樣當成完整驗收,詳見 備援與韌性。