合宙AirTalk基于MQTT的对讲方案开发示例
简介、框架、功能特性、使用方法、常见问题。
Air8000 系列的 Airtalk 是基于 LuatOS 核心库的对讲方案,采用 MQTT 协议实现设备端、手机端、网页端的跨终端对讲,支持服务器搭建与三端系统部署。
对讲方案的核心特点包括:采用 8bit AMR-NB 格式流式传输(未来将升级至 16bit AMR-WB),以 12.2kbps 实现高品质传输,流量消耗低至 1.6KB/s(每小时约 5.7MB);支持降噪、回环消除功能,最快对讲延迟 0.5s,当前以半双工对讲效果更优,且仅支持一对一对讲。
下面我们来看详细开发示例。
一、简介
-
合宙对讲方案,是基于MQTT的传输方案,通过语音流,数据流来进行通信和控制。
-
对讲采用AMR 对数据进行上下行编码,得益于AMR 的优良特性,传输消耗流量仅为1.6KB/s, 这样一小时仅消耗5.7MB 的流量
-
Airtalk 属于LuatOS 核心库
-
Airtalk 通常分为三部分,云,管,端。其中:
- 云,即指服务器端,主要处理逻辑为mqtt 消息转发
- 管,即管理平台,对终端进行增,删,改,查,对对讲流程进行控制
- 端,包含设备端(目前仅8000,780EHV支持),网页端,或者设备端
二、框架
三、功能特性
- 模块终端支持环境降噪
支持环境降噪,可有效提升声音上传的清晰度
- 支持WIFI,4G,以太网自动切换
在复杂的网络环境下,多网自动切换,可以有效保证网络的畅通无阻
- 模块终端支持对端回环消除
支持对端回来的声音抵消,可以有效保证对端的声音不会被重新录进去,从而导致音质声音的回环往复
- 支持终端对终端,设备对网页端对讲
网页端既可以部署到手机端,也可以部署到电脑端,可以方便客户在多种环境下部署终端。
- 支持群组内广播通信
支持创建任意群组,以及在群组内的广播
- 1.6KB/s 的低流量消耗
上下行进行编码解码,有效降低数据量,以及弱网环境下的通信稳定性
- 最快可做到0.5s 对讲时延迟
高效的流式传输,高效的编解码,有效的减低讲话延迟
- 支持流量电话(全双工对讲)
可以像手机一样,有电话簿,通过对电话簿上的名称进行呼叫
- 支持16位高清编码通话
相对于手机电话的8位音频,我们最高可以做16位编码,大大提高了声音的清晰度
- 会根据实际网络环境自动优化编码
设备管理后台会实时收集各个设备的网络状态,在拨号的适合匹配最合适的编码,做到网络好坏尽量不影响通信。
- 可以通过平台观看设备在线数,以及位置等相关信息
合宙后台会实时记录设备在线状态,同时展示位置等信息,方便客户实时掌握设备状态
四、使用方法
1. 环境准备
1.1 设备端
1.1.1 设备购买
-
如果需要进行端对端测试,需要购买两个开发板
1.1.2 环境搭建
1.1.3 下载测试固件
整体固件:startupv13_1.0.0_LuatOS-SoC_V2014_Air8000_4
如果需要查看源码请见:
core: LuatOS-SoC_V2014_Air8000_4.soc
script: 脚本地址
1.1.4 将固件下载到开发板中:
1.1.5 滑动到对讲按钮
1.1.6 设置对讲topic
2. 网页端准备
2.1 通过手机网页
打开:https://airtalk.openluat.com/talk/
2.2 设置网页
3. 开始对讲
3.1 设备端操作方法
3.2 网页端操作方法
五、常见问题
- 如何确定音频是否工作
可以通过听喇叭端有没有滋滋的电流声确认
- 怎么判断是否开始上传音频
可以通过UI看到,"语音采集上传中",说明正在上传语音,如果没有这行字,或者出现"语音停止采集",则表示未上传音频
更多推荐
所有评论(0)