本文档主要介绍产品的语音自检功能。
语音自检是指对设备扬声器和麦克风进行检测,也称为回声自检。其工作原理为设备通过扬声器播放声音,再由麦克风采集声音,以此判断扬声器与麦克风是否正常工作。该功能常用于远程检测设备音频部件的运行状态。下文将详细介绍工业设备语音自检的操作方法。
i12、i11、i16V、i18S、i20S、i30、i32V、i33V、i16SV、i10SV、PA3、PA2S。
设备通过扬声器播放音频(如短音频片段),麦克风同步采集声音并统计音频接收占比。若检测结果超出设定阈值,则判定测试成功;若低于阈值,则判定测试失败。工作原理如下图1所示:
图1 语音自检原理示意图
语音自检广泛应用于设备远程巡检工作。为节省时间、提升运维效率,当广播无声音或播放音频突然中断时,工作人员可在控制室对设备发起远程自检。
图2 语音自检应用场景示意图
① 一台对讲系列设备(本次以i12为例)、一台PoE交换机(或直流电源)、一台云翼服务器,将设备接入交换机。
② 一台配置电脑与服务器,将电脑连接至同一交换机,确保电脑与设备网络互通。
① 将i12设备、服务器、电脑接入同一台交换机,保证两端网络正常连通。连接架构如下图3所示。
图3 设备与电脑连接示意图
回声自检支持多种实现方式,每种方法详情如下。
主动URI指由远程控制台发起HTTP GET请求,设备内置HTTP服务器解析指令并响应,从而实现设备远程控制。
(1) 自检格式:http://device_ip/cgi-bin/ConfigManApp.com?key=ECHO_TEST;
① device_ip:待测设备IP地址,示例:172.18.8.15;
② 返回结果:扬声器、麦克风连接正常时显示success;未接入或硬件损坏时显示Failure;
(2) 操作示例:在浏览器中输入上述地址。音频设备连接正常时,页面返回success,详见下图4。
图4 主动URI语音自检示意图
HTTP API是用于对接第三方应用及管理系统的程序接口。设备作为HTTP服务端,在http://ip/xmlservice 提供接口服务。第三方客户端发送XML格式的HTTP POST请求完成交互。
HTTP API请求格式:
(1) 客户端 → 服务端请求:
(?xml version="1.0" encoding="UTF-8" ?)
(FanvilPhoneExecute beep=”yes” )
(ExecuteItem>URI="cmd:echo_test"(/FanvilPhoneExecute)
cmd:audio_play:代表指令为回声自检;
(2) 服务端 → 客户端响应:
(?xml version="1.0" encoding="UTF-8"?)
(FanvilPhoneExecute)
(ExecuteItem>URI="cmd:echo_test")
(RetCode>0)
(info)
(![CDATA[success]])
(/info)
(/FanvilPhoneExecute)
(3) 返回结果:音频配件正常返回success;异常损坏返回Failure;
(4) 操作示例:可使用Postman、ApiPost等工具,向http://device_ip/xmlservice 发送POST请求。填写合法请求内容后点击“发送”,即可获取自检结果,如图5所示。
图5 HTTP API语音自检示意图
可在定时计划配置中添加语音自检任务。设备将在设定时间段/时间点自动执行自检,并通过动作URL上报检测结果。
(1) 登录设备网页管理端,依次进入“对讲设置” --- “定时计划” --- “定时规则”,新增定时任务,参考图6:
① 执行类型:选择“语音自检”;
② 执行时间:选定需要自动检测的时段。
图6 定时计划语音自检示意图
(2) 计划添加完成后,定时列表将显示新增条目。到达设定时间,设备将自动执行语音自检。
SIP消息方式适用于公网环境。服务器下发消息型主动URI指令,设备以200 OK应答MESSAGE请求;随后设备推送结果报文至管理平台,平台同样回复200 OK完成交互。
(1) 在服务器注册设备账号。
(2) 以云翼服务器为例,登录服务端网页,进入“自检任务” --- “新增”,创建自检任务。
(3) 选中任务并点击执行,扬声器与麦克风正常则任务执行成功;配件故障或未连接将判定失败,服务端页面展示异常状态。同时可点击“自检结果”查看历史记录。
图7 SIP消息语音自检示意图
(4) 也可通过设备抓包验证自检结果。自检开始前,进入设备网页“系统” --- “辅助工具” --- “网络抓包”,点击“开始”。
图8 设备抓包示意图
自检完成后,在设备网页点击“停止”。使用Wireshark打开抓包文件,筛选“sip”字段。若MESSAGE报文中包含“Success”,代表自检成功;出现“Fail”或“Failure”则为自检失败。
图9 抓包结果示意图
实际使用过程中,常会遇到语音自检失败的问题,故障诱因较多,可按以下步骤排查:
(1) 检查接线连接
语音自检失败时,首先检查扬声器与麦克风接线是否牢固。扬声器未接入通常直接判定失败,但嘈杂环境可能造成误判显示成功;麦克风断开连接,必然导致自检失败。
(2) 检查配件完好性
接线正常但依旧检测失败时,排查扬声器、麦克风是否物理损坏。若硬件无异常,请联系技术支持。
(3) 确认环境噪音
自检核心逻辑为设备播放1kHz音频信号,麦克风接收同频信号。若环境中存在1kHz同源噪音,会造成检测失真。例如扬声器损坏时,环境同频杂音可能被设备采集,从而误判测试通过。