2024-08-22 18:11:01 +08:00
|
|
|
|
# PC MQTT
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
## 介绍
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
PC MQTT 是一个用于远程监控设备状态的工具。它通过 MQTT 协议将设备状态信息发送到 Home Assistant 服务器,方便进行远程管理和监控。
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
## 多平台编译
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
### amd64 架构
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
#### Windows
|
|
|
|
|
|
|
|
|
|
在 Windows 平台上,使用以下命令编译:
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
|
|
|
|
```cmd
|
2024-08-22 18:11:01 +08:00
|
|
|
|
go build -o mqtt-client.exe client.go
|
2024-08-22 17:45:11 +08:00
|
|
|
|
```
|
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
#### Linux
|
|
|
|
|
|
|
|
|
|
在 Linux 平台上,使用以下命令编译:
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
|
|
|
|
```shell
|
2024-08-22 18:11:01 +08:00
|
|
|
|
GOOS=linux GOARCH=amd64 go build -o mqtt-client client.go
|
2024-08-22 17:45:11 +08:00
|
|
|
|
```
|
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
### armv7 架构
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
2024-08-22 18:11:01 +08:00
|
|
|
|
#### Linux
|
|
|
|
|
|
|
|
|
|
在 ARMv7 架构的 Linux 平台上,使用以下命令编译:
|
2024-08-22 17:45:11 +08:00
|
|
|
|
|
|
|
|
|
```shell
|
2024-08-22 18:11:01 +08:00
|
|
|
|
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 代理服务器。
|
|
|
|
|
|
|
|
|
|
如果有其他问题或需要帮助,请随时联系支持团队。
|