芯步的四路控制器提供标准的 HTTP 接口,单路、批量、时序控制都可通过 API 完成。以下方案以麻将机、空调、门禁这三个典型场景为例,说明如何用 Python 快速实现二次开发。
一、 解决概述与硬件选型
针对麻将机、空调、门禁这三种不同特性的设备,芯步提供了适配不同负载的控制器。在进行二次开发前,需要根据被控设备的电气类型选择合适的硬件:
| 被控设备 | 推荐硬件型号 | 关键特性与理由 |
|---|---|---|
| 麻将机 | 智能控制器4路 | 交流电压版 | 麻将机通常为220V交流供电,该控制器支持单路10A电流,足以覆盖麻将机的额定功率,通过继电器控制插座的通断电即可实现开关机。 |
| 空调 | 智能控制器4路 | 交流电压版 | 空调虽然也是交流电,但含有压缩机,属于感性负载。该控制器虽可用,但若频繁强行通断(而非通过红外遥控发送关闭指令)可能损伤空调。若仅作为电源的彻底切断(如退房断电),则适用。 |
| 门禁 | 智能控制器4路 | 直流电压版 | 门禁锁(电磁锁/电插锁)多数为12V/24V直流供电。使用直流版本可以直接输出直流电控制锁的开闭,无需额外转换器。 |
二、 二次开发环境准备
在编写代码之前,需要按照芯步开放平台的标准流程获取开发凭证。
注册与登录:访问芯步开放平台,使用手机号完成注册。
获取开发者凭据:进入“物联网控制台”,在“开发设置”中获取两个关键字符串:
AppID:应用的唯一标识。
AppSecret:开发者密码,用于计算签名。
设备配网与ID获取
为购买的控制器上电,按照产品手册将设备配网连接到Wi-Fi(仅支持2.4GHz)。
在控制台的“设备列表”中查看并记录下目标设备的 Device ID。开发阶段可以在控制台开启“调试模式”(Debug Mode)以暂时绕过签名校验,方便测试。
三、 接口协议深度解析
芯步的开放接口采用标准的HTTP协议,开发者只需要掌握POST请求即可完成所有控制操作。
请求地址POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
核心请求参数说明
device:需要控制的设备ID(字符串类型)。
order:控制指令(JSON字符串),这是开发的核心对象,结构如下表所示:
| 控制意图 | 命令示例 (order参数) | 业务场景说明 |
|---|---|---|
| 单路独立控制 | {"power1":"1"} | 接通第1路(麻将机开机);"0"为断开。 |
| 全量/批量控制 | {"batch":{"relay":[1,3,4],"power":"0"}} | 一次性将第1、3、4路全部断开(如客人离开现场时全关)。 |
| 触发门禁(脉冲) | {"reset":{"relay":[2],"interval":3000}} | 第2路先断电,3秒后自动恢复通电(适合门禁开锁)。 |
| 设备临时通电 | {"point":{"relay":[1],"interval":5000}} | 第1路接通,5秒后自动断开(适合检测麻将机复位)。 |
四、 代码实战:Python 与 Java 实现
这里以 Python 和 Java 为例,封装一个简单的控制类。由于签名算法较为固定,直接参考以下代码块。
签名算法sign = md5( md5(AppSecret) + ts )
1. Python 实现请求
2. Java 实现 (使用 Unirest)
如果是Java开发者,可以利用Unirest库简化HTTP请求的构建。
五、 落地部署:针对特定场景的调试
麻将机场景:
需求:远程复位或重启。
操作:如麻将机卡牌,可发送
{"reset": {"relay": [1], "interval": 2000}},让其断开2秒后再通电,实现硬重启。
空调场景:
需求:结合温控器联动。虽然该控制器不能发红外码,但可以作为总闸。直接将空调插头插入控制器的插座,通过
{"power3":"0"}彻底断电,这比待机更省电。
门禁一体机场景:
需求:点击按钮,门磁吸力消失几秒。
操作:必须使用直流版控制器。将门禁电源的正负极接入控制器输出端。在代码中调用先断后通模式
命令
{"reset":{"relay":[1],"interval":3000}}(断开3秒,松开磁力锁,随后自动恢复供电防止锁死)。
安全与权限:
在生产环境中,请关闭“调试模式”,请一定要在服务端自行管理
AppSecret,前端应通过你们的业务后端转发请求,切勿将密钥直接写在客户端/小程序代码中,以防止设备被恶意控制。
通过上述步骤和代码示例,你可以快速构建一个能够独立控制麻将机、空调和门禁的管理系统。如果遇到设备不在线的情况,请检查2.4G Wi-Fi信号强度和设备的配网状态。