首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

乐鑫Esp32学习之旅11 入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。(附带Demo)

  • 23-11-14 06:42
  • 2446
  • 10407
blog.csdn.net

  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。


文章目录

    • 一、前言;
    • 二、手头上的esp32语音开发板总结;
    • 三、环境搭建;
      • 3.1 修改 IDF指向路径,增加 ADF路径;
    • 在这里插入图片描述
    • 四、编译工程;
    • 五、其他;
    • 另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

在这里插入图片描述

一、前言;


    距离上篇 esp32 的文章发表有一个月了,在群里应该有人知道我付费某些工程被别人“喷到”什么样了。但事情过了有段时间了,我不管他人怎么说了,我依然不忘初心做自己的事情,写自己的笔记,也希望可以帮助其他人。

    这几周最让我关注的是 香港激进分子事件,作为中华子孙,都忘了前一百年香港是怎么被外国侵犯的,如今的自由、和平生活过得太舒服了;竟然去侮辱国徽,去霸占地铁入口阻碍交通导致一位孕妇惊吓入院,真应了网友一句话:“这种人要是在大陆,被打得认不出爹娘!” 对待为什么香港没用出动暴力解决,推荐大家看看这文章:https://mp.weixin.qq.com/s/dr7_ERFLy6Q-AE1wfNLljg

    说了这么多话,下面入正题;

    乐鑫esp-adf 音频框架已经是开源很久了,我也是一直在玩这个,周末看了看,有个蓝牙耳机的新工程开源了,而我上半年也是买了很多 esp32 语音开发板,但是都怎么更新代码,于是乎,我拿出我之前买的乐鑫开发板 esp32 Lyrat 语音开发板,调节了2个小时,终于玩出来了,很舒服,解决了我的小米8没有耳机插口问题,因为我有一个蓝牙耳机,哈哈!!

    实物图:


二、手头上的esp32语音开发板总结;


     想了想,应该买了几个第三方开发板了,

  • TTGO:https://github.com/LilyGO/TTGO-TAudio
  • 工程没多少,主要还是 蓝牙耳机功能、网页调节音量开灯功能,是驱动WM8978实现的;以及一个驱动ws2812 的 ardunio工程。
    在这里插入图片描述

     这个是我最早接触的了,是一个优秀的工程师开发的,有蓝牙音响+WEB收音机,百度语音识别等功能,虽然现在的乐鑫 adf 框架已经有了这些例子,但是已经深度封装了,想要深度,建议学习这个大神的作品;

  • 知乎专栏:https://www.zhihu.com/people/frankie.zengfu
  • whyengineer:https://github.com/whyengineer/esp32-lin

在这里插入图片描述


     最后要介绍的是乐鑫官网的,我已经买了2块了,一个是买群友的,一个买官网的,还好价格不贵,但是在国外卖的价钱是国内的2倍多;其主要设计是围绕音频方案开发的,有很多好玩的demo,比如 播放mp3文件,文字通过百度云转语音播放,duerOs等开源工程;而我后面就是玩这个官网的开发板了!

在这里插入图片描述


三、环境搭建;


     其实环境搭建很简单,大家先搭建 esp-idf 的环境,可以参考我之前的 esp8266 rtos3.0 环境,把工具链指向 esp32 的就可以了!或者去红旭的教程,可以在 linux 或者 windows 搭建环境;

     等你就绪了 esp-idf 环境步骤,入门了 “Hello world” 工程之后,还需要做以下步骤:


3.1 修改 IDF指向路径,增加 ADF路径;


     不管是 windows 还是 linux平台都要修改 IDF指向路径,增加 ADF路径,下面是我在 windows平台实现的思路;
     在工具链设置文件 esp32_toolchain.sh , 修改 IDF指向路径让它指向当前 adf 路径里面的 idf 文件夹,而增加 adf 路径,如下:

在这里插入图片描述

四、编译工程;


     把官网的 pipeline_bt_sink 工程编译,可能你会编译失败,因为需要一些配置,首先你得打开蓝牙配置使能,在 make menuconfig 配置:

在这里插入图片描述


/esp-adf/components/audio_service/bluetooth_service.c:435 (bluetooth_service_start): enable controller failed
  • 1

    如果你发现你跑起来了但是没有搜索到其蓝牙耳机,也有以上报错,也许是下面不对,因为没启动蓝牙服务成功!

    这里尤其注意要在 make menuconfig 打开蓝牙设置蓝牙控制器模式,否则无法启动蓝牙服务:

      bluetooth                  
                ---->bluetooth controller
                                ---->bluetooth controller mode
                                                    ---> br/edr only 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述


五、其他;


    这个开发板很特别,需要2个 Mico USB,一个是串口用,一个专门供电的;以及需要手动进去下载模式,非手动!

    因为我玩过其他开发板,具有当前播放歌曲的详细信息,很遗憾的是,目前官网这个demo是木有的,但是我根据以往开发板经验,加一些数据进去,就可以显示当前播放歌曲的详细信息啦!

    只需要把我提供的组件 文件夹替换官网的文件夹即可!工程主文件不需要修改!

思路:主要是要监听蓝牙播放时候的 metadata 的改变特征事件,要主动订阅,在蓝牙事件回调 ESP_AVRC_CT_CHANGE_NOTIFY_EVT中实现对数据剖析显示即可!


  • 主要还是可以显示 中文歌曲的信息哦!
    在这里插入图片描述

另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转esp8266带你飞、加群付费QQ群,不喜的朋友勿喷勿加:434878850
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码回复 190807 获取本工程源码地址,干货多多,第一时间推送!
注:本文转载自blog.csdn.net的半颗心脏的文章"https://blog.csdn.net/xh870189248/article/details/98635976"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top