必学!定位模组Air201通话功能详解!

news/2024/12/16 14:57:43/文章来源:https://www.cnblogs.com/luatos/p/18607058

希望这篇文章能帮助你掌握定位模组Air201的通话功能,感兴趣的朋友一起来学。

VoLTE通话功能示例
Air201模组的4G通信功能,通过VoLTE技术实现高清语音通话,支持音频编解码、硅麦输入和喇叭输出。在通话过程中,声音信号通过MIC捕捉并转换为数字音频数据,经4G网络实时传输至对方设备。

这一应用广泛适用于物联网设备中的远程通信、语音交互等场景,提供便捷、高效的通话服务。

Air201最新资料下载:

www.air201.cn

注:Air201最大可支持8Ω 1.2W功率喇叭(默认),或者4Ω 2.5W功率喇叭。

本文将通过Air201+喇叭+扩展板进行相关演示,教你使用VoLTE通话功能示例,在实际开发中可根据具体情况灵活应用。

1. 搭建环境

新同学建议先看前期的基础知识相关教程,更有助于理解和操作。

可以在LuaTools项目管理中新建一个项目,重新选择底层CORE和脚本;或者在原有项目的基础上,不更换CORE,将原来的脚本删除,添加为demo/cc的脚本。

1.1 硬件准备:

Air201 PCBA

Air201-BTB扩展板(带一个FPC线)

配套USB_BOOT小板、喇叭

可正常上网及通话的SIM卡

带有数据通信功能的数据线

Win10及以上PC

Air201通过FPC线连接BTB扩展板,使用扩展板上的按键,接线如下所示:

1.2 软件准备:

LuaTools调试工具:

https://docs.openluat.com/Luatools

最新固件:https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

最新脚本:

https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/cc

API接口:

https://docs.openluat.com/air201/luatos/api/core/cc

1.3 烧录操作:

由于Air201单板子没有复位键和BOOT键,所以数据线与Air201开发板之间还需要接一个USB_BOOT板(Air201套件里已包含)。

将Air201通过USB_BOOT小板连接电脑,如下图所示:

1.3.1 根据下方操作进行烧录

此时就需要大家先点击Luatools工具上的【下载脚本】或【 下载底层和脚本】,再执行下方操作了。

新同学请先学习LuaTools使用和烧录教程:

https://docs.openluat.com/Luatools/

开发板处于未开机状态:

此时先按住下载模式按键(BOOT键)不放,再长按开机键(POW键)开机。若不出意外开发板将会进入下载模式,LuaTools工具下载进度条会开始跑,这时便可以松开BOOT键和POW键,等到工具提示下载完成即可。

开发板已经处于开机状态:

此时可以先按住BOOT键不放,再短按复位键(RST键)后开发板会重启并进入下载模式。

1.3.2 不同模式下的端口显示

正常开机模式:


下载模式:

2. 示例代码

2.1 初始化驱动ES8311

Air201板子自带了ES8311音频编解码芯片(Audio Codec),所以硬件配置参数是固定的。

ES8311使用了I2C0,电源脚为GPIO2,PA控制脚为GPIO23:

2.2 订阅通话状态

通过sys.subscribe函数订阅了一个名为CC_IND的事件。当这个事件被触发时,会调用后面的匿名函数,传入一个参数 state,表示当前的通话状态。

2.3 注册音频事件回调函数

2.4 通讯录列表

2.5 通话管理状态机

1)IDLE(空闲状态):

系统处于等待状态,准备接收来电或拨号。

转移条件:
2)WAIT_CALLING(等待呼叫状态):

系统在等待后续的拨号操作。

转移条件:
3)CALLING(拨号中状态):

正在拨打电话。

转移条件:
4)PREPARE(准备通话状态):

准备接听来电或拨打电话。

转移条件:
5)CONNECTING(通话中状态):

准备接听来电或拨打电话。

转移条件:
6)DISCONNECTING(挂断流程状态):

处理挂断电话的流程。

转移条件:

2.6 呼叫,挂断按键配置

2.7 运行结果展示

通过LuaTools工具,查看相关运行结果。

1)模组主动拨打电话

空闲状态下按下按键1,默认拨打通讯录第一位联系人,日志打印显示如下:
2)模组主动挂断电话

通话状态下按下按键2,挂断电话,日志打印显示如下:

3. 总结

CC库的通话管理API接口共同构成了通话控制的核心功能,使开发者能够高效地管理通话的启动、挂断、接听、参数配置以及附加的通话处理功能。

通过合理利用这些接口,开发者可以构建出具备出色通话体验的应用程序,满足用户在多种通话场景下的需求。同时,也需关注接口之间的协同配合,以确保通话功能的流畅性和可靠性。

