这是一个关于芯步开放平台在共享茶室场景下的技术对接方案。我尽量写得大白话一点,让即使不是资深程序员也能看懂逻辑,但接口部分保留了专业细节供开发人员参考。
——基于芯步开放接口的触摸按键改造
一、 痛点与需求
很多共享茶室老板头疼一个问题:明明做了无人值守,但顾客进去后不知道怎么开灯,或者出来上厕所门锁死了进不去。
传统方案往往依赖手机APP控制,但很多茶客(尤其是长辈)觉得麻烦:“我就是来喝个茶,还得下载APP?”
所以,这次的核心需求是:保留“智能”的管理(远程控制、自动断电),保留“传统”的操作(用手按开关)。 我们要实现的是:顾客扫码开门后,不需要掏手机,直接按下墙上的智能触摸开关,灯就亮了;按一下门边的出门按钮,门就开了。
二、 整体架构
这套方案采用“本地联动+云端同步”的混合模式。大家可以把芯步想象成一个翻译官,把我们的指令翻译给设备听。
graph TD
User[顾客触摸按键] --> Device[智能面板/门磁开关]
Device -- 状态变化事件 --> YoYo[芯步云平台]
YoYo -- 查询/确认 --> Backend[商家自己的业务服务器]
Backend -- 下发指令/校验订单 --> YoYo
YoYo -- 执行命令(Power On) --> Light[灯光继电器]
YoYo -- 执行命令(Unlock) --> Lock[门锁控制器]核心思路: 触摸按键按下 -> 设备状态上报云端 -> 云端回调你的服务器(校验订单是否有效)-> 你的服务器下发指令 -> 执行开灯/开门。
三、 硬件选型
在这个方案里,我们主要用到芯步以下几类硬件:
智能触摸墙壁开关:替换传统86型开关。它既要能手动触摸控制,又要能接收云端指令。芯步的智能开关支持“本地与远程双控”,正好符合。
门磁/出门按钮:配合智能门锁。在室内装一个无线自发电开关(不用电池,按一下发电),顾客按一下,触发开门指令。
物联网网关/自带WiFi模块:芯步的多数设备支持直连WiFi(2.4G),也可以走网关。茶室信号干扰多,在每个包间部署一个网关,保证稳定性。
四、 核心对接流程
这是开发同学关注的重点。我们分三个场景来讲。
第一种场景:触摸按键开灯/关灯
这个逻辑最标准。顾客按下墙上的开关面板,物理按键触发继电器吸合,灯亮了。同时,设备会把“我现在的状态是‘开’”上报到芯步云。
接口调用细节当你在后台看到顾客报修说“灯不亮”,其实可能是设备离线了。开发者需要监听设备的上报事件。
设备上报事件(芯步云推送给你的服务器):
注意:芯步提供了异步消息推送机制,设备状态的变更是实时推送给你们的,不需要一直轮询 。
你的服务器做校验:收到“开灯”事件后,你的服务器先别急着傻乎乎的只开灯。可以加一层商业逻辑
查订单:查一下这个包间当前时间段有没有有效订单?如果三更半夜没人预定,灯却亮了,可能是误触或者设备故障,你可以选择忽略,或者通知保洁。
如果是关灯:判断订单是否已结束。如果顾客提前跑路忘了关灯,你的服务器可以强制补发一条关灯指令,帮老板省电。
下发指令(如果需要强制控制):如果后台想强制关灯(比如顾客超时未续费),调用这个接口:Endpoint:
/device/control/Method: POST参数(示例):关于签名:
sign的生成规则是md5(md5(AppSecret) + ts),这一步容易踩坑,直接用芯步官方SDK 。
第二种场景:室内触摸按键开门
共享茶室比较尴尬的一点是:门锁通常是通电开锁或断电开锁。顾客在里面,有时候把门反锁了出不来,或者把手拧坏了。这时候加一个“出门按钮”体验会好很多。
硬件配置出门按钮本质上也是一个无线开关(传感器)。配置流程如下:
出门按钮按一下 -> 触发“开门”事件。
芯步收到事件。
关键点:你需要在后台做逻辑判断:这个房间是不是“使用中”?如果是,才允许开门;如果是“空闲”,可能门本来就开着,不需要发送开锁指令。
关于设备ID的说明在芯步控制台,每个设备都有一个唯一的ID(印在外壳上)