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

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

3天内不再提示

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

合宙LuatOS ? 来源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-14 16:25 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

VoLTE通话功能示例

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

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

Air201最新资料下载:

www.air201.cn

wKgZPGddPkuAEjhvAAcZkUbfAsc430.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扩展板,使用扩展板上的按键,接线如下所示:

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

wKgZO2ddPrWAbfykAAonEFgCytw733.png

1.3.1 根据下方操作进行烧录

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

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

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

开发板处于未开机状态:

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

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

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

1.3.2 不同模式下的端口显示

正常开机模式:

wKgZPGddPt2AVE-BAAFEeGiu0W8555.png

下载模式:

wKgZPGddPvGALK45AAEXMkBhTd4094.png

二. 示例代码

2.1 初始化驱动ES8311

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

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

wKgZPGddPySAMy_QAAKIqAX3Cv8281.png

2.2 订阅通话状态

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

wKgZPGddPzyAURLTAAKaPrSMMgM877.png

2.3 注册音频事件回调函数

wKgZO2ddP1KAaJXoAAGeZ_3YtW0021.png

2.4 通讯录列表

wKgZPGddP2qAZs7xAACd8fve5FE899.png

2.5 通话管理状态机

1)IDLE(空闲状态):

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

转移条件:

wKgZO2ddP4KAB8YtAACq1H-Cu6E804.png

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

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

转移条件:

wKgZPGddP5aAVszqAAEYEoK5pEk637.png

3)CALLING(拨号中状态):

正在拨打电话。

转移条件:

wKgZPGddP6-AOz4eAAC8V2ceOJ4999.png

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

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

转移条件:

wKgZPGddP8eAb0wbAAEasdwUqTY138.png

5)CONNECTING(通话中状态):

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

转移条件:

wKgZO2ddP9uAOPHgAAEcf6-D6do282.png

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

处理挂断电话的流程。

转移条件:

wKgZPGddP_CAAuTzAAB7HOTJRbc552.pngwKgZO2ddQBqAXDYeAANeAdBH8rg051.pngwKgZO2ddQDmAf1sOAAKwe97r6yc960.pngwKgZPGddQGOAPuM6AAO_rMDY1MY127.png

2.6 呼叫,挂断按键配置

wKgZO2ddQIiAKyvmAAJ88LGmkjc145.png

2.7 运行结果展示

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

1)模组主动拨打电话

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

wKgZO2ddQKCAED8dAAVTrtqPOAE884.png

2)模组主动挂断电话

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

wKgZPGddQLWABiH8AANtGowTpVs952.png

三. 总结

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

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

