CATALOG

芯步的开放接口基于HTTP协议,与25A远程开关控制器(通常走MQTT协议)存在协议差异。以下方案的核心思路是:开发一个轻量级协议转换服务,让HTTP与MQTT能够“对话”,从而将大功率控制器无缝接入芯步生态。

解决方案:药店冷藏柜电源控制中25A远程开关控制器的软件接入方案

1. 背景与挑战

在药店冷链管理中,冷藏柜的温度稳定性至关重要。芯步提供强大的物联网平台和传感器生态,但其标准的开放接口主要基于 HTTP/HTTPS 协议 进行指令下发 。而市面上应用于工业级的25A大功率远程开关控制器(如智鸟科技GSCW1M系列)通常使用 MQTT协议 或 TCP 透传作为核心通信协议,以保障其在网络不稳定时的连接可靠性

这就形成了一个协议鸿沟:芯步的控制台下发“关闭”指令(HTTP),无法直接让控制器(MQTT)执行。本文旨在通过中间件架构解决这一问题。

2. 设计

我们不修改硬件,而是采用 “云云对接”“边缘网关转换” 模式。

  • 设备层:药店冷藏柜接入 25A 4G/WiFi 智能控制器(负责执行通断)。

  • 数据层:芯步传感器(温湿度等)实时上报环境数据。

  • 中枢层协议转换服务(Python/Java/Node.js 编写的后端服务,或边缘计算网关)。

  • 业务层:芯步平台以及(SaaS/微信小程序)。

3. 详细实施步骤

第一步:硬件端准备——配置25A控制器

首先需要让控制器具备上网与连接能力。

  1. 参数配置:使用控制器的配置工具(通常是AT指令集或Web配置页),设置以下关键参数

    • 通信协议:设置为 MQTT(推荐)或 TCP。

    • 服务器地址:指向你搭建的协议转换服务所连接的公共 Broker(如 Emqx/Mosquitto),或者如果是边缘部署,指向网关IP。

    • 认证信息:设置 ClientID、Username、Password,用于后续识别具体是哪一台冷藏柜。

  2. 接线:将控制器串联在冷藏柜的电源线上(需由电工操作),确保其支持25A大电流负载。

第二步:中间件开发——协议转换服务

这是软件集成的核心。你需要搭建一个服务端程序,充当“翻译官”。

  • 功能模块A:接收芯步指令

    • 芯步的开放接口规定,控制设备需调用 https://api.thingboot.com/{AppId}/device/control/

    • 虽然芯步的接口原生可能指向自家设备,但我们可以利用其“设备联动”或“API 推送”功能。

    • 实现的方式是:在你的服务器上暴露一个公网 API(例如 http://your-server/api/switch),在芯步的控制台中设置自动化规则:当温度过高,回调此 URL

    • 解析逻辑:服务端接收到芯步发来的 JSON(如 {"device":"temp_sensor_01","order":{"power":0}} ),解析出“需要关闭”的指令。

  • 功能模块B:下发指令给控制器

    • MQTT 下发:服务端作为 MQTT Client,连接到控制器所在的 Broker。一旦解析到芯步的指令,立即向控制器订阅的 Topic(例如 /device/{id}/command)发布消息。

    • 指令格式:根据控制器文档,Payload 通常为 JSON 格式。例如智鸟科技的控制器标准指令:{"key":0} (断电) 或 {"key":1} (通电)

    • 状态回读:控制器通电/断电后,会反馈当前状态和电流数据。服务端接收到后,可以主动调用芯步的 “设备状态上报”接口,将控制器的状态同步到芯步的设备影子中,实现界面显示同步。

第三步:业务逻辑闭环——温控联动策略

为了实现“冷藏柜温度过高自动断电保护”或“温度达标自动启动”,在协议转换服务中编写业务规则或利用芯步的规则引擎:

  • 场景A(保护模式):芯步的温湿度传感器检测到温度异常升高(如>8℃),触发报警。

    • 芯步云 -> 规则引擎 -> HTTP回调 -> 你的转换服务 -> MQTT -> 25A控制器断电

  • 场景B(电流监测):25A控制器通常带计量功能。

    • 控制器定时上报电流数据(MQTT) -> 你的转换服务 -> 格式转换为芯步格式 -> HTTP POST -> 在芯步仪表盘上展示实时功率。

4. 核心代码逻辑示例

方案以 Node.js 为例,展示协议转换的核心伪代码逻辑。

5. 系统部署与运维

  1. 私有化部署:考虑到药监局对数据安全的要求,芯步支持私有化部署 。你的协议转换服务应当部署在与芯步服务器内网互通或高可用公网环境下。

  2. 断网保护机制:25A控制器通常支持“断电记忆”功能 。应启用此功能,确保在服务器宕机或网络断开恢复后,控制器能恢复到断电前的正确状态,防止药品因网络故障而长时间失温。

  3. 日志追踪:在协议转换服务中必须记录详细的 “指令转换日志” 。一旦出现“软件显示关,实际没关”的情况,通过日志可以快速界定是芯步回调失败,还是MQTT指令丢失。

6. 方案总结

通过引入 “协议转换服务” 作为中间层,既利用了芯步强大的环境感知与可视化能力(温湿度监控、报警推送),又利用了25A控制器可靠的大电流通断与计量能力

这种解耦的架构使得你的软件项目不再受限于单一硬件协议,未来即使更换控制器品牌,只需修改中间件里的转换逻辑,前端和业务层(芯步)零改动。