0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定位模组Air201——快速实现打电话!

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-12-16 15:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天特别分享VoLTE通话功能示例,感兴趣的朋友一起来学。

VoLTE通话功能示例

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

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

Air201最新资料下载:

www.air201.cn

wKgZO2df0smAGY1vAAWHVRnfHbg744.png

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

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

一. 搭建环境

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

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

1.1 硬件准备:

Air201 PCBA

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

配套USB_BOOT小板、喇叭

可正常上网及通话的SIM

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

Win10及以上PC

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

wKgZPGdf0wKAFPbHAAWDIc_-QE8239.png

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小板连接电脑,如下图所示:

wKgZPGdf0xqAHFOwAAilXsf2xO4286.png

1.3.1 根据下方操作进行烧录

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

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

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

开发板处于未开机状态:

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

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

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

1.3.2 不同模式下的端口显示

正常开机模式:

wKgZPGdf012ABJW0AAEQuxsxKiY759.png

下载模式:

wKgZO2df022AUlq0AADqU3bcw8g457.png


二. 示例代码

2.1 初始化驱动ES8311

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

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

wKgZPGdf062AOA4PAASjmaoxFc4590.png

2.2 订阅通话状态

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

wKgZO2df08iADcI6AATLooMIk18688.png

2.3 注册音频事件回调函数

wKgZPGdf09eAf48hAAMB_Rk4mI0094.png

2.4 通讯录列表

wKgZO2df0-OACD0mAACMC5SFZv8390.png

2.5 通话管理状态机

1)IDLE(空闲状态):

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

转移条件:

wKgZO2df0_KAFNvvAACGJ8eysnI577.png

2)WAIT_CALLING(等待呼叫状态):

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

转移条件:

wKgZO2df1AGAeqiwAADS142G4W4708.png

3)CALLING(拨号中状态):

正在拨打电话。

转移条件:

wKgZO2df1A2AFgX-AACUx5ZnErE878.png

4)PREPARE(准备通话状态):

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

转移条件:

wKgZO2df1CCAcL9vAADbHjWDrcI463.png

5)CONNECTING(通话中状态):

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

转移条件:

wKgZPGdf1DKATqO_AADa1VcImmI847.png

6)DISCONNECTING(挂断流程状态):

处理挂断电话的流程。

转移条件:

wKgZPGdf1ECAG4qQAABZQP-qgZk455.pngwKgZPGdf1FiATj1aAAUwZHz6V78101.pngwKgZPGdf1HSAY3n0AARDcDVVU1s683.pngwKgZO2df1JGAXJsVAAUAHPruzVw864.pngwKgZPGdf1KiAes5iAANvV68Eptk167.png

2.6 呼叫,挂断按键配置

wKgZPGdf1LaARMHNAAIqO8vdTJI033.png

2.7 运行结果展示

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

1)模组主动拨打电话

空闲状态下按下按键1,默认拨打通讯录第一位联系人,日志打印显示如下:

wKgZO2df1MSAf22hAAR3x6pleyE218.png

2)模组主动挂断电话

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

wKgZO2df1NKAd2C5AALgjs3omUU767.png

3. 总结

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

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

