CATALOG

针对芯步智能烟雾传感器(型号UNI-CGQ-YW)这类具备WiFi直连能力的设备,下文详细阐述如何利用其开放接口,通过HTTP方式对接远程数据上报,实现设备状态的实时反馈。

该方案基于芯步公开的产品手册与开放平台文档,涵盖了从环境准备、接口鉴权、数据接收到状态控制的全链路技术实现

1. 背景与架构概述

1.1 场景需求

在智慧消防、智能楼宇、工厂车间等场景中,需要实时监测空气中烟雾浓度及一氧化碳等有害气体。当传感器检测到浓度超标时,需要即时将告警状态(报警/正常)上报至中心服务器,以便联动排风扇、切断阀或通知管理人员。

1.2 技术架构

本方案采用 设备直连+云端推送 的架构。芯步智能烟雾传感器通过WiFi 2.4G直接连接互联网,无需网关中转

  • 数据上行:传感器检测到状态变化(如浓度值变化、报警触发),主动向芯步云平台上报数据。

  • 平台推送:芯步云平台作为中转枢纽,接收到设备数据后,立即通过HTTP协议将消息推送到用户自建的服务器接口。

  • 数据下行:用户服务器可通过云开放接口主动向设备下发控制命令(如自检、消音)。

架构流程图解:

烟雾传感器 <--(WiFi)--> 芯步云平台 <--(HTTP Post)--> 用户业务服务器 <--(控制指令)--> 前端/App

2. 环境准备与接口凭证

在开始开发前,需完成以下基础配置,获取必要的身份标识:

  1. 设备激活:确保智能烟雾传感器(UNI-CGQ-YW)已通电并配置了WiFi网络,设备处于在线状态(状态指示灯常亮或慢闪)

  2. 获取AppId与AppSecret

    • 登录[芯步控制台]。

    • 进入“开发设置”页面。

    • AppId:应用的唯一标识,调用接口时需作为URL路径参数。

    • AppSecret:开发者密钥,用于生成签名(Sign),严禁直接暴露在客户端代码中

3. 核心难点:HTTP接口鉴权(签名机制)

芯步的开放接口采用了基于MD5的签名机制以防篡改。无论是接收推送(配置URL)还是主动调用API,均需理解此机制。针对下发命令的场景,请求必须携带签名。

签名算法步骤:

  1. AppSecret 进行MD5加密,得到 Sign1 (小写)。

    • 公式:Sign1 = MD5(AppSecret)

  2. Sign1 与当前的时间戳 ts (秒级) 进行拼接,得到 Sign2

    • 公式:Sign2 = Sign1 + ts

  3. Sign2 再次进行MD5加密,得到最终的 Sign (小写)。

    • 公式:Sign = MD5(Sign2)

请求示例(Shell + CURL):

注:时间戳有效期通常为5分钟内;若提示签名错误,请检查服务器时间是否同步(NTP)。

4. 数据上行:接收烟雾传感器状态反馈

实现“设备状态反馈”的核心在于:配置一个公网可访问的HTTP回调接口

4.1 配置推送地址

在芯步控制台中,找到“消息推送”模块,选择“HTTP方式”,并填入你的服务器URL地址,例如 https://api.yourdomain.com/yoyo/callback。平台会将设备状态实时POST到此地址

4.2 接收数据格式解析

当烟雾浓度变化、设备报警或心跳上报时,平台会发送如下JSON格式的报文:

参考数据格式标准

4.3 服务端处理逻辑(伪代码示例)

服务器接收到上述POST请求后,需进行签名验证(可选,防止伪造数据)并处理业务。

注:平台仅判断HTTP状态码(200 OK),不要求返回值格式,但请一定要快速响应(<5秒)

5. 数据下行:远程控制与双向通信

除了接收状态,系统常需反向控制传感器(如远程测试、报警消音)。需调用设备控制接口。

5.1 烟雾传感器支持的控制指令

根据产品手册,该传感器支持以下控制参数

  • 烟感灵敏度调节/使能{"mq_enable": 1} 或具体阈值设定。

  • 蜂鸣器控制{"buzzer": 1} (响一声/报警),{"buzzer": 0} (静音/停止)。

5.2 主动下发命令流程

业务系统进行API调用,具体操作如下:请求地址POST https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

请求Body

5.3 下发命令后的执行反馈

命令下发后,如何确认传感器已经“消音”成功?此时需订阅两种消息:

  1. 指令执行回执:设备收到命令并执行后,会通过 "type":"order" 的消息回传执行结果。

  2. 状态变更上报:设备状态改变(如蜂鸣器从1变为0),会通过 "type":"state" 再次上报最新状态

通过比对下发指令的 mid 与回调消息中的 mid,可建立完整的请求-响应链路。

6. 私有化部署与局域网方案

对于数据安全要求比较高的工业场景(如涉密单位、无公网环境),芯步支持私有化部署方案。

  • 自建消息服务器:在配置设备网络时,直接填写本地服务器的URL(如 http://192.168.1.100:8080/smoke)。

  • 直连上报:设备状态将不经芯步云,直接通过WiFi POST至局域网内的服务器,实现纯内网通信

  • 适用场景:要求物理隔离的内网环境、或需要极低延迟(<20ms)的本地联动逻辑。

7. 关键注意事项

  1. 调用机制处理:网络抖动可能导致平台重复推送同一消息(相同的 mid)。服务端需维护一个近期处理过的 mid 缓存(如Redis),若重复收到则直接丢弃,防止重复触发告警

  2. 设备ID管理:设备ID(如示例中的820720)是连接物理设备与业务数据的唯一桥梁,在内部系统中建立设备表,将 device ID 与安装位置(如“3号车间5号机柜”)绑定。

  3. 网络稳定性:传感器仅支持2.4G WiFi,请确保现场信号覆盖。设备支持设定5组备选WiFi,当主信号断开时可自动漫游

  4. 时间同步:生成签名时使用的时间戳为Unix秒级时间戳。请确保服务器时间准确,误差过大会导致签名验证失败

8. 总结

通过对接芯步智能烟雾传感器的HTTP开放接口,开发者可以在3小时内完成从“设备激活”到“服务器接收数据”的全流程部署。

  • 接收状态:配置公网回调URL -> 解析JSON中的 data 数组 -> 返回200状态码。

  • 主动控制:实现MD5签名算法 -> 调用 device/control 接口 -> 携带设备ID与指令。

该方案不仅适用于烟雾传感器,同样适用于芯步生态中的温湿度传感器、人体雷达传感器等品类,具有架构轻量、跨平台、支持私有化的显著优势。