跳转至

作者:梁健

一、简介

  • 合宙对讲方案,是基于MQTT的传输方案,通过语音流,数据流来进行通信和控制。

  • 对讲采用AMR 对数据进行上下行编码,得益于AMR 的优良特性,传输消耗流量仅为1.6KB/s, 这样一小时仅消耗5.7MB 的流量

  • AirTalk 属于LuatOS 核心库

  • AirTalk 分为三部分,云,管,端。其中:

  1. 云,即指服务器端,主要处理逻辑为mqtt 消息转发
  2. 管,即管理平台,对终端进行增,删,改,查,对对讲流程进行控制
  3. 端,包含设备端(目前仅8000,780EHV支持),网页端,或者设备端

二、技术框架

image

三、业务框架

image

四、功能特性

  • 模块终端支持环境降噪

    支持环境降噪,可有效提升声音上传的清晰度

  • 支持WIFI,4G,以太网自动切换

    在复杂的网络环境下,多网自动切换,可以有效保证网络的畅通无阻

  • 模块终端支持对端回环消除

    支持对端回来的声音抵消,可以有效保证对端的声音不会被重新录进去,从而导致音质声音的回环往复

  • 支持终端对终端,设备对网页端对讲

    网页端既可以部署到手机端,也可以部署到电脑端,可以方便客户在多种环境下部署终端。

  • 支持群组内广播通信

    支持创建任意群组,以及在群组内的广播

  • 1.6KB/s 的低流量消耗

    上下行进行编码解码,有效降低数据量,以及弱网环境下的通信稳定性

  • 最快可做到0.2s 对讲时延迟

    高效的流式传输,高效的编解码,有效的减低讲话延迟

  • 支持流量电话(全双工对讲)

    可以像手机一样,有电话簿,通过对电话簿上的名称进行呼叫

  • 支持16位高清编码通话

    相对于手机电话的8位音频,AirTalk最高可以做16位编码,大大提高了声音的清晰度

  • 会根据实际网络环境自动优化编码

    设备管理后台会实时收集各个设备的网络状态,在拨号的适合匹配最合适的编码,做到网络好坏尽量不影响通信。

  • 可以通过平台观看设备在线数,以及位置等相关信息

    合宙后台会实时记录设备在线状态,同时展示位置等信息,方便客户实时掌握设备状态

五、使用方法

5.1 设备端设备购买

  • 地址:购买地址

  • 如果需要进行端对端测试,需要购买两个开发板

5.2 平台&网页端准备

5.2.1 创建账户和项目

image

  1. 打开 iot.openluat.com 网址,进行注册和登录
  2. 打开IOT 页面
  3. 创建 项目
  4. 生成专属固件,用于5.2.2 绑定设备

image

这里的KEY 可用于5.4.2 的项目绑定

注意:同一个项目下所有的设备,main.lua文件中PRODUCT_KEY要保持一致

5.2.2 绑定设备到账户和项目

5.2.2.1 生成专属固件

image

5.2.2.2 烧录到需要测试对讲的设备中

image

  1. 选择需要绑定的设备,比如你的设备是8000 ,则选择8000 的固件

  2. 通过luatools 下载此固件, luatools 使用教程

  3. 联网就会注册成功,成功过后如下显示

image

5.2.3 创建对讲群组(可通讯的最小集合)

5.2.3.1 登录对讲平台

  1. 打开 iot.luatos.com 网址
  2. 使用1.1.2 登录的账号密码登录

5.2.3.2 分配客户

考虑到airtalk 可能存在多级客户,所以需要对客户进行分配,如果无需分配,使用"默认ID" 就可以.

image

5.2.3.3 创建和生成WEB端对讲账户

5.2.3.3.1 创建WEB端对讲账户

image

  1. 设置web端对讲的账户(可用来发起,或者接收对讲语音)
  2. 确认是否创建完成
5.2.3.3.2 登录web 端网页

image

5.2.3.3.3 查看web ID 是否获取

image

在3.2 获取的"终端名称",已经显示在对讲平台中了

5.2.3.3.4 分配设备到客户

image

将设备分配到指定的客户,不存在多级客户的时候,直接分配到"默认ID"就可用

5.2.3.4 创建群组

image

  1. 选择创建群组按钮,创建群组名称
  2. 将需要的设设备转移到右侧
  3. web 端的ID 也可以加入群组
5.2.3.4.1 查看群组成员

image

注意:只有群组成员,才可以相互通话,以及广播

5.3 硬件环境搭建

image

5.4 下载测试脚本和CORE

5.4.1 选择CORE和脚本

CORE: LuatOS-SoC_V2014_Air8000_4.soc

script: 脚本地址

5.4.2 修改项目KEY:

image

打开项目的main.lua

填入1.2.1 获取到的项目KEY,并保存到PRODUCT_KEY变量中

5.4.3 将固件下载到开发板中:

image

5.5 终端对讲界面操作

5.5.1 开机滑动到对讲按钮

image

5.5.2 打开对讲页面

image

可以通过"通讯录"来看群组的成员 使用"通讯录",选择需要对讲的单个设备 进入此UI 就自动进入了对讲等待状态,一旦设备呼入,就会进行流量通话 使用"广播",对群组所有的设备进行广播

5.6 网页端操作

5.6.1 打开手机网页

打开:WEB 对讲网页

5.6.2 设置网页

image

使用"选择对讲终端",选择需要对讲的单个设备 使用"开始广播",对群组所有的设备进行广播

六、关于收费

6.1 服务边界

  1. 客户可以对一个账户下所有的设备进行自由分配
  2. 客户可以创建多级子客户
  3. 合宙页面可以创建群组
  4. 可以提供网页端的编解码库文件,方便集成到客户自己的管理平台(解决客户的管理页面需要直呼的需求)
  5. 原则上不支持客户定制需求,不接入人员支持
  6. 可对客户提供登录,获取设备列表,分配群组的api 接口(解决客户需要给子客户进行群组分配的问题)

6.2 收费方式

  1. 通过iot.openluat.com 来付费
  2. 默认单台设备20元/年 不限流量,阶梯价如下:
台数 收费单价(台/年)
<100 20
<200 19
<500 18
<1000 17
<2000 16
>2000 15
  1. 私有部署 单次部署,服务器,客户端,收费20万 后续维护费用5万/年
  2. 不限制单次接入台数

七、常见问题

    1. 如何确定音频是否工作

可以通过听喇叭端有没有滋滋的电流声确认

    1. 怎么判断是否开始上传音频

可以通过UI看到,"语音采集上传中",说明正在上传语音,如果没有这行字,或者出现"语音停止采集",则表示未上传音频