今天的分享就到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定位
    +关注

    关注

    5

    文章

    1554

    浏览量

    36516
  • 模组
    +关注

    关注

    6

    文章

    1719

    浏览量

    32015
  • VoLTE
    +关注

    关注

    1

    文章

    164

    浏览量

    37312
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LuatOS下Air8000 AGPS辅助定位教程与实践

    本教程演示了Air8000在LuatOS中利用AGPS辅助定位实现快速定位的方法,系统讲解AGPS原理及开发应用时的注意事项。   一、AG
    的头像 发表于 10-31 16:51 2723次阅读
    LuatOS下<b class='flag-5'>Air</b>8000 AGPS辅助<b class='flag-5'>定位</b>教程与实践

    科普|高通量卫星可以用来打电话吗?

    在应急指挥环境下,卫星资源的应用是必须的,当地面运营商基站遭到破坏时,利用卫星仍然可以实现应急的通信。一般应急现场可以使用卫星电话设备进行电话沟通,卫星电话的使用方法与普通
    的头像 发表于 08-18 18:12 659次阅读
    科普|高通量卫星可以用来<b class='flag-5'>打电话</b>吗?

    如何实现3秒定位?GNSS模组实战指南大公开

    传统定位耗时过长?GNSS模组让3秒极速定位成为现实。本文为你提供实战指南,详解操作步骤与技术要点,助你轻松达成目标。在紧急救援、智能交通等场景中,3秒定位至关重要。本文深入剖析GNS
    的头像 发表于 08-08 17:10 777次阅读
    如何<b class='flag-5'>实现</b>3秒<b class='flag-5'>定位</b>?GNSS<b class='flag-5'>模组</b>实战指南大公开

    GNSS模组实战指南:3秒精准定位全揭秘!

    在紧急救援、智能交通等场景中,3秒定位至关重要。本文深入剖析GNSS模组的实战方法,助你突破定位速度的极限。 AGPS (Assisted GPS,辅助全球卫星定位系统)通过移动网络预
    的头像 发表于 08-04 16:13 578次阅读
    GNSS<b class='flag-5'>模组</b>实战指南:3秒精准<b class='flag-5'>定位</b>全揭秘!

    Air780EGH开源代码来袭!定位功能快速入门指南

    欢迎探索Air780EGH开源生态!最新版本解锁定位功能源代码,无论你是新手还是资深开发者,都能通过简洁的示例代码快速上手。从初始化配置到实时定位数据获取,一站式解决
    的头像 发表于 07-29 16:13 417次阅读
    <b class='flag-5'>Air</b>780EGH开源代码来袭!<b class='flag-5'>定位</b>功能<b class='flag-5'>快速</b>入门指南

    揭秘Air780EGH定位功能:源码开放助力极速开发 !

    例,带你快速上手定位功能的基本使用方法,可根据实际需求灵活扩展和应用。   一、Air780EGH定位示例源码开放 Air780EGH示例持
    的头像 发表于 07-29 16:11 466次阅读
    揭秘<b class='flag-5'>Air</b>780EGH<b class='flag-5'>定位</b>功能:源码开放助力极速开发 !

    直线模组定位精度差的原因

    直线模组是一种精密传动元件,而重复定位精度是其重要的性能指标之一。
    的头像 发表于 03-17 17:51 735次阅读
    直线<b class='flag-5'>模组</b><b class='flag-5'>定位</b>精度差的原因

    4G模组Air780EPM的开机启动及外围电路设计!

    Air780EPM 模块硬件设计的核心指南,直接关系到模块能否稳定运行。 掌握这些知识可以帮助大家: ✅ 避免常见错误(如管脚配置错误、电源设计缺陷)。 ✅ 快速定位并解决开机问题。 ✅ 优化电路性能(如射频稳定性、抗干扰能
    的头像 发表于 03-07 16:06 816次阅读
    4G<b class='flag-5'>模组</b><b class='flag-5'>Air</b>780EPM的开机启动及外围电路设计!

    初学者必看!4G模组Air780EPM的开机启动及外围电路设计

    Air780EPM 模块硬件设计的核心指南,直接关系到模块能否稳定运行。 掌握这些知识可以帮助大家: ✅ 避免常见错误(如管脚配置错误、电源设计缺陷)。 ✅ 快速定位并解决开机问题。 ✅ 优化电路性能(如射频稳定性、抗干扰能
    的头像 发表于 03-07 16:02 577次阅读
    初学者必看!4G<b class='flag-5'>模组</b><b class='flag-5'>Air</b>780EPM的开机启动及外围电路设计

    定时器已安排!开发小白看过来~

    本文将为您详细介绍Air201定时器的基本操作与设置,确保您轻松上手,包教包会! 在Air201模组搭载的LuatOS系统中,定时器(timer)是一项基础且关键的服务。 它允许开发者在特定的时间点
    的头像 发表于 12-31 14:30 767次阅读
    定时器已安排!开发小白看过来~

    抄作业!看门狗定时器必备知识

    Air201模组内部集成了硬件看门狗,今天就一起来聊聊~ 本文将带你了解看门狗的工作原理、应用架构、定时时间设置、软硬件看门狗的区别,以及看门狗定时器的典型应用场景及关键设计因素等内容。 同时通过
    的头像 发表于 12-30 14:44 1076次阅读
    抄作业!看门狗定时器必备知识

    基站/Wi-Fi/GPS定位相关示例来咯~记得收藏!!

    教程,教你使用Air201实现定位服务,在实际开发中可根据具体情况灵活应用。 ▼ 定位示例主要内容 ▼   免费版本基站定位: 烧录示例d
    的头像 发表于 12-18 16:42 1797次阅读
    基站/Wi-Fi/GPS<b class='flag-5'>定位</b>相关示例来咯~记得收藏!!

    定位模组也能打电话Air201带你快速实现

    今天特别分享VoLTE通话功能示例,感兴趣的朋友一起来学。
    的头像 发表于 12-14 16:25 1065次阅读
    <b class='flag-5'>定位</b><b class='flag-5'>模组</b>也能<b class='flag-5'>打电话</b>?<b class='flag-5'>Air201</b>带你<b class='flag-5'>快速</b><b class='flag-5'>实现</b>!

    深入了解Air201定位模块的电池问题!

    今天主要分享Air201电池相关问题,希望对大家的实际应用开发有所帮助。
    的头像 发表于 12-14 09:32 886次阅读
    深入了解<b class='flag-5'>Air201</b><b class='flag-5'>定位</b>模块的电池问题!

    解读Air724UG低功耗4G模组软件的语音通话!

    本篇文章以Air724UG模组为例,解读低功耗4G模组软件的语音通话,呈现实用教程供大家参考。
    的头像 发表于 12-09 09:39 2101次阅读
    解读<b class='flag-5'>Air</b>724UG低功耗4G<b class='flag-5'>模组</b>软件的语音通话!