CATALOG

芯步的智能语音喇叭2通过HTTP接口开放了完整的TTS能力,核心就是一句话:把文字当参数发过去,它就能念出来。下面我把对接流程拆成四个步骤,手把手带你跑通。

一、 准备工作:先搞定“门禁卡”和“门牌号”

在写代码之前,你得先拿到两样东西,就像你要开门,得先有钥匙和门牌号。

  1. 找到你的“门禁卡” (AppID 和 AppSecret):

    • 登录芯步的控制台。

    • 找到“开发设置”或者类似的菜单。

    • 你会看到两个字符串:AppID(通常是公开的,像个账号)和 AppSecret(这个是保密的,像密码,千万别把它暴露在前端代码里!

  2. 找到你的“门牌号” (Device ID):

    • 在控制台的设备列表里,找到你要控制的那台喇叭。

    • 设备旁边会有一串数字或字母组合,那就是 Device ID。如果有多台,记下每个ID就行

二、 核心“暗号”:签名计算 (Sign)

这一步是很多人容易卡住的地方,但只要按逻辑来,其实很简单。芯步为了安全,每次发命令都得带一个动态的“暗号”(签名),防止别人乱发指令。

计算公式是这样的:

第一步:把 AppSecret 进行MD5加密,得到 Secret_MD5第二步:拿 Secret_MD5 加上当前的时间戳 ts,拼成一个新字符串。第三步:把这个新字符串再次进行MD5加密,结果就是 Sign

举个例子(方便你理解):

  • 假设你的 AppSecretabc123

  • MD5加密(abc123) = `e99a18c428cb38d5f22e03...

  • 当前时间戳 ts = 1715678900

  • 那么第一次拼接: e99a18c428cb38d5f22e03...1715678900

  • 第二次MD5:把上面这一长串再加密一次,得到 Sign

注意:时间戳 ts 必须是级别的Unix时间戳,而且时间必须和我们的服务器时间同步(相差不能太大),否则会提示签名过期

三、 开始实战:让喇叭开口说话

这是最关键的一步。我们用最通用的 HTTP POST 请求来操作。

请求地址(URL)构造:

https://api.thingboot.com/[你的AppID]/device/control/?sign=[你算好的Sign]&ts=[时间戳]

请求体(Body)代码示例:你需要发送一段 JSON 格式的数据。

citation:

通俗解释参数:

  • device:就是刚才在后台找到的那个ID。

  • order:这是你要下的指令。

    • play:gbk:16 这个术语不用死记硬背,你就把它理解为“现在开始念中文”。

    • 后面的字符串,就是你想让喇叭说的话。

几个常用的小技巧(进阶玩法):

除了干巴巴的念字,还可以加点特效:

  1. 调节音量:如果你想先调大音量再播报,可以连续发两条命令。

    音量范围 0(静音)到 9(最大)

  2. 换个声音:默认一般是女声,想换个大叔音?

  3. 加点特效音:要在播报前先“叮”一声吸引注意力?

    这里的 [message_3] 代表提示音,还能用 [ring_1](铃声)或者 [alert_2](警报)试试看

四、 完整代码示例 (5分钟跑通)

这里给你一个最简单的 PythonShell 脚本示例,哪怕是刚入门的开发也能跑起来。

Python 版 (使用 requests 库):

五、 排查故障:如果不响怎么办?

  1. 提示签名错误 (Sign Error)

    • 检查你的时间戳 ts 是否是级(10位数),而不是毫秒级(13位数)。

    • 检查你的 MD5 加密结果是32位小写的。

  2. 设备不在线

    • 喇叭需要插电并连接 WiFi。在控制台看看设备状态是不是绿色的“在线”。红灯通常表示断网了。

  3. 中文乱码或没声音

    • 确认命令里写的是 play:gbk:16,因为这个设备是使用 GBK 编码处理中文的,防止生僻字乱码

  4. 想播报的内容里有特殊符号

    • 如果有双引号,记得加反斜杠转义,或者直接用单引号包裹字符串。

总结一下思路

通过芯步的API对接语音喇叭,本质上就是调用一个HTTP网址。你只需要把“说什么”放进 order 参数里,服务器就会帮你去通知那台喇叭念出来。无论是对接订单系统(来新订单了),还是对接安防系统(有非法闯入),都是把原来打印日志的那段文字,改成调用这个接口发送过去就行了。