CATALOG

芯步的15W壁挂音箱开放了HTTP接口,想让它播报自定义内容,核心就是做一件事:向指定网址发送一段文字。下面的方案会带你从头走一遍,不需要写复杂代码,用现成工具也能验证。

一、 准备工作(先搞到两样东西)

在开始写代码之前,先花两分钟去官网后台拿一下你的专属凭证,就像取快递需要取件码一样:

  1. 拿到钥匙 (AppIDAppSecret)

    • 去芯步官网登录控制台(如果没有账号就注册一个,免费的)。

    • 在“开发设置”或者“我的应用”里,你能看到一长串字符。一个是 AppID(通常是公开的),另一个是 AppSecret(这个要保密,别贴到论坛上)。

  2. 找到设备编号 (device)

    • 还是在控制台,找到“设备管理”或者“硬件列表”。

    • 看看你那个15W壁挂音箱的序列号,把这个ID复制下来。

二、 核心原理:就是这么简单

这个音箱是通过 HTTP 协议 收指令的。你不需要搞什么复杂的MQTT或者WebSocket,它就是发一个 POST 请求

想象一下你写一封信(HTTP请求),按照规定的格式写上收件人地址(API地址),贴上防伪码(签名),信里写着:“给[设备ID]念一句:[你好,欢迎光临]”。

音箱收到信,直接就念出来了。

三、 实操步骤(手把手教你发指令)

这是最关键的一步。我们直接构造那个“播报命令”。

1. 计算签名

芯步为了安全,要求你给请求加一个签名,防止别人乱发指令让你的音箱乱叫。算法是这样的:

签名 (sign) = MD5( MD5(你的AppSecret) + 当前时间戳 )

听起来有点绕口?其实就两步:

  • 第一步:把你后台的 AppSecret 做一次MD5加密。

  • 第二步:把第一步得到的结果,拼上当前的时间戳(比如 1699152000),再整体做一次MD5加密。

不用害怕,任何编程语言(甚至Excel)都能算这个,后端代码里直接调用MD5函数就行。

2. 拼接请求地址

地址格式如下,记得替换掉大括号里的内容:

3. 填写命令内容

重点来了!这是请求体(JSON格式),你要告诉音箱做什么:

就是这么直接!把 order 里的文字换成你想播报的,比如“张先生,您的快递到了”或者“车间请注意,温度超标”。

四、 高级玩法与配置

光让音箱干吼可能不够,芯步的接口支持很多微调,你可以一并带过去。

1. 调节音量、语速和音色

你可以在发送命令时,先发一条设置命令,或者合并在一次会话里(视具体固件支持,通常先配置后播报)。比如你想让音箱小点声、说话快点:

注意:这些配置通常也是通过 order 字段下发的,设备会保存状态,下次不用重复发。

2. 加个前奏

直接说话太突然,你可以加个提示音。比如你想让音箱先“叮咚”一声,再说“欢迎光临”:

这里 [message_1] 就是内置的提示音,像短信提示音那种。一共有5种可以选。

3. 如何处理数字和多音字

这个音箱挺智能的。如果你发 "您的余额还有100元",它会自动读成“一百元”而不是“一零零元”。如果是金额 "100.50",它会读成“一百点五元”或者你需要指定金额读法,具体可以看文档里的数字读法标记,通常不用太担心。

五、 拿来吧你!代码示例片段

说了这么多,上一段实际代码你就全明白了。这里用最常见的 Python命令行 (Curl) 演示:

示例 1:使用 Curl (适合测试)

假设你已经算好了签名和参数,直接在终端敲:

示例 2:使用 Java (如果你在写SpringBoot)

(注:实际Java接入时有现成的库,不需要手撸HTTP底层,直接看官方示例更清晰)

六、 避坑指南

按照上面的步骤,一般10分钟就能跑通。如果没响,检查这三个地方:

  1. 网络通不通:音箱只支持 2.4G WiFi,千万别连5G的WiFi,很多路由器双频合一可能会出问题。

  2. 签名对不对:这是最常见的坑。时间戳一定要用 ,不要用毫秒。签名算法严格按 md5(md5(secret) + ts) 来,括号别加错。

  3. 编码对不对:如果播报中文是乱码或者没反应,检查你的HTTP请求编码,确保是 UTF-8

搞定这些,你的系统就能随时指挥这个15W的壁挂音箱说话了。