一、咱们先聊聊这个方案能干啥
简单来说,就是你有一排灯(最多4路),想通过系统随时知道它们是开着还是关着,顺便还能远程控制。芯步这个4路智能照明控制器(型号UNI-KZQ-ZM-4)就能干这事儿。
别看它个头不大,装在标准的配电箱里就行,工作电压AC 100-250V,每路最大能带10A的负载,普通照明绰绰有余。而且它走的是WiFi(2.4GHz),只要能连上你现场的网络,就能跟你的服务器“对话”。
下面我分几步给你掰扯清楚怎么对接。
二、对接前的准备工作
1. 先把硬件接好
这个不用多说——控制器的输入端接市电,输出端(COM和NO)分别接到4路照明设备的火线上,零线并在一起。注意总功率别超2500W,单路别超1000W就行。
2. 把设备配上网
设备上电后指示灯会闪,说明它在找网。你需要用芯步的配网工具(网页控制台或者小程序都行),把现场的WiFi名称和密码告诉它。注意只支持2.4G WiFi,5G的不行。
配网成功后,蓝灯会灭掉或者常亮,这时候设备就算“在线”了。
3. 拿到你的API钥匙
登录芯步的控制台,你会拿到两个关键东西:
AppId:你的应用ID,相当于“账号”
AppSecret:你的开发者密码,相当于“密码”,别泄露
然后找到你刚配好网的那台设备,记下它的device ID(一串数字,在控制台设备列表里能看到)。
有了这三样,你就可以开始写代码调接口了。
三、核心接口怎么用
芯步的接口是标准的HTTP POST,简单说就是你往指定的地址发一段JSON,设备就会干活。响应时间大概80-120毫秒,挺快的。
接口地址
签名怎么算(这一点很多新手容易搞错)
官方给的规则是:md5( md5(AppSecret) + ts )
拿Python举个例子你就明白了:
下发命令的请求体
这是最关键的。你要控制4路中的某一路,就往order字段里传power1、power2、power3、power4,后面跟1(开)或0(关)。
示例:让第1路和第3路打开,第2路和第4路关闭
用curl命令发请求大概长这样:
返回{"code":200}就表示命令下发出去了。但注意,200只代表平台收到了指令,不代表设备真的执行了——如果设备离线了,你也收不到200。
四、怎么监测“状态”
你问的是“电源状态监测”,这个分两种情况:
情况一:你下发命令后想知道执行结果
方法:接收芯步的异步消息推送。
当你下发命令时,可以在order里带一个extra字段,比如:
设备执行完后,平台会原样把extra推回给你的服务器,告诉你这条命令执行成功了。
你需要在自己的服务器上开一个接收接口(webhook),在芯步控制台配置好推送地址。当设备状态变化时,平台会主动往这个地址POST数据。
情况二:你想实时知道4路各自是开是关
目前从官方文档看,这个4路控制器主要是“下行”设备——你给它发命令它执行,但它不会主动上报“我是开着的”。
两种解决思路
自己做记录:你每次下发命令的时候,在自己数据库里记一笔——第1路我让它开了,那当前状态就是开。这是最简单的做法,前提是没有别人(比如手动按开关)去改变设备状态。
配合传感器:如果你非要实时监测,可以在每路输出后面串一个电流检测传感器或状态回传模块,用芯步的传感器类产品去采集,然后推给你的服务器。
我个人,如果只是普通照明控制场景,方案1足够了,没必要为了“监测”增加硬件成本。
五、完整流程串起来
整个对接流程说白了就三步:
配网:把控制器连上WiFi,拿到device ID
调接口:按签名规则拼URL,用POST发JSON命令,控制4路开关
收推送:配置接收地址,等平台把执行结果推回来
如果你想自己做一个简单的控制页面,用任何能发HTTP请求的语言都行——Python、Java、Node.js、PHP,甚至微信小程序都可以。接口是统一的,不挑语言。
六、几个坑提醒一下
签名计算:最容易出错的地方。注意
ts是秒级时间戳,不是毫秒。两次MD5的顺序不要搞反。200不等于成功:返回200只代表平台收到了指令,不代表设备真的执行了。设备离线、线路故障,你都得通过异步推送才知道。
WiFi频段:只支持2.4G,5G不行。这个很多人在配网阶段卡住。
批量控制:如果你想同时控制多个设备,
device字段可以用逗号隔开多个ID,但最多100个,而且这些设备必须支持相同的命令。
七、举个实际应用的例子
假设你管理一个展厅,有4个区域的灯光。你想在下午6点自动把4路全打开:
你写个定时任务,到18:00触发
计算签名,拼好URL
发POST:
{"device":"820720","order":{"power1":1,"power2":1,"power3":1,"power4":1}}平台返回200
过一会儿,平台推送消息给你:命令执行成功,4路全开
你更新数据库里的状态字段,在监控大屏上显示“4路全开”
搞定。
芯步这套接口确实挺友好的,结构清晰,文档也全。如果对接过程中遇到具体问题,可以直接看他们官方的接口文档或者联系技术支持。希望这份方案对你有帮助!