芯步的开放接口走的是标准HTTP协议,签名逻辑也清晰——一次MD5加时间戳就行。下面从设备准备、签名算法、接口调用三个环节,讲清楚怎么把30W音柱接到你的项目里。
一、 核心思路:把音柱当成一个“API可调用的扬声器”
首先,你要明确一点:芯步的30W智慧园区语音终端(智能语音音柱)不是传统那种需要布线的公共广播,它本质上是一个联网的嵌入式设备。
它开放了标准的HTTP接口,意味着你只要会敲代码(无论是Java、PHP、Python还是前端JS),能发网络请求,就能让它开口说话。
二、 准备工作:拿到音柱的“身份证”
在写代码之前,你需要在芯步的开放平台或控制台拿到三样关键信息,这就像你开车要有钥匙和驾驶证:
设备ID:贴在音柱机身上或者在你账号后台列表里,是一串数字,比如
1234567。AppID/AppSecret:在你注册开发者账号后,平台会分配给你。相当于你家大门的钥匙,千万注意保管Secret,不要硬编码在代码里(一般放后端)。
联网:确保你的30W音柱已经通过WiFi 2.4G或网线连上了网络(设备指示灯状态可以在说明书里查一下)。
三、 核心动作:让音柱说话(附代码思路)
这是最激动人心的一步。控制芯步的设备精髓在于构造签名(Sign)。
官方接口地址通常是:http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
1. 签名算法(这里是关键)
芯步的签名规则是 md5(md5(密码) + 时间戳),这是一个比较常见且安全的方式。
Step 1:把
AppSecret做一次 MD5 加密。Step 2:拿当前的时间戳(秒级,10位)。
Step 3:把 Step1 的结果拼接上时间戳,再整体做一次 MD5。
简单来说,如果你用JavaScript(Node.js环境)表达:
2. 下发“播报文本”指令
假设你的软件项目是园区管理后台,现在保安要播报一条通知:“请所有访客车辆停放到地下车库”。
我们需要向音柱下发一个 play 命令。
请求示例(Postman / cURL 风格):
URL
https://api.thingboot.com/YOUR_APP_ID/device/control/?sign=计算出的sign&ts=当前时间戳Method:POST
Header
Content-Type: application/jsonBody (JSON)
注意:芯步有的产品系列支持直接传文本,有的可能需要json结构。如果上述不行,可以尝试标准格式:
这里 gbk:16 可能涉及音色和语速,16一般代表较快语速或特定音色,你可以根据文档调整。
3. 扩展功能
既然是智慧园区,你可能不只是想让它说话,还想让它闭嘴或者调节音量。
音量调节
{"volume": 80}(范围一般是0-100)停止播放
{"stop": 1}
四、 实战场景:集成到你的软件项目
不管你的软件是用什么语言写的,逻辑都是一样的:你的后端发一个HTTP请求。
场景A:Java项目(Spring Boot)
你可以使用 RestTemplate 或 OkHttp。定义一个Service,核心就是把上面的签名逻辑写好,然后调用 postForObject。有一个细节要注意:如果请求返回的 code 是200,只代表云端收到了指令,不代表音柱立即响了。如果音柱离线,code也可能是200,因为存到了云端队列。所以如果想确认设备是否真的响了,需要监听设备的“异步消息”推送,或者查看设备日志。
场景B:Python项目(Django/Flask)
用 requests 库非常简单。几行代码就能搞定一个定时抓取数据库公告并推送给音柱的脚本。
场景C:低代码/前端直接调用?
虽然接口支持HTTP,但由于AppSecret 暴露在前端会有安全风险,强烈不要在前端直接调用控制接口。正确的做法是:你自己的后端写一个代理接口,前端调用你自己的后端,你自己的后端再去调用芯步的接口。 这样可以避免密钥泄露导致被别人乱喊话。
五、 避坑指南
分组管理:如果你有100个音柱,别一个个发指令。芯步支持分组控制。你可以在后台把全园区的音柱建一个组叫“All”,然后直接对着组发消息,一次全响。
文本编码:播报中文时,不用怕乱码,HTTP请求体用UTF-8就行。如果要播报特殊数字(比如“10086”会读成“一万零八十六”还是“幺零零八六”),一般默认是数值读法,如果不对可能需要加转义或特定指令。
私有化部署:如果你园区内网安全要求比较高,不允许连外网,芯步的音柱支持私有化部署。你可以把消息服务器搭在自己的局域网内,音柱连接你本地的MQTT Broker,这样数据完全不经过外网。
六、 总结一下步骤
配网:把30W音柱通上电,用App或者配网工具给它连上你办公室的WiFi。
拿Key:登录芯步控制台,拿到设备ID和你的开发者密钥。
写代码:按上面的流程,在你的管理系统里加一个“发送通知”的按钮,点一下,调用你刚写的HTTP请求函数。
听到声音:音柱响起。