本项目是基于虾哥开源的 MQTT+UDP 到 WebSocket 桥接服务,进行了修改,以适应xiaozhi-esp32-server。
部署使用请参考这里。
API请求需要在请求头中包含有效的Authorization: Bearer xxx
令牌,令牌生成规则如下:
- 获取当前日期,格式为
yyyy-MM-dd
(例如:2025-09-15) - 获取.env文件中配置的
MQTT_SIGNATURE_KEY
值 - 将日期字符串与MQTT_SIGNATURE_KEY连接(格式:
日期+MQTT_SIGNATURE_KEY
) - 对连接后的字符串进行SHA256哈希计算
- 哈希结果即为当日有效的Bearer令牌
注意:服务启动时会自动计算并打印当日的临时密钥,方便测试使用。
curl --location --request POST 'http://localhost:8007/api/commands/lichuang-dev@@@a0_85_e3_f4_49_34@@@aeebef32-f0ef-4bce-9d8a-894d91bc6932' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your_daily_token' \
--data-raw '{"type": "mcp", "payload": {"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "self.get_device_status", "arguments": {}}}}'
curl --location --request POST 'http://localhost:8007/api/devices/status' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your_daily_token' \
--data-raw '{
"deviceIds": [
"lichuang-dev@@@a0_85_e3_f4_49_34@@@aeebef32-f0ef-4bce-9d8a-894d91bc6932"
]
}'