作者:梁健
一、简介
-
合宙对讲方案,是基于MQTT的传输方案,通过语音流,数据流来进行通信和控制。
-
对讲采用AMR 对数据进行上下行编码,得益于AMR 的优良特性,传输消耗流量仅为1.6KB/s, 这样一小时仅消耗5.7MB 的流量
-
AirTalk 属于LuatOS 核心库
-
AirTalk 分为三部分,云,管,端。其中:
- 云,即指服务器端,主要处理逻辑为mqtt 消息转发
- 管,即管理平台,对终端进行增,删,改,查,对对讲流程进行控制
- 端,包含设备端(目前仅8000,780EHV支持),网页端,或者设备端
二、技术框架
三、业务框架
四、功能特性
- 模块终端支持环境降噪
支持环境降噪,可有效提升声音上传的清晰度
- 支持WIFI,4G,以太网自动切换
在复杂的网络环境下,多网自动切换,可以有效保证网络的畅通无阻
- 模块终端支持对端回环消除
支持对端回来的声音抵消,可以有效保证对端的声音不会被重新录进去,从而导致音质声音的回环往复
- 支持终端对终端,设备对网页端对讲
网页端既可以部署到手机端,也可以部署到电脑端,可以方便客户在多种环境下部署终端。
- 支持群组内广播通信
支持创建任意群组,以及在群组内的广播
- 1.6KB/s 的低流量消耗
上下行进行编码解码,有效降低数据量,以及弱网环境下的通信稳定性
- 最快可做到0.2s 对讲时延迟
高效的流式传输,高效的编解码,有效的减低讲话延迟
- 支持流量电话(全双工对讲)
可以像手机一样,有电话簿,通过对电话簿上的名称进行呼叫
- 支持16位高清编码通话
相对于手机电话的8位音频,AirTalk最高可以做16位编码,大大提高了声音的清晰度
- 会根据实际网络环境自动优化编码
设备管理后台会实时收集各个设备的网络状态,在拨号的适合匹配最合适的编码,做到网络好坏尽量不影响通信。
- 可以通过平台观看设备在线数,以及位置等相关信息
合宙后台会实时记录设备在线状态,同时展示位置等信息,方便客户实时掌握设备状态
五、使用方法
5.1 设备端设备购买
-
地址:购买地址
-
如果需要进行端对端测试,需要购买两个开发板
5.2 平台&网页端准备
5.2.1 创建账户和项目
- 打开 iot.openluat.com 网址,进行注册和登录
- 打开IOT 页面
- 创建 项目
- 生成专属固件,用于5.2.2 绑定设备
这里的KEY 可用于5.4.2 的项目绑定
注意:同一个项目下所有的设备,main.lua文件中PRODUCT_KEY要保持一致
5.2.2 绑定设备到账户和项目
5.2.2.1 生成专属固件
5.2.2.2 烧录到需要测试对讲的设备中
选择需要绑定的设备,比如你的设备是8000 ,则选择8000 的固件
通过luatools 下载此固件, luatools 使用教程
联网就会注册成功,成功过后如下显示
5.2.3 创建对讲群组(可通讯的最小集合)
5.2.3.1 登录对讲平台
- 打开 iot.luatos.com 网址
- 使用1.1.2 登录的账号密码登录
5.2.3.2 分配客户
考虑到airtalk 可能存在多级客户,所以需要对客户进行分配,如果无需分配,使用"默认ID" 就可以.
5.2.3.3 创建和生成WEB端对讲账户
5.2.3.3.1 创建WEB端对讲账户
- 设置web端对讲的账户(可用来发起,或者接收对讲语音)
- 确认是否创建完成
5.2.3.3.2 登录web 端网页
5.2.3.3.3 查看web ID 是否获取
在3.2 获取的"终端名称",已经显示在对讲平台中了
5.2.3.3.4 分配设备到客户
将设备分配到指定的客户,不存在多级客户的时候,直接分配到"默认ID"就可用
5.2.3.4 创建群组
- 选择创建群组按钮,创建群组名称
- 将需要的设设备转移到右侧
- web 端的ID 也可以加入群组
5.2.3.4.1 查看群组成员
注意:只有群组成员,才可以相互通话,以及广播
5.3 硬件环境搭建
5.4 下载测试脚本和CORE
5.4.1 选择CORE和脚本
CORE: LuatOS-SoC_V2014_Air8000_4.soc
script: 脚本地址
5.4.2 修改项目KEY:
打开项目的main.lua
填入1.2.1 获取到的项目KEY,并保存到PRODUCT_KEY变量中
5.4.3 将固件下载到开发板中:
5.5 终端对讲界面操作
5.5.1 开机滑动到对讲按钮
5.5.2 打开对讲页面
可以通过"通讯录"来看群组的成员 使用"通讯录",选择需要对讲的单个设备 进入此UI 就自动进入了对讲等待状态,一旦设备呼入,就会进行流量通话 使用"广播",对群组所有的设备进行广播
5.6 网页端操作
5.6.1 打开手机网页
打开:WEB 对讲网页
5.6.2 设置网页
使用"选择对讲终端",选择需要对讲的单个设备 使用"开始广播",对群组所有的设备进行广播
六、关于收费
6.1 服务边界
- 客户可以对一个账户下所有的设备进行自由分配
- 客户可以创建多级子客户
- 合宙页面可以创建群组
- 可以提供网页端的编解码库文件,方便集成到客户自己的管理平台(解决客户的管理页面需要直呼的需求)
- 原则上不支持客户定制需求,不接入人员支持
- 可对客户提供登录,获取设备列表,分配群组的api 接口(解决客户需要给子客户进行群组分配的问题)
6.2 收费方式
- 通过iot.openluat.com 来付费
- 默认单台设备20元/年 不限流量,阶梯价如下:
台数 | 收费单价(台/年) |
---|---|
<100 | 20 |
<200 | 19 |
<500 | 18 |
<1000 | 17 |
<2000 | 16 |
>2000 | 15 |
- 私有部署 单次部署,服务器,客户端,收费20万 后续维护费用5万/年
- 不限制单次接入台数
七、常见问题
-
- 如何确定音频是否工作
可以通过听喇叭端有没有滋滋的电流声确认
-
- 怎么判断是否开始上传音频
可以通过UI看到,"语音采集上传中",说明正在上传语音,如果没有这行字,或者出现"语音停止采集",则表示未上传音频