sky121113
|
4b8436e6c2
|
[REFACTOR] 移除 MQTT $SYS 監聽機制並優化 CI/CD 流程
1. 移除 MQTT Gateway 對 $SYS 系統主題的訂閱與解析邏輯,改由遺囑 (Last Will) 統一處理上下線狀態。
2. 更新 EMQX ACL 設定,移除 Gateway 的系統主題存取權限。
3. 優化 CI/CD 流程 (deploy-demo.yaml):將 EMQX 重啟改為熱重載 (Reload),並新增 MQTT Worker 自動重啟。
|
2026-04-22 13:33:42 +08:00 |
|
sky121113
|
1d5aff2f2e
|
[REFACTOR] 遷移遠端管理指令至 MQTT 非同步架構與邏輯優化
1. 實作 MqttService 統一管理 MQTT 指令發送。
2. 遷移「遠端庫存與效期中心」至 MQTT 流程,並加入 batch_no (批號) 支援。
3. 修改 RemoteController 指令中心所有指令同步改由 MQTT 推送。
4. 修正 Go Gateway redis_consumer.go 確保 JSON 格式符合最新規格(移除寫死的 target/message_id)。
5. 實作 ProcessCommandAck 自動更新指令結果、異常回滾 (Rollback) 與機台自動亮燈 (Online)。
6. 完善 mqtt-communication-specs 規格文件,補齊所有指令定義與 ACK 範例。
7. 強化指令狀態保護,確保只有 pending 狀態的指令能被更新結果,防止重複處理。
|
2026-04-22 11:30:39 +08:00 |
|
sky121113
|
fed81a12f3
|
[STYLE] 移除 mqtt_handler.go 中多餘的空白行
1. 整理代碼格式,移除 HandleMessage 函式中多餘的換行符號。
|
2026-04-21 14:19:35 +08:00 |
|
sky121113
|
9166decbb8
|
[FIX] 修復 MQTT 連線狀態追蹤與 EMQX 版本相容性問題
1. 優化 mqtt-gateway 的 $SYS 主題解析邏輯,改用關鍵字匹配(搜尋 clients/)以支援不同版本的 EMQX。
2. 修正啟動日誌中的 Client ID 顯示,改為讀取動態設定。
3. 配合 150 伺服器 EMQX 降級操作,同步更新通訊層容錯代碼。
|
2026-04-21 14:18:24 +08:00 |
|
sky121113
|
43a160e2d4
|
fix(mqtt): improve topic parsing logic and dynamic clientid logging
|
2026-04-21 14:06:39 +08:00 |
|
sky121113
|
32bc13ac1b
|
[FIX] 修復 MQTT 監聽器與機台連線狀態同步邏輯
1. 補齊 ListenMqttQueue 中的 Job 類別引用,修復 mqtt-worker 崩潰重啟問題。
2. 實作 Go Gateway 的 Client ID 解析邏輯,正確將 SC_{serial}_{random} 格式還原為機台編號。
3. 修復 系統主題解析與 Laravel ProcessStatus Job 對齊,實現毫秒級連線狀態同步。
4. 在 ProcessStatus Job 中增加第二層 serial_no 清理保險,提高系統容錯。
5. 更新機台列表 UI 狀態顯示邏輯,支援 在線/斷線/故障 三態顯示與多語系。
6. 更新 MQTT 通訊規範 (Skill) 文件,確保全域開發定義的一致性。
7. 同步更新 zh_TW.json, en.json, ja.json 翻譯文件。
|
2026-04-21 12:38:42 +08:00 |
|
sky121113
|
959625a640
|
[FEAT] 實作 MQTT Gateway 整合與高併發 IoT 通訊架構
1. 導入 Go 語言撰寫的 MQTT Gateway (mqtt-gateway/),負責訊息接收並透過 Redis List 轉發至 Laravel。
2. 更新 compose.yaml 以包含 EMQX Broker 與 mqtt-gateway 服務,並配置相關環境變數。
3. 新增 ListenMqttQueue 指令與對應的異步處理 Job (ProcessHeartbeat, ProcessTransaction, ProcessMachineError)。
4. 實作 MqttSyncAuth 指令與 Machine Model Observer,支援自動化的機台認證資訊同步至 Redis。
5. 新增 MqttCommandService 用於處理雲端至機台的即時指令下發。
6. 更新專案規範文件 (framework.md 與 Skills) 以反映新的 MQTT 通訊機制與安全性規範。
7. 提供 simulate-heartbeat.sh 指令碼以供開發與測試使用。
|
2026-04-16 14:28:42 +08:00 |
|