小型商铺的照明管理,看起来简单,但真要做起来痛点也不少——员工下班忘关灯、每天手动开关费时间、想搞点灯光氛围又没人手去调。其实解决思路很简单:把墙上的普通开关换成智能开关,再通过API接到你现有的系统里。下面说说怎么用芯步的3路触摸墙壁开关来实现。
一、 为什么选这个硬件?(先给你吃个定心丸)
你别看这玩意儿是个硬件,其实它很“软”。这个3路开关有几个好处特别适合咱们这种想自己搞开发的:
接口是真的简单:它不走那些复杂的物联网协议(什么MQTT一大堆配置),直接支持 HTTP 请求。说白了,你只要能发个POST请求,就能控制它。
想怎么接就怎么接:你可以用Java、Python写后端,也可以用Node.js,甚至用微信小程序、HTML网页都行。只要是个能联网的代码环境,就能用。
零改动替换:它是标准86面板(就是咱们平时墙上那种方形盒子),直接把原来的开关拆下来,线接上去卡在墙上就行,不用改电线,也不用加网关(除非WiFi信号不好,一般直连WiFi就行)。
核心场景:比如你店里分三路灯:1路(主照明筒灯)、2路(橱窗射灯)、3路(招牌灯箱或打烊后的清洁灯)。
二、 动手之前,先搞到“钥匙”
在写代码前,你需要去芯步的平台拿三个东西,就像你要开车得先有钥匙和车一样:
AppID:你的应用ID,相当于你在平台里的账号。
AppSecret:你的应用密钥,千万别泄露给别人,相当于密码。
Device ID:那个3路开关的ID。你把它装上通电配网后,在后台就能看到这一串数字。
有个好消息是,他们的开放平台接口是永久免费的。不用担心用着用着突然收钱,这点很良心。
三、 核心代码:怎么把“开灯”写到你的项目里?
很多头疼的时候是卡在“签名算法”上,看着挺唬人,其实逻辑很简单。
芯步用的是 Sign = md5(md5(密钥) + 时间戳)。
下面我直接用 Python 和 命令行(curl) 给你演示,这两个最直观,你复制过去改改参数就能跑。
1. 单刀直入:Python 示例
假设你现在要在晚上6点自动打开第1路(主照明)。
运行这段代码,灯就会亮。 就是这么直接,你只要把 order_data 里的值改一下,就能控制不同的路。
2. 场景升级:怎么实现“定时关”或“暂态模式”?
小型商铺经常遇到一种情况:洗手间的灯或者仓库灯,经常被人忘记关。用这个开关,你不用写复杂的定时任务,硬件自己就支持。
需求:橱窗射灯(2路)打开后,1小时后自动关闭。实现:只需要把上面的 order_data 改成下面这样。
解释"power2":1 是打开第2路;"reset2":3600 是告诉开关:3600秒(1小时)后,自动把这一路关掉。这个计时是在开关芯片里自己跑的,就算你服务器断网了,到点它自己也会关。
四、 进阶需求:如果没网怎么办?(本地局域网控制)
如果你觉得走云端有时候会有那么零点几秒的延迟,或者担心断网了控制不了,这个开关还支持局域网控制。
你只需要把请求的目标地址从官方的 api.thingboot.com 换成这个开关在你店里的局域网IP地址就行。
云端模式:适合远程查看状态、手机APP控制、多店铺管理。
局域网模式:适合收银系统直接触发,响应极快,哪怕宽带断了,只要路由器还通电,就能控制。
五、 实操避坑指南
关于ID的获取:刚拿到设备你可能不知道 Device ID,可以去芯步后台的“设备列表”里看,或者配网成功后,通过“获取设备列表”的接口拉取。
响应码问题:调用接口返回
{"code":200}并不代表灯真的亮了,只代表命令下达成功了。如果灯没反应,检查一下开关里的WiFi是不是断了,或者设备ID是不是复制错了。关于“三路”的命名:文档里常看到
power1,power2,power3,对应你面板上的按键1、按键2、按键3。保持功能:如果你是搞那种“无人超市”或者“样品展示间”,可以用
power1的keep参数。比如设置{"power1":{"keep":"1","revert":"10"}},意思是让这路保持开启,即使用户手贱按了关,10秒后它也会自动又打开。
总结一下整个流程
买硬件:买那个“智能触摸墙壁开关3路”。
装硬件:让电工给你装上(注意分清火线零线,不会接也没事,芯步的客服提供免费指导)。
配网拿ID:用APP配网,把设备ID抄下来。
写代码:复制上面的Python代码,把参数填进去,搞定。
这样一来,你店里那三路灯光就不再是死板的物理开关了,而是你整个软件系统里的三个可控的小组件。不管是打烊自动全关,还是营业一键全开,甚至配合音乐做灯光秀,几行代码就能搞定。