CATALOG

芯步的设备查询有两种方式,一种主动拉取、一种被动接收。这篇文章会把两种方式都讲清楚,附带实际调用示例和集成,希望能帮到你。

一、 搞清楚我们要查什么

首先,咱们得明确一下目标。所谓的“回路状态查询”,简单说就是我想知道那盏灯、那台电机或者那个控制柜,现在是通电(打开)还是断电(关闭)的。

在芯步的接口逻辑里,这个状态叫 power(或者是 power1power2,针对多路设备)。我们要做的事情,就是通过HTTP请求拿到这个值。

那么,实现查询主要分两条路:

  1. 主动查(轮询):你的服务器主动去问芯步云:“嘿,帮我看看设备ID为123的那个家伙,现在是开是关?”

  2. 被动收(推送):设备那边的按钮被人按了,或者设备通电重启了,它主动跟云端汇报,云端再把消息推到你家门口(你的服务器)。

别急,我们一个一个来看具体的实现。

二、 方案一:主动查询(拉取模式)

这个模式最适合用在控制面板里。比如,用户打开你的后台管理页面,你需要立马显示“灯是亮的”,那就用这个。

1. 准备什么?

首先,你得注册芯步账号,拿到你的专属凭证:

  • AppID:你的应用ID。

  • Sign/Secret:用于加密签名的密钥(为了安全)。

  • Device_ID:你要查的那台通断器的ID,一般在控制台或者配网成功后就能看到

2. 核心API接口

芯步提供了一个叫 “获取设备详情” 的接口。这就像查户口一样,能把设备现在的所有底细都摸清楚

  • 请求地址http(s)://api.thingboot.com/{你的AppID}/device/info/

  • 方法:GET 或 POST

  • 参数:只需要带上 device=设备ID 就行了。

3. 实际代码怎么撸?

假设你的设备ID是 10086。实现查询的伪代码大概是这样的(这里用通用的HTTP请求演示,你们后端用什么语言都能转过去):

第一步:构造请求你要发一个GET请求到下面的地址,记得带上签名(Sign)和时间戳(Ts)以防万一。

第二步:解析返回

芯步云返回的数据是这样的(我根据文档整理了一下)

第三步:判断逻辑

你的程序只需要判断 data.state.power1"1" 还是 "0"

  • 如果是 1:在前端显示绿色的“开启”状态。

  • 如果是 0:显示灰色的“关闭”状态。

这里有一个或者叫细节提醒一下:如果设备掉线了(online.status 为 0),你查到的 state 可能是不准确的(因为设备连不上网,云端的记录可能是旧数据)。所以,前端显示时,先看 online 状态,如果离线就提示“设备离线/状态未知”,这样比较严谨

三、 方案二:被动接收(推送模式)

主动查询比较费接口请求次数,如果“回路状态”是由人为操作(比如按了设备上的按钮)引起的,推送模式会更实时、更省资源

1. 原理是什么?

你要在芯步控制台设置一个 “消息推送URL”(也就是你的后端接口地址)。只要设备状态一变(不管是按钮按的还是手机控制的),芯步的云端就会像快递员一样,把这个变化“丢”到你的这个地址上

2. 你需要做什么?

你需要写一个接收数据的接口。这个接口不需要返回什么复杂的数据结构,只要给云端回一个 HTTP 200 OK 就算签收成功了。

3. 收到的数据长什么样?

当用户在通断器上按了一下(断电),你的服务器会收到类似这样的POST数据

怎么用?你的代码解析到这个JSON后,直接更新你自家数据库里的 device_10086 的状态为 0。这样,下次用户刷新网页,你直接从自己数据库读,瞬间就展示出“关闭”状态了。

四、 实际开发中的注意事项(一点实战经验)

  1. 关于设备ID的维护别把设备ID硬编码写在代码里。设备安装时,通常你需要调用接口把设备ID和你的业务场景(比如“会议室A”)绑定存在数据库里。

  2. 配网是关键如果不配网,一切都是白搭。芯步的设备配网有点意思,支持“小程序热点配网”。在给客户实施时,先把现场的2.4G WiFi名称密码准备好(注意,5G WiFi不行),用小程序或者控制台配好网,确保设备指示灯不闪了,显示在列表里了,再开始调接口

  3. 局域网与公有云如果你对网络延迟极其敏感(比如工业控制),芯步这

通断器产品方案:
共享自习室灯光电源控制:如何将AC3-10A 计量版智能通断器接入到项目中
查看 >>
如何二次开发10A 智能开关来实现过压欠压保护控制
查看 >>
如何在药店冷藏柜电源控制中对接智能设备来实现实时能耗计量控制
查看 >>
如何在自助售货机电源管理中对接智能硬件以实现10A 额定电流控制
查看 >>
智能办公直流电路控制:怎么把DC-10A 智能通断器对接到软件项目中
查看 >>
回路场景方案:
咖啡厅咖啡机回路保护:如何把智能大功率断路器[计量版]|50A对接到软件项目中
查看 >>
如何在机房设备控制中接入智能设备来实现设备回路状态查询
查看 >>
办公室插座回路保护:怎么将带计量智能断路器50A对接到自己的项目中
查看 >>
产线设备两路回路管理:如何把智能2路交流回路控制器对接到自己的项目中
查看 >>
商业厨房电器回路保护:怎么将50A计量版空开接入到软件项目中
查看 >>
设备用途方案:
怎么对接智能 60W 云控制语音音柱来实现设备故障语音告警
查看 >>
怎么接入15W 语音播报壁挂音箱来实现设备状态语音反馈
查看 >>
怎么在景观亮化照明控制中对接智能设备以实现设备分组控制
查看 >>
怎样在仓储照明控制中对接智能设备来实现多设备联动控制
查看 >>
怎么对接8路智能照明控制器来实现多设备联动控制
查看 >>