CATALOG

芯步这款30W户外防水壁挂音箱本身支持HTTP控制,要做云端定时触发其实就是“定时调用API”。下面是一个完整的二次开发方案,按步骤来就行。

一、 准备工作:拿到设备的“钥匙”

在开始写代码之前,我们需要先拿到几个关键信息。这就像你要发快递,得知道收货地址和你的身份证。

  1. 注册/登录芯步控制台:首先得有个账号。

  2. 获取 AppID 和 AppSecret

    • 登录后,进入“物联网控制台” -> “开发设置”。

    • 你会看到 AppID (你的用户名) 和 AppSecret (你的密码)。注意:AppSecret 只显示一次,忘了只能重置,直接复制保存到文本里。

  3. 获取设备 ID (Device ID)

    • 在控制台的“设备列表”或者直接看你那个 30W 音箱外壳上的标签,有一串数字,那就是 Device ID

    • 小提示:这个音箱支持 WiFi 2.4G,配网的时候记得别连错 Wi-Fi

核心原理:芯步的接口是免费的,开放平台也永久开放。我们做的就是通过 HTTP 请求,告诉云端:“嘿,帮我把这个命令发给那个音箱”

二、 核心逻辑:音箱怎么“听懂”人话?

要让音箱说话,关键是把文字转化成命令。芯步的接口设计得比较直接,我们只需要向 api.thingboot.com 发送一条指令即可。

1. 接口地址 (URL):

https://api.thingboot.com/{你的AppID}/device/control/?sign={签名}&ts={时间戳}

2. 必须携带的参数:

  • device:就是刚才抄下来的那一串设备 ID。

  • order:这是重点,告诉音箱要干嘛。针对这款 30W 音箱,想让喇叭响起来,order 的值是一个 JSON 字符串。

    • 播报文本{"play:gbk:16":"你要说的话"}

      • play:gbk:16:这是固定的播报指令,支持中文编码。

      • 实测场景:比如小区门口下雨了,你可以发 {"play:gbk:16":"业主朋友们,下雨啦,记得收衣服"}

    • 控制音量{"vol":80} (音量范围一般是 0-100)。

三、 动手开发:搞定“签名”与“HTTP请求”

这一步稍微有点技术含量,主要是为了安全。芯步的签名规则是 md5(md5(开发者密码) + 时间戳)

我们直接用 Python 写个脚本例子,很直观:

如果你的后端是 JavaScript (Node.js) 或者 PHP,逻辑是一样的,就是把那三行生成 sign 的逻辑翻译过去。

四、 进阶玩法:接入云端定时任务

既然能发 HTTP 请求了,那定时就很简单了。我们要把上面的脚本挂在云端。

方案A:使用第三方云函数(白嫖/低代码方案,推荐)

  • 用什么:阿里云函数计算、腾讯云云函数、或者如果用的是 Home Assistant,就用自带的自动化。

  • 怎么做

    1. 把上面那段 Python/Node.js 代码丢到云函数里。

    2. 设置触发器。比如设置 Cron 表达式:0 30 8 * * * (每天早上 8:30 触发)。

    3. 完成。服务器会自动在那个时间点请求芯步的接口,音箱就会响。

方案B:集成到你的业务系统

  • 假设你是一个小区物业系统,数据库里存了“晚上 18:00 播放提醒”。

  • 写一个定时任务(比如 Linux 的 Crontab,或者 Windows 的计划任务),每天 18:00 执行一段代码。

  • 代码里只需要调用上面的 send_command(DEVICE_ID, "业主们,垃圾请分类") 函数。

五、 避坑指南与经验之谈

  1. 确认设备在线(关键!)

    • 芯步的接口返回 code 200 只代表云端收到了命令,不代表音箱响了

    • 你可以去控制台看设备状态是不是“在线”。如果不在线,检查一下 Wi-Fi 密码是不是改了,或者音箱通电没。

  2. 关于编码格式

    • 如果要播报中文,记得用 {"play:gbk:16":"内容"}gbk 这个参数对中文比较友好,如果你用 UTF-8 在某些旧固件上可能会乱码

  3. 安全

    • 不要把 AppSecret 直接写在网页前端的 JavaScript 代码里,那样会被别人看见盗用。一定放在后端服务器或云函数里运行。

    • 30W 这款是防水的,放在户外没问题,但它需要连 2.4G Wi-Fi,5G 的搜不到,配置时稍微注意一下

六、 总结落地结构图

最后,你的系统架构大概是这样的:

[你的云端服务器 / 腾讯云函数] 
    ↓ (1. 定时时间到,发起 HTTP 请求 + 签名)
[芯步开放平台 API] 
    ↓ (2. 验证签名通过,下推指令)
[芯步 MQTT 服务器] 
    ↓ (3. 通过 Wi-Fi 推送)
[户外防水壁挂音箱 30W] 
    ↓ (4. 喇叭响起)
[达成成就:早上 8 点自动喊你起床]

基本上就是把示例代码里的文字改成你想播报的内容,再把签名算法封装一下,你的 30W 音箱就变成“智慧大脑+大喇叭”了。