CATALOG

商场设备数量多、分布散,靠人工巡检开关电源,不仅效率低,还容易忘关造成浪费。芯步的10A智能插座提供HTTP接口,可以用代码直接控制,轻松接入你自己的管理系统。下面这份方案会一步步带你搞定对接,从签名计算到代码实现都有。

商场设备电源控制:把“智能插座10A”接入你的项目

写给谁看的:如果你是商场的IT负责人,或者正在开发智慧楼宇系统的工程师,想把物理世界的“电”拉进你的代码里控制,这篇文章就是为你准备的。我们不谈虚的,直接上手怎么干。

第一步:先认识一下这个“小家伙”

在动手写代码之前,咱们得先了解一下这个硬件。芯步的 智能插座10A ,你可以把它理解成一个中间人。

  • 长啥样: 就是一个小巧的、带WiFi功能的插座。把它插到商场现有的墙插上,然后你想控制的设备(比如灯、招牌、显示屏、甚至饮水机)再插到它身上

  • 怎么连: 它走的是 WiFi 2.4G 频段。这意味着你商场里只要有WiFi信号覆盖的地方,它就能工作。不需要额外买网关,这点很省钱也很省事

  • 核心灵魂: 它开放HTTP接口。不管你的后端是用Python、Java、Go还是PHP,只要你的系统能发HTTP请求,就能指挥它“开”或者“关”。这就为接入咱们自己的项目打开了大门。

第二步:我们的“作战目标”

假设我们接手了一个商场项目,需求很简单:

每天晚上22:00商场关门后,自动关闭所有公共区域的灯牌和广告机;早上10:00自动开启。同时,运营经理能在后台手动开关某个店铺的电源。

为了实现这个,我们需要干三件事:

  1. 让我们的服务器和这个插座能“对话”。

  2. 写代码实现“开”和“关”的指令。

  3. 把控制逻辑集成到我们现有的管理后台里。

第三步:拿到“钥匙”——准备接口调用

芯步的接口设计得很直白,说白了就是往一个特定的网址发一条指令。但这个指令需要带“签名”,防止别人乱动你的设备。

我们需要准备以下参数:

参数解释
AppID你在芯步后台创建应用后,系统给你的“账号名”
AppSecret你的“密码”,打死不能泄露在前端代码里
Device ID每一个插座的身份证号,你要控制哪个插座,就传哪个ID
ts当前的时间戳,用来防止别人拿着截获的请求重复攻击

签名是怎么计算的(这是唯一的难点):官方给的逻辑是:sign = md5( md5(AppSecret) + ts )大白话翻译一下:

  1. 先把你的密码(AppSecret)进行一次MD5加密。

  2. 把上面得到的结果,后面拼接上当前的时间戳(比如 1699324800)。

  3. 把拼接好的这一长串字符,再算一次MD5。最后得到的字符串就是 sign

第四步:代码实战(直接Copy可用)

这里我用Python写一个例子,因为它在后端脚本里很常见。如果是Java或Go语言,逻辑是一模一样的。

Python 代码示例:

如果你不用Python,用最原始的 curl 命令也是可以的(方便调试):

第五步:进阶玩法(更适合商场场景)

光有基本的开关还不够,商场管理得有点高级功能。

第一种场景:定时任务你的项目后端完全可以写一个定时脚本(比如用 Linux 的 Crontab,或者 APScheduler)。

  • 0 22 * * * -> 调用 control_power(0) (晚上10点关)

  • 0 10 * * * -> 调用 control_power(1) (早上10点开)

第二种场景:通断循环有些商场要测试灯具老化,或者搞活动灯光秀,需要频繁开关。这个插座支持 point(先通后断)和 reset(先断后通)命令比如你想让它通电 3 秒后自动断电,可以传:

这个3000单位是毫秒,非常适合做自动化测试或临时提醒。

第三种场景:私有化部署(局域网极速控制)大多数商场考虑到网络稳定性,不想把关键设备走外网云控制。这个插座支持私有化部署,意味着它能连上你商场内部的局域网服务器,完全脱离外网。控制指令的延迟极低,大概在 80-120 毫秒,而且断网了也不怕

总结

把芯步的10A智能插座接入项目,本质上就是 “调用HTTP API”

三分钟回顾:

  1. 去官网拿 AppIDAppSecret

  2. 记得签名算法是 MD5(MD5(Secret) + 时间戳)

  3. https://api.xxx/control/ 发 POST 请求,Body里带上 deviceorder

把这段代码整合进你的商场中控系统,运营人员以后在电脑上点一下鼠标,整个商场的灯光控制就搞定了。这样既省了人工,又避免了电力浪费。