pc_mqtt/README.md

100 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 代理服务器。
如果有其他问题或需要帮助,请随时联系支持团队。