CATALOG

芯步的智能壁挂音箱开放了标准的HTTP接口,这意味着你只需要会写基本的网络请求,几分钟就能让软件“开口说话”。下面是一份比较完整的对接方案,包含了签名算法、常用命令速查和代码示例,你可以直接参考着动手试试。

一、 核心对接思路

你可以把音箱想象成一个 “接收HTTP命令的机器人” 。你的软件(不管是Web、APP还是小程序)在某个业务节点(比如新订单来了),只需要向芯步的云端服务器发起一个 HTTP 请求,云端就会立刻把这个命令转发给指定音箱,让它开口说话

整个过程不需要录音,也不需要人工干预,直接把文字发过去,音箱那边就用真人般的声音读出来了。

二、 准备工作:拿到“钥匙”

在写代码之前,你需要先拿到两样东西,这就相当于你家的门牌号和钥匙:

  1. AppID 和 AppSecret:登录芯步的控制台,在开发设置里就能找到。AppID 是公开的标识,AppSecret 要保密,用来生成签名。

  2. Device ID:设备编号。在控制台找到你那台“20W语音壁挂音箱”的序列号。

三、 接口调用详解(核心签名机制)

芯步的接口非常标准,只要搞定了 sign(签名) 的计算,剩下的就是发个 POST 请求了。

请求地址格式如下:

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

“签名”生成规则(通俗版):为了防止别人乱喊你的音箱,我们需要给请求加个“暗号”。规则是:md5( md5(AppSecret) + ts )

  • 第一步:把你拿到的 AppSecret 进行一次 MD5 加密,得到一串新的字符。

  • 第二步:把当前的时间戳(比如 1699345678)拼在第一步字符串的后面

  • 第三步:把第二步拼出来的这个长字符串,再进行一次 MD5 加密。结果就是 sign

别担心,其实就是两行代码的事

四、 实战演示(代码片段)

为了让你更有感觉,这里直接用 cURL 命令和 Python 代码展示一下怎么播报“张三,你有新任务了”。

1. 准备你要发送的 JSON 数据:

  • device:填你准备好的设备ID。

  • order:填你要下的命令。

2. 使用 cURL 命令示例:假设你的 AppIDdemo_app,时间戳是 1699345678,签名是 xxxxxx

注意:实际环境中的 sign 请按上文的规则计算替换,上面的只是示例。

3. 使用 Python 代码示例:这里包含了上面提到的签名计算过程,可以直接在 Python3 环境运行。

注意:实际应用中请检查返回状态码,200 通常代表成功。

五、 常用命令速查表(让你的音箱更听话)

不仅仅是干巴巴的读文字,你还可以远程调整音量和音色。只需要修改上面 order 里的内容就行

功能分类命令示例 (放入 order 中)参数说明与场景举例
基础播报{"play:gbk:16":"你好"}核心功能,音箱直接朗读文字。
设置音量{"volume":"7"}取值范围 0-9。0静音,9最响。办公室用 5,车间用 9。
切换音色{"voice":"1"}0=女声,1=男声。女声适合收银播报,男声适合严肃警报。
语速语调{"speed":"5"}{"tone":"5"}也是 0-9 范围。默认 5 是标准语速。
加个铃声{"play:gbk:16":"[message_3]欢迎光临"}message 是提示音,1-5 可选。先响一声“叮咚”,再说“欢迎光临”,很实用。
数字播报{"play:gbk:16":"消费金额[n2]1888元"}控制数字读法,n2 让 1888 读作“一千八百八十八”而不是“一八八八”。
紧急停止{"stop":"1"}如果发错了消息或需要紧急静音,用这条命令让音箱闭嘴。

六、 场景实战:软件项目怎么触发?

假设你是一个餐饮或工厂的管理系统,想集成音箱,逻辑非常简单:

  1. 订单 / 工单创建事件在你的后端代码里,当数据库插入一条新订单(例如 INSERT INTO orders ...)之后,紧接着就调用上面那段 Python 代码。

  2. 具体文案定制利用接口可以动态拼接文字的特性,你可以构造出这样的播报内容:

    “后厨请注意,您有一个新的外卖订单,订单号尾号8848,请及时处理。”

  3. 多设备管理如果你有多个车间或多个收银台,只需在请求时将 device 字段改为对应的设备ID即可。如果想让所有音箱同时响,device 参数可以用逗号隔开多个ID,比如 "device": "id1,id2"

七、 一点小

  1. 注意防火墙:如果你的服务器在内网,请确保能访问外网域名 api.thingboot.com,否则命令发不出去。

  2. 语速适中:播报长文本(比如超过30个字)时,稍微调低语速(比如 speed:4),这样前台听得更清楚

  3. 善用停顿:在文本中加 [w0] 可以插入停顿,让语音更像真人

这套接口对接难度很低,熟练的开发人员通常 10 分钟就能跑通第一个“Hello World”。你就把它当成一个远程的“嘴”,向它推送文本字符串就行了。