# PC MQTT ## 介绍 PC MQTT 是一个用于远程监控设备状态的工具。它通过 MQTT 协议将设备状态信息发送到 Home Assistant 服务器,方便进行远程管理和监控。 ## 多平台编译 ### amd64 架构 #### Windows 在 Windows 平台上,使用以下命令编译: ```cmd go build -o mqtt-client.exe client.go ``` #### Linux 在 Linux 平台上,使用以下命令编译: ```shell GOOS=linux GOARCH=amd64 go build -o mqtt-client client.go ``` ### armv7 架构 #### Linux 在 ARMv7 架构的 Linux 平台上,使用以下命令编译: ```shell GOARM=7 GOOS=linux GOARCH=arm CC=/path/to/your/arm-none-linux-gnueabihf-gcc go build -o mqtt-client client.go ``` 请将 `/path/to/your/arm-none-linux-gnueabihf-gcc` 替换为你实际的交叉编译器路径。 ## 运行 在编译完成后,可以使用生成的可执行文件来运行 PC MQTT 客户端。确保 `.env` 文件配置正确,然后根据你的操作系统和架构运行相应的可执行文件。 ## 配置 确保 `.env` 文件包含正确的配置,如下所示: ```env MQTT_BROKER=tcp://broker.example.com:1883 MQTT_CLIENT_ID=your-client-id MQTT_TOPIC=your/topic ``` ## Home Assistant 自定义配置 要将 PC MQTT 数据集成到 Home Assistant,你需要在 Home Assistant 的配置文件中添加 MQTT 传感器。以下是一个自定义配置案例: ### 示例配置 ```yaml mqtt: broker: broker.example.com port: 1883 client_id: home_assistant username: your-username password: your-password sensor: - platform: mqtt name: "CPU Usage" state_topic: "your/topic" value_template: "{{ value_json.cpu_usage }}" unit_of_measurement: "%" - platform: mqtt name: "Memory Usage" state_topic: "your/topic" value_template: "{{ value_json.mem_usage }}" unit_of_measurement: "%" ``` ### 说明 - `mqtt.broker`:设置为你的 MQTT 代理服务器地址。 - `sensor`:配置 MQTT 传感器,`state_topic` 应与 PC MQTT 工具发布的主题一致。 - `value_template`:解析 JSON 数据并提取 CPU 和内存占用信息。 将上述配置添加到你的 Home Assistant `configuration.yaml` 文件中,并重启 Home Assistant 以应用更改。 ## 常见问题 ### 如何调试 MQTT 连接问题? 检查 MQTT 代理服务器的日志,确保连接信息和主题配置正确。如果使用的是本地 MQTT 代理,可以尝试使用 MQTT 客户端工具(如 `mqtt-explorer`)测试连接。 ### 如何处理权限问题? 确保运行 PC MQTT 工具的用户具有读取 `.env` 文件的权限,并且网络权限允许访问 MQTT 代理服务器。 如果有其他问题或需要帮助,请随时联系支持团队。