NodeMCU-32S-内部DAC音频输出测试

NodeMCU-32S-内部DAC音频输出测试

前言

一直想玩玩ESP32的蓝牙音频功能,手上面有一个NodeMCU-32S,还没有办法直接测试音频。最近在逛CDSN时发现一个将NodeMCU-32S作为音乐电台的小项目,点进去看了下,学到了一些内容,下面记录一下。
其实在这里我学到的仅仅是将音频通过ESP32内部的DAC输出,这样刚好只用一个NodeMCU-32S和一个小喇叭就能够测试啦。

注意:本次测试仅仅用于DAC输出验证,无它

硬件说明

ESP32内置的DAC对应的外部引脚是GPIO25和GPIO26,相应的在原理图上的位置如下图所示。
sch

为了能够进行快速测试验证,笔者就直接将一个4欧姆的喇叭接到了ESP32的DAC输出引脚上,其中喇叭一个引脚接GPIO25,另外一个引脚接地。
audiotest

软件编译

在 ESP-IDF 中已经为我们提供了一个蓝牙音频的测试demo,项目名字是 a2dp_sink ,不过这个项目默认的音频输出是 External I2S Codec,我们在编译之前,在 make menuconfig 中要将其修改为 Internal DAC。如下所示。
menuconfig1menuconfig2menuconfig3
软件编译完成之后,执行 make flash monitor 进行测试。

测试

软件运行起来之后,就可以使用手机蓝牙连接ESP32了,在手机蓝牙中搜索,会找到一个 ESP_SPEAKER 名称的蓝牙,配对之后,打开音乐播放器,放一首歌曲。就能在喇叭中听到声音了,然后再看串口的日志输出,能够看到音频数据包的序号,如下。

W (310372) BT_APPL: new conn_srvc id:19, app_id:0
I (310382) BT_AV: A2DP connection state: Connected, [38:a5:ed:94:5a:36]
I (310732) BT_LOG: bta_av_link_role_ok hndl:x41 role:1 conn_audio:x1 bits:1 features:x824b

I (310742) BT_AV: A2DP audio state: Started
E (310782) BT_APPL: bta_dm_pm_btm_status hci_status=26
I (310782) BT_AV: AVRC conn_state evt: state 1, [38:a5:ed:94:5a:36]
I (310782) BT_AV: AVRC remote features 4b
I (310822) BT_AV: A2DP audio state: Suspended
I (310842) BT_AV: AVRC metadata rsp: attribute id 0x1, 借我
I (310842) BT_AV: AVRC metadata rsp: attribute id 0x2, 谢春花
I (310852) BT_AV: AVRC metadata rsp: attribute id 0x4, 算云烟
I (310852) BT_AV: AVRC metadata rsp: attribute id 0x20, 
I (311142) BT_LOG: bta_av_link_role_ok hndl:x41 role:1 conn_audio:x1 bits:1 features:x824b

E (311142) BT_APPL: bta_dm_pm_btm_status hci_status=31
I (311142) BT_AV: A2DP audio state: Started
I (312782) BT_AV: Audio packet count 100
I (314232) BT_AV: Audio packet count 200
I (315692) BT_AV: Audio packet count 300
I (317152) BT_AV: Audio packet count 400
I (318602) BT_AV: Audio packet count 500
I (320062) BT_AV: Audio packet count 600
I (321572) BT_AV: Audio packet count 700
I (323022) BT_AV: Audio packet count 800

额外补充一点,这个内部DAC是8位的,而且我这次测试使用的是杜邦线 + 排针,然后接到了一个4Ω的喇叭上,所以输出的音频基本是没办法听的,噪音非常严重。该测试仅仅作为一次内部DAC音频的调试,如果要实现蓝牙音频输出,还是推荐外接音频输出芯片。而不是直接使用内部DAC… :)

ESP32-DAC参考链接

用你的 ESP32 做一个音乐电台

ESP32 学习笔记(五)DAC - Digital To Analog Converter

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘雪冰峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值