CATALOG

一、背景与选型定位

在酒店智能化升级过程中,客房设备控制是实现节能降耗与提升入住体验的关键环节。常见的客房控制需求包括:照明控制(廊灯、床头灯、阅读灯)、排气扇控制、受控插座(电视、饮水机)等。

芯步的智能2路交流远程控制终端(以下简称“两路控制器”)是一款适用于酒店客房场景的硬件设备,提供2路独立的交流继电器输出,每路额定负载能力为交流10A,可直接控制220V用电设备(如灯光、排气扇、插座)。与传统RCU(客房智能控制器)相比,该方案采用分布式控制思路——每间客房可根据实际需求灵活配置设备数量,无需采购一体化RCU主机,适用于中端酒店、民宿改造、低成本智能化升级项目

本文核心目标:从技术接入角度,详细阐述如何将两路控制器通过HTTP接口集成到酒店管理软件项目中,实现远程控制与管理。

二、整体技术架构

2.1 系统拓扑结构

酒店客房控制系统的典型架构分为三层

  1. 设备层:每间客房部署若干台两路控制器,安装在吊顶、检修口或配电箱内,就近控制该客房的用电设备。

  2. 网络层:控制器通过Wi-Fi接入酒店局域网/客房专用SSID,设备上电后自动连接云端API。

  3. 应用层:酒店PMS系统、客房服务软件、微信小程序或App,通过调用芯步开放平台的HTTP接口,向指定客房设备下发控制指令。

2.2 为什么选择HTTP接口接入?