今天的分享就到这里了~

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

    关注

    2932

    文章

    46357

    浏览量

    394369
  • 模组
    +关注

    关注

    6

    文章

    1641

    浏览量

    31455
  • 远程通信
    +关注

    关注

    0

    文章

    49

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GPS/LBS/Wi-Fi定位,全安排!—合宙Air201资产定位模组LuatOS快速入门04

    程/固件。 ? Air201定位示例教程?? ? 合宙Air201资产定位模组 ——是一个集成超低功耗4G通信、语音通话、超低功耗
    的头像 发表于 09-12 12:04 ?1981次阅读
    GPS/LBS/Wi-Fi<b class='flag-5'>定位</b>,全安排!—合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门04

    合宙Air201资产定位模组LuatOS课程:远程控制

    很多小伙伴已经学习了前两期教程hello world、点灯,对合宙Air201这款低功耗资产定位模组的LuatOS开发已有一定了解,大家的实操反馈是:真的很简单! 那么,这一期我们要一起体验更有
    的头像 发表于 09-14 16:28 ?1458次阅读
    合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS课程:远程控制

    合宙Air201定位模组,千万不要忘记设置这个......

    合宙Air201定位模组,千万不要忘记设置这个:AT+WIFILOC设置wifi定位优先
    的头像 发表于 08-09 18:01 ?2231次阅读
    合宙<b class='flag-5'>Air201</b><b class='flag-5'>定位</b><b class='flag-5'>模组</b>,千万不要忘记设置这个......

    远程控制,就是这么简单—合宙Air201资产定位模组LuatOS快速入门03

    通过前两期教程hello world、点灯,大家对合宙Air201这款低功耗资产定位模组的LuatOS开发已有一定了解,实操反馈是:真的很简单! 那么,这一期我们要一起体验更有趣的 ——远程
    的头像 发表于 09-12 11:54 ?689次阅读
    远程控制,就是这么简单—合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门03

    玩转扩展库,温湿度传感器篇!—合宙Air201资产定位模组LuatOS快速入门05

    随着LuatOS快速入门系列教程的推出,小伙伴们学习热情高涨。 合宙Air201不仅支持三种定位方式,还具有丰富的扩展功能,通过外扩BTB链接方案,最多可支持21个IO接口:SPI、I2C、UART
    的头像 发表于 09-12 12:11 ?823次阅读
    玩转扩展库,温湿度传感器篇!—合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门05

    资产定位 | 合宙Air201模组LuatOS快速入门01-hello world

    合宙的Air201模组,功耗低,品质稳定,购买样品方便,且资料全开放。
    的头像 发表于 09-13 15:21 ?934次阅读
    资产<b class='flag-5'>定位</b> | 合宙<b class='flag-5'>Air201</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门01-hello world

    合宙Air201资产定位模组LuatOS快速入门:GPS/LBS/Wi-Fi定位,全安排!?

    教程?? 合宙Air201资产定位模组 ——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。 内部集成高效、简单、可
    的头像 发表于 09-14 07:56 ?921次阅读
    合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门:GPS/LBS/Wi-Fi<b class='flag-5'>定位</b>,全安排!?

    合宙Air201资产定位模组LuatOS课程:点灯仪式

    定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。 内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超
    的头像 发表于 09-14 16:24 ?660次阅读
    合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS课程:点灯仪式

    合宙Air201资产定位模组LuatOS快速入门(五):玩转扩展库,温湿度传感器篇!

    、I2C、UART等多种接口全部支持。 本期,我们将学习合宙Air201的扩展应用之一 ——I2C驱动AHT10温湿度传感器 Air201驱动AHT10温湿度传感器 ? 编辑 合宙Air201资产
    的头像 发表于 09-18 07:05 ?755次阅读
    合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门(五):玩转扩展库,温湿度传感器篇!

    合宙Air201资产定位模组LuatOS课程(六):PWRKEY控制解决关机难问题

    进一步学习合宙Air201应用示例**——PWRKEY控制关机功能** ** PWRKEY控制关机功能** [ ] 编辑 合宙Air201资产定位模组 ——是一个集成超低功耗4G通信、
    的头像 发表于 09-18 07:06 ?971次阅读
    合宙<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS课程(六):PWRKEY控制解决关机难问题

    你要的录音&amp;播放录音功能,直接用!Air201资产定位模组LuatOS快速入门

    ? 超低功耗、精准定位快速量产——迷你小巧的合宙Air201,正给越来越多的行业客户带来高效开发体验。 此前有小伙伴问:是否支持录音、播放录音功能? 高集成化设计的Air201自带了
    的头像 发表于 09-27 07:06 ?632次阅读
    你要的录音&amp;播放录音功能,直接用!<b class='flag-5'>Air201</b>资产<b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS<b class='flag-5'>快速</b>入门

    Air201模组教程:SPI通信与外部Flash的连接之道!

    今天我们要学习的是Air201定位模组LuatOS快速入门,本文将通过Air201+扩展板读写外部flash的演示,教你使用SPI示例,可根
    的头像 发表于 11-18 00:23 ?1001次阅读
    <b class='flag-5'>Air201</b><b class='flag-5'>模组</b>教程:SPI通信与外部Flash的连接之道!

    Air201定位模组LuatOS轻松搞定超低功耗模式!

    今天我们要学习的是定位模组Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例;更多低功耗模式的玩法,等你来探索。接下来,我们讲解相关示例的具体使用。
    的头像 发表于 12-01 15:38 ?659次阅读
    <b class='flag-5'>Air201</b><b class='flag-5'>定位</b><b class='flag-5'>模组</b>LuatOS轻松搞定超低功耗模式!

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

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

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

    今天特别分享VoLTE通话功能示例,感兴趣的朋友一起来学。 VoLTE通话功能示例 ? Air201模组的4G通信功能,通过VoLTE技术实现高清语音通话,支持音频编解码、硅麦输入和喇叭输出。在通话
    的头像 发表于 12-16 15:23 ?765次阅读
    <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><b class='flag-5'>打电话</b>!