抱枕接入 Claude 教程

接入前设备准备

  • 一个支持红外遥控的哄睡玩偶

    • 必须带原装红外遥控器

    • 至少支持:

    • 开机

    • 拍打

    • 调速

  • 一个涂鸦生态 Wi-Fi 万能红外遥控器

  • 一台中国大陆 VPS

    • 海外 VPS 不可用,涂鸦中国区 API 会限制境外 IP 请求
  • 2.4GHz Wi-Fi 网络

    • 红外遥控器不支持 5GHz Wi-Fi
    • 建议使用稳定路由器 Wi-Fi
    • 不建议使用手机热点,断开后设备会离线

环境准备

  • Python 3.8+
  • FastMCP
  • FastAPI(可选,用于扩展接口)
  • 涂鸦 IoT 开发者账号
  • 涂鸦中国区 Cloud API
  • Nginx / Cloudflare Tunnel(用于暴露 MCP 服务)
  • 一台中国大陆 VPS

架构

用户
  ↓
Claude
  ↓ MCP Connector
  ↓
VPS 上的 MCP Server
  ↓
涂鸦 Cloud API(中国区)
  ↓
涂鸦 Wi-Fi 红外遥控器
  ↓ 红外信号
哄睡玩偶

控制流程:

Claude 调用 MCP Tool
        ↓
MCP Server 根据工具生成控制指令
        ↓
调用涂鸦红外 API
        ↓
红外遥控器发送红外码
        ↓
玩偶执行动作

接入步骤

1. 硬件配网与红外学习

先给涂鸦 Wi-Fi 红外遥控器供电。使用手机完成:

  1. 下载「智能生活」App。

  2. 登录账号。

  3. 添加设备:添加设备 → 万能遥控 → 红外遥控器

  4. 连接 2.4GHz Wi-Fi。

  5. 确认设备在线。

然后学习玩偶遥控码:设备页面 → 添加遥控器 → DIY

使用玩偶原装遥控器逐个学习:

功能 命名
开机 start
拍打 pat
慢速 slow
快速 quick

学习完成后,在 App 中测试四个按键是否能够控制玩偶。命名随意。

2. 配置涂鸦 IoT 云平台

进入:https://iot.tuya.com

创建云项目:

  • 数据中心选择:中国

获取:Access ID,Access Secret

然后:项目 → 设备 → 关联 App 账号绑定智能生活 App。

开启 API 权限:

项目
 → 服务 API
 → API 授权
 → 红外
 → 万能红外开放能力

获取设备 ID:

项目
 → 设备
 → 全部设备

记录:infrared_id,remote_id

3. 查询红外学习码

由于涂鸦中国区 API 限制请求来源区域,必须在中国大陆 VPS 执行。

使用 Claude Code 在 VPS 编写脚本:

功能:

  1. 使用涂鸦 v2 API 签名认证。
  2. 获取 Access Token。
  3. 查询学习码:
GET
/v2.0/infrareds/{infrared_id}/remotes/{remote_id}/learning-codes

获取:

start code
pat code
slow code
quick code

保存备用。

4. 部署 MCP Server

在 VPS 创建服务目录:/opt/tuya-mcp

部署环境:

  • Python
  • FastMCP
  • streamable HTTP

MCP Server 监听:

127.0.0.1:8765

配置环境变量:

TUYA_ACCESS_ID=<Access ID>
TUYA_ACCESS_SECRET=<Access Secret>

INFRARED_ID=<红外遥控器设备ID>
REMOTE_ID=<DIY遥控器设备ID>

CODE_START=<开机学习码>
CODE_PAT=<拍打学习码>
CODE_SLOW=<慢速学习码>
CODE_QUICK=<快速学习码>

.env 文件需要限制权限:

chmod 600 .env

MCP Server 需要实现:

涂鸦 API 接入

  • 使用涂鸦 Cloud API 中国区接口
  • 实现 v2 签名认证
  • 自动缓存 Access Token
  • Token 过期前自动刷新

MCP Tools

提供以下工具:

Tool 功能
power_on 开机
pat_toggle 拍打开关
speed_slow 慢速
speed_quick 快速
soothe_sleep 自动哄睡

5. 配置 Nginx 反向代理

由于 MCP Server 只监听 VPS 本地端口:

127.0.0.1:8765

需要通过 Nginx 暴露公网 HTTPS 地址。

Nginx 配置示例

server {
    listen 443 ssl;
    server_name your-domain.com;

    location /tuya-mcp/ {
        proxy_pass http://127.0.0.1:8765/;

        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_buffering off;
        proxy_cache off;
    }
}

配置完成后:

nginx -t
systemctl reload nginx

注意事项

  • 红外遥控器必须保持在线。
  • 红外信号需要无遮挡直射。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