8路灯光控制器的核心价值在于“分路独立控制”——你可以将灯光、风扇、广告牌等不同设备分别接入不同回路,通过HTTP接口实现远程单独控制。以下方案基于芯步产品的开放接口,说明对接流程、接口调用方法和典型场景设计。
1. 产品概述与选型
芯步提供的8路智能控制器适用于分路控制照明和电器设备。
推荐型号:智能控制器8路(交流电压版 / 直流电压版)。
核心能力
8路独立输出:每一路均可独立控制通断,互不干扰。
高负载能力:单路支持10A-16A电流输出,可接照明、排风扇、电机等设备。
通信方式:支持WiFi 2.4G直连,无需额外网关。
开放协议:提供标准HTTP API接口,支持任意编程语言(PHP, Python, Go, Java等)及平台(Web, App, SaaS)对接。
2. 接口对接原理
芯步采用HTTP协议进行通信。第三方系统通过向云端API发送POST请求,携带签名认证和设备指令,云端在80-120ms内将指令推送至设备,实现远程控制。
2.1 请求地址与鉴权
URL:
http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}参数说明
AppId: 在芯步控制台获取,用于识别应用。ts: 当前Unix时间戳(秒),防止重放攻击。sign: 签名,用于验证身份。
签名算法:
sign = md5( md5(开发者密码) + “.” + ts )。请求方式:
POSTContent-Type:
application/json
注:芯步支持私有化部署,若部署在局域网,可将IP替换为服务器内网IP,实现纯局域网控制。
3. 分路控制指令详解
针对8路控制器,核心参数在请求体(Body)的 order 对象中。
3.1 控制单路/多路
假设设备ID为 123456,需要开启第1、3路,关闭第2路,保持其他路不变。
请求体示例
citation:
3.2 查询状态
通过查询接口获取当前各路开关状态,用于界面同步显示。
3.3 全开全关
为了方便场景控制,也可对所有路进行操作,但灵活性主要体现在独立控制上。
4. 代码实现示例
以下是基于不同语言的对接逻辑示例,展示了如何构造签名并发起请求。
4.1 PHP 示例
利用curl库发送指令,其中AppId和开发者密码需替换为实际值。
4.2 Python 示例
利用requests库,逻辑与PHP一致,适用于后端服务集成。
4.3 cURL 命令测试
适用于快速调试。
citation:
5. 场景应用方案
通过接口组合,可以轻松实现多种商业场景的智能化改造。
5.1 共享自习室/办公室工位管理
需求:用户扫码付费使用台灯、插座。
实现:后端收到支付回调后,调用接口控制对应座位的
powerX(X代表座位编号)开启电源。用户离开或时间到后,设置该路为0。
5.2 展厅/店铺分时照明
需求:晚上10点后关闭所有外立面灯光,保留内部走道灯。
实现:系统定时任务(Cron Job)在22:00调用接口:
{“power1”:0, “power2”:0, “power3”:1}(假设1、2路为外墙灯,3路为走道灯)。
5.3 传感器联动(闭环控制)
需求:有人经过时自动开灯,人走后关灯。
实现
部署芯步人体存在传感器。
传感器检测到人,推送消息到服务器。
服务器回调接收事件,调用8路控制器接口,开启指定的照明回路(如
power1)。传感器检测到无人持续N秒后,服务器下发关闭指令。
6. 注意事项
网络稳定性**确保设备WiFi信号强度(RSSI)良好。设备支持配置5组WiFi,会自动切换最优信号。
响应的实时性指令下发到执行通常在100ms左右。若有更高实时性要求,可将服务器部署在与设备同一局域网内(私有化模式),减少公网延迟。
设备ID管理在对接初期,先在物联网控制台绑定设备,并记录好8路控制器对应的业务含义(如power1代表“前台射灯”),存入数据库配置表中。
安全签名密钥(Secret)切勿写在前端代码中,必须由后端服务保管并下发指令。