芯步的设备开放标准HTTP API,具有以下优势

  • 语言无关:任何支持HTTP请求的编程语言(Java、Python、Node.js、PHP、C#等)均可调用;

  • 部署灵活:既可通过公网云端API访问,也支持局域网/私有化部署(需设备与服务器在同一内网);

  • 实时控制:命令下发到设备执行的典型时延为80-120ms;

  • 支持批量操作:单次请求可控制最多100台设备。

三、接入准备工作

3.1 设备硬件安装要点

两路控制器采用标准导轨安装或螺丝固定,接线说明如下(以交流220V版本为例):

接线端子功能说明酒店典型接线
L / N交流220V电源输入(火线、零线)取自客房配电箱
COM1 / NO1第1路继电器公共端/常开端廊灯 或 受控插座
COM2 / NO2第2路继电器公共端/常开端排气扇 或 床头灯

⚠️ 注意事项:安装时需由持证电工操作,每路负载电流不得超过10A(约2200W);若控制大功率设备,需通过交流接触器扩展。

3.2 云平台准备工作(获取API凭证)

在芯步官网完成以下操作(全程约5分钟):

  1. 注册账号:访问 注册开发者账号。

  2. 创建工作台:登录后进入控制台,创建项目工作台(例如“XX酒店智慧客房”)。

  3. 添加设备:将两路控制器上电,通过“设备管理”模块扫码或手动输入设备序列号完成绑定。此时系统会为该设备分配唯一的device标识(如1878)。

  4. 获取密钥:进入“开发设置”页面,记录下AppIDAppSecret——这两个字段是后续API调用的身份凭证。

3.3 网络要求

  • 设备需连接互联网(或与服务器在同一内网);

  • 若采用公网API,需开放出站443端口(HTTPS);

  • 为酒店单独划分Wi-Fi SSID(如Hotel-IoT),配置独立的VLAN与防火墙策略。

四、核心接口详解:如何下发控制命令

4.1 接口请求方式

芯步提供的核心接口为/device/control/,支持HTTP POST方法。完整的请求URL格式如下

https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
路径参数说明示例
{AppID}应用ID(在控制台获取)10086
{ts}当前Unix时间戳(秒级)1700000000
{sign}请求签名(防篡改与身份验证)a1b2c3...

4.2 签名算法(重点步骤)

sign的计算方法是:md5( md5(AppSecret) + ts ),即先将AppSecret做一次MD5,将该结果与时间戳拼接,再对整个字符串做第二次MD5。

为什么要这样设计?

  • 每次请求根据实时时间戳生成签名,避免固定密码被截获后重放攻击;

  • 双重MD5增加破解难度,且服务器端会用同样的算法校验。

代码示例(通用逻辑,非语言特定)

1. AppSecret = "abc123xyz"  
2. md5_first = md5("abc123xyz") → "202cb962ac59075b964b07152d234b70"  
3. ts = "1700000000"  
4. combined = "202cb962ac59075b964b07152d234b70" + "1700000000"  
5. sign = md5(combined) = "d41d8cd98f00b204e9800998ecf8427e"

安全提示AppSecret请一定要保存在后端服务器环境变量或配置中心,严禁硬编码在前端代码或App中。

4.3 请求体结构

请求体采用JSON格式,主要包含两个字段

字段类型必填说明
devicestring设备的唯一ID(多个用英文逗号分隔)
orderobject/string控制命令(JSON对象)

控制两路设备的具体命令示例

操作目标order 取值说明
打开第1路{"power1":1}闭合继电器,接通电源
关闭第1路{"power1":0}断开继电器
打开第2路{"power2":1}
关闭第2路{"power2":0}
批量控制两路{"batch":{"relay":[1,2],"power":1}}同时打开两路
先通后断(点动){"point":{"relay":[1],"interval":3000}}接通3秒后自动断开,适合排气扇延时关闭
先断后通(复位){"reset":{"relay":[2],"interval":5000}}断开5秒后自动重新接通,适合某些设备复位

⚠️ 注意power1/power2命令格式针对两路控制器有效,若设备为4路或8路型号,应使用power1~power4power1~power8

4.4 完整请求示例(HTTP Raw)

4.5 响应处理与异常重试机制

正常响应

注意:code:200仅代表平台已成功接收命令并下发给设备,不代表设备已实际执行。若设备离线(如Wi-Fi断开),仍会返回200,但设备侧无动作。

常见错误码及处理策略

code含义处理
501未指定设备ID检查请求体中是否包含device字段
502设备不存在核对device值是否正确,检查是否已在控制台添加设备
503指定设备过多单次请求不要超过100台
50xx全局错误(签名错误/时间戳超时)检查ts是否为当前时间(允许误差通常为5分钟),重新计算sign

推荐的可靠控制模式由于HTTP响应不保证设备端执行结果,在必须确认设备动作的场景(如:客人前台请求“请立即打开我房间的廊灯”),应启用异步消息推送功能:平台会在设备实际执行命令后,通过Webhook或MQTT将执行结果推送到你的服务器

五、软件项目集成实战(面向不同架构)

5.1 后端服务集成(Java Spring Boot 示意)

在酒店管理系统的后端服务中,封装一个DeviceControlService,核心逻辑如下:

5.2 前端/移动端调用方式

严格禁止在前端直接调用API(会暴露AppSecret)。正确的做法是:

  1. 后端开放业务接口,如POST /api/hotel/room/{roomId}/light/on

  2. 前端调用该业务接口,由后端完成签名计算与设备控制;

  3. 后端将调用结果返回前端展示。

5.3 与酒店PMS系统联动的典型场景

场景触发条件命令内容目的
入住欢迎模式前台办理入住(PMS Check-In){"power1":1}(打开廊灯)客人开门时有灯光欢迎
拔卡断电取电开关断电信号上报{"batch":{"relay":[1,2],"power":0}}节能(保留冰箱等常电插座不受控)
夜间服务模式客人按“请勿打扰”面板无命令(仅记录状态)服务系统不派送物品
定时控制每晚23:00自动执行{"power2":0}(关闭排气扇)避免噪音

5.4 局域网直连模式(高稳定性/低延迟)

对于对网络稳定性要求较高的酒店,支持局域网私有化部署

  • 设备与服务器接入同一局域网;

  • 调用http://设备IP/control接口(具体端口和路径需查阅产品手册);

  • 优点:控制指令不经过公网,断外网时仍可控制;

  • 缺点:设备IP若动态变化需配合DHCP保留或DNS。

六、关键注意事项与最佳实践

6.1 功率与负载限制

两路控制器每路最大10A电流。如果控制多盏灯或大功率设备(如电热水壶、吹风机插座),请注意总功率。若确需控制大功率,请在输出端增加交流接触器进行扩展。

6.2 设备状态同步机制

HTTP接口是“单向控制”,无法主动获取设备当前状态(如开关是开还是关)。解决方案:

  • 在软件数据库中维护每个设备的期望状态

  • 或通过平台的消息推送功能订阅设备状态变更;

  • 或配置设备定时上报状态(需查阅设备固件是否支持)。

6.3 离线处理策略

当设备Wi-Fi断开时,无法远程控制。:

  • 保留客房内本地机械开关作为备用;

  • 在软件界面上提示“设备离线”状态(可通过心跳机制检测)。

6.4 签名时间戳同步问题

服务器校验ts时,如果与平台时间相差超过一定阈值(通常为300秒),会报签名错误。请确保部署环境的时间已通过NTP同步。

七、疑难问题排查速查表

现象可能原因排查步骤
调用API返回502device不在控制台登录控制台→设备管理→核对设备ID是否匹配
调用API返回签名错误时间戳偏差或AppSecret错误1) 检查服务器时间;2) 重新从控制台复制AppSecret,注意首尾无空格
设备无动作设备离线1) 检查Wi-Fi信号;2) 设备重新上电;3) 登录控制台查看设备最后在线时间
设备动作延时高(>500ms)公网链路质量差考虑切换为局域网直连模式
控制插座后,设备重启负载超过10A或电源浪涌1) 用万用表测量电流;2) 加装阻容吸收或中间继电器

官方技术支持渠道芯步为开发者提供全程免费技术指导,涉及选型、对接、走线、安装、调试等环节,可通过官网联系工程师

八、结论

通过上述步骤,酒店软件项目可以快速完成对芯步智能2路交流远程控制终端的集成。整个方案的核心在于:

  • 接入门槛低:标准HTTP API + 简单的签名算法,1-2天即可完成开发联调;

  • 成本可控:无需购买昂贵的RCU主机,可按需采购硬件;

  • 扩展灵活:未来可增加传感器(如人体存在传感器),通过软件联动实现“人来灯亮、人走灯灭”等高级场景

先在单间客房完成POC(概念验证),再逐步推广到酒店全楼层。