今天的分享就到这里了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/853791.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨境电商新利器:看板软件解锁圣诞节消费者心理

看板软件通过整合多源数据、实时监控销售数据、分析历史数据、挖掘消费者行为数据、优化供应链管理以及提高决策效率等方面的功能,为跨境电商提供了有力的支持。这些功能有助于跨境电商更准确地把握圣诞节消费者倾向,制定更精准的营销策略和产品定价策略,从而提升销售业绩和…

DB-GBP功能使用探索

目录1.DBGPT支持的功能2.配置StarRocks数据库3. ChatBI4. APP创建使用5. 元数据库配置6. API 调用探索6.1 app6.2 datasources6.3 Knowledge7. 问题总结8. 贡献的PR 1.DBGPT支持的功能2.配置StarRocks数据库支持多种数据库链接 但是只支持一个库访问查询3. ChatBI数据准确性不够…

Vue 前端学习路线

一、基础阶段(1 - 2 个月)HTML/CSS/JavaScript 基础巩固复习 HTML 标签语义、结构,熟练掌握常见标签如 div、span、input、button 等的用法,理解块级元素与行内元素的区别与应用场景。 深入学习 CSS 选择器、盒模型、浮动、定位等布局技术,能够实现复杂页面布局,如响应式…

Hyperledger Fabric 2.x 环境搭建

Hyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,与其他流行的分布式账本或区块链平台相比,它有一些主要的区别。 环境准备: Git 客户端 Golang 1.17.5以上版本 Docker 18.03以上版本 版本…

实验文档6

关于第6次实践课作业 实验结论 task4.c1 #define _CRT_SECURE_NO_WARNINGS2 #include <stdio.h>3 #define N 104 5 typedef struct {6 char isbn[20]; // isbn号7 char name[80]; // 书名8 char author[80]; // 作者9 double s…

实时协作+跨时区支持,在线文档的未来是什么?

在线文档协作如何突破跨境流程协作的瓶颈 在全球化的今天,越来越多的企业面临跨国、跨时区的协作挑战。跨境团队需要的不仅是语言和文化的融合,还需要高效的流程管理和信息同步工具,而在线文档协作正是破局的关键之一。 跨境协作的难点 跨境流程协作中,企业往往会遇到以下挑…

java中RSA加密解密的使用

作为常用的非对称加密算法,本篇文章大致记录一下,在java代码中如何生成RSA的密钥对以及加密解密的使用。 1、生成密钥对public class RSAUtils {// 填充方式public static final String RSA_ALGORITHM_NOPADDING = "RSA";public static final String RSA_ALGORITHM…

升降梯人数识别摄像机

升降梯人数识别摄像机是一种结合摄像技术与智能识别算法的设备,旨在监测升降梯厢内的人数,提供实时准确的人数统计信息。通过安装在升降梯厢内的摄像头,系统可以智能识别厢内的人数,并将数据传输至监控中心或手机APP等平台,帮助管理人员及时了解并控制升降梯的负荷情况。这…

首尔之春(2023)【蓝光原盘 / REMUX】【内封简繁特效字幕】电影百度云/夸克迅雷UC网盘资源链接下载

◎译  名 首尔之春/12.12: The Day/12.12:首尔之春(台) ◎片  名 서울의 봄 ◎年  代 2023 ◎产  地 韩国 ◎类  别 剧情 ◎语  言 韩语 ◎上映日期 2023-11-22(韩国) ◎片  长 141分钟 ◎导  演 金成洙 Sung-su Kim ◎编  剧 金成洙 Sung-su Kim…

多源最短路Floyd算法

多源最短路算法-Floyd 使用Floyd(弗洛伊德)算法,可以以 \(O(n^3)\) 的时间复杂度求出一张多源图的任意两点间的最短路径 一般采用邻接矩阵的方法来存储图: int g[N][N]; g[i][j]其中,g[i][j]的意义为第i个节点到第j个节点的权重 我们需要对邻接矩阵进行路径初始化,将自身…

推荐一款强大的开源物联网 Web 组态软件

前言 快速发展的物联网(IoT)领域,设备管理和监控的需求日益增长。为了满足这一需求并提供更高效的解决方案。 向大家推荐一款强大的开源物联网Web组态软件。这款软件不仅具备灵活的可视化配置功能,还提供了丰富的工具和接口,轻松实现设备集成、数据监控和远程管理。 项目介…

Win10 wsl 迁移到 D 盘

wsl 关闭wsl --shutdown查看系统wsl --list导出 tar 文件wsl --export Ubuntu-24.04 D:/export.tar删除C盘的虚拟机wsl --unregister Ubuntu-24.04导入新的虚拟机wsl --import Ubuntu-24.04 D:\wsl\ D:\export.tar --version 2查看状态直面挑战,躬身入局