feat: MQTT通信模块 - TCP连接+消息分发

新增:
- MqttConfig MQTT连接配置(TCP:1883, 心跳120s, 自动重连)
- MqttManager 连接管理器(连接/订阅3个Topic/消息解析/EventBus分发)
- AppEvent 新增 MqttConnected/MqttDisconnected/MqttMessageReceived

修改:
- build.gradle.kts MQTT_URL改为MQTT_HOST(TCP不需要路径)
- EnvConfig 适配MQTT_HOST
- HomeFragment 连接MQTT并显示连接状态

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-04-27 15:59:26 +09:30
parent 977c2dd0d2
commit a3c1f1d632
6 changed files with 243 additions and 3 deletions

View File

@@ -23,4 +23,10 @@ sealed class AppEvent {
data class BluetoothStateChanged(val isOn: Boolean) : AppEvent()
data class BluetoothDeviceConnected(val deviceName: String) : AppEvent()
data class BluetoothDeviceDisconnected(val deviceName: String) : AppEvent()
// MQTT 相关
data object MqttConnected : AppEvent()
data object MqttDisconnected : AppEvent()
/** MQTT 消息到达type=messageTyperawJson=原始 JSON 字符串 */
data class MqttMessageReceived(val type: Int, val rawJson: String) : AppEvent()
}