![Arduino案例实战(卷Ⅳ)](https://wfqqreader-1252317822.image.myqcloud.com/cover/543/26793543/b_26793543.jpg)
2.3 功能及总体设计
本作品主要分为两个模块进行设计:音乐模块和联网模块。音乐模块的主要功能是实现音乐播放器的相关功能,读取SD卡中的音乐文件(MP3、WAV音乐文件)的解码、译码以及播放、暂停等功能;联网模块的主要功能是将控制端从计算机解放出来,实现本项目中“Free”的含义,用手机远程操纵时,能接收到命令,并返回相应的结果语句给客户端,达到方便快捷的目的。
2.3.1 功能介绍
用户只需将MP3或WAV文件存于SD卡中,便可通过手机APP以遥控或对话的形式对作品进行远程控制,实现播放、暂停、上/下一曲、停止、随机、音量+/-,以及播放生日歌、闹铃、火情通知、校园广播等特色功能。SD卡中的音乐文件格式较常规,从网上下载的歌曲无须转换格式就可以直接存入卡中等待播放。不同于其他音响,本音响可实现远程控制,还可以通过选定音乐编号来直接播放喜欢的音乐。
2.3.2 总体设计
要实现上述功能需要将作品分成两个模块进行设计:音乐模块和联网模块。音乐模块选用功能较全的DFPlayer Mini MP3播放器模块和兼容性较好的8GB SD卡;联网模块由ESP8266-01S和贝壳物联平台构成,实现命令的无线传输。Arduino UNO R3开发板将两个模块连接起来,是项目的核心控制器。
1.整体框架图
项目的整体框架如图2-1所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P60_1723.jpg?sign=1739056680-Nniv4K6neQtPzYkUbv4rwBLHwGnAjRnr-0-7234d90445ac6a28985a20f45c550302)
图2-1 整体框架图
2.系统流程图
系统的流程如图2-2所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P61_1729.jpg?sign=1739056680-k4OtikAcUSdm6LNRSw1pMVtNXRVFymvD-0-55049bf0264fe619b290a9586ed153db)
图2-2 系统流程图
接通电源后,客户端检查设备是否在线,若在线,则检查是否为有效命令输入,若是,则执行,否则保持上一状态,当上一命令执行完毕后,设备将进入等待状态。当有效命令是休眠状态时,设备进入低功耗状态,不再工作。
3.总电路图
系统总电路及Arduino UNO开发板、DFPlayer Mini MP3播放器、ESP8266-01S的引脚连线如图2-3所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P62_1735.jpg?sign=1739056680-FFkLccZmRqvTnA8iinmGsDrS37nQyJKd-0-a89628868379d7c5accf930d665d3514)
图2-3 总电路图
元件引脚连线如下:
1)DFPlayer Mini MP3播放器与Arduino、小扬声器连线的模块如图2-4所示,引脚连线如表2-1所示。
2)ESP8266-01S与Arduino的连线模块如图2-5所示,引脚连线如表2-2所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P63_2802.jpg?sign=1739056680-CBvg7OZ2yLLzfeq6DQ4erTk8IAo4PUml-0-4033db06d4a717de41dfeb21a1757072)
图2-4 DFPlayer Mini MP3播放器模块
表2-1 DFPlayer Mini MP3播放器引脚连线
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T63_11122.jpg?sign=1739056680-Odz2faUh7CBf6a3sltSCssfCtxDurefd-0-cbb87929fd6d6f644390d9773fabf330)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P63_2816.jpg?sign=1739056680-S7bQetOjWByVugL3SlCktzMaz9ZyyQgF-0-9507c91eaa56a3a498e528123e36e3ae)
图2-5 ESP8266-01S模块
表2-2 ESP8266-01S引脚连线
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T63_11125.jpg?sign=1739056680-BPjotFVVpasMzhFUqG2pKdwmGJ9OguHX-0-c9a8f0135ee903b102e504de4840cee5)
2.3.3 模块介绍
本项目主要包括音乐模块和联网模块,下面分别给出各部分的功能、元件、电路图和相关代码。
1.音乐模块
1)功能介绍
实现播放、暂停等音乐播放器的基本功能。元器件包括DFPlayer Mini模块、SD卡、Arduino UNO R3开发板、小扬声器。电路如图2-6所示,模块引脚功能如表2-3所示,串口指令格式如表2-4所示,串口控制指令如表2-5所示。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P64_2836.jpg?sign=1739056680-JWPUxheJ5ZCfH8fmSu25AzRPzG5aHzic-0-04dc4e5434ce6fa190c40520ee8c25d1)
图2-6 音乐模块电路图
表2-3 DFPlayer Mini模块引脚功能
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T64_11128.jpg?sign=1739056680-0j41qF0tqcDiFjcqNWe2LR2BXSZi4aUZ-0-bf29b6784dde0cc1a76f2ebe564ee90e)
表2-4 串口指令格式
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T65_11131.jpg?sign=1739056680-PhtZavJ3UdBxwKqCKIZZTH8gMVB5WVJ4-0-37a32318481471e8231a49a19c54a5f4)
表2-5 串口控制指令
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-T65_11133.jpg?sign=1739056680-7ZAFHhryW3AHN1DoOt9y64LW3JorOe0l-0-fa455709cf42c17e7eeb8056b95c80c6)
2)库函数
头文件:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P66_11135.jpg?sign=1739056680-QScJK1UgU7HCcPODhupYNcK77fT1xGOk-0-b12e53ec68096c75c28e32daf9a36c6a)
cpp文件:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P67_11136.jpg?sign=1739056680-TsNhyVaDUr76HqOEIeuZu252XtfMiPhc-0-1a2d855aae4e8af2ef9b1b62982fba21)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P68_11137.jpg?sign=1739056680-lO4BkJhrDISKQJcb1n7eYwEyxSpPv7hu-0-e05f1e6200fabfb7741ec6968b1e2c6b)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P69_2977.jpg?sign=1739056680-YO1lmba96vaqd6lZV6NoDckQB5tzRbOe-0-30d7a31afe99dd99ef32a712482ea3f4)
3)相关代码
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P70_11138.jpg?sign=1739056680-QVaeUVINhRrnFzBbPAX35KwgyijWRdjN-0-e2307c9809064a28dcf683dadd787e0a)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P71_11139.jpg?sign=1739056680-665NmwRbORPSXwKFTRjccS7aPgx3mNiI-0-4649a7b7df9629cdd63edb5e7c505846)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P72_11140.jpg?sign=1739056680-BRx0iouhrrDoDgDrsIEhRoEBagWJNHg4-0-2382cccf57aba4e35a624e51e4241c0a)
2.联网模块
1)功能介绍
与贝壳物联的服务器相连,实现命令的远程传输,并将音响、计算机网页端、手机应用端连接在一起,元器件包括ESP8266-01S、Arduino开发板及手机客户端。元器件的模块电路和控制端通信如图2-7和图2-8所示。手机控制端与设备的通信,在相关代码中已做说明,详见代码解析。
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P72_2995.jpg?sign=1739056680-kJzrhTwL0sMYiE3TSBfZwwMvrVWQgbq6-0-96c31244022c153f77c137abc2855cb2)
图2-7 ESP8266模块电路
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P73_3000.jpg?sign=1739056680-Dj4B1hah8BiS9UzszZxFldn7VDcySAhl-0-e530b8192f538379bf91a1f61d8c4a23)
图2-8 手机控制端与设备的通信
2)相关代码
代码1:对ESP8266进行透传设置,并自动连接贝壳物联的服务器。
AT ATE0 AT + RESTORE AT + CWMODE = 1 AT + CWJAP = "Jasmine","wrj04300" AT + CIPMODE = 1 AT + SAVETRANSLINK = 1,"121.42.180.30",8181,"TCP"
注意:每个命令输入后均需手动换行。
代码2:
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P73_11142.jpg?sign=1739056680-WDXgmKtmRqxNjqM7UdwYk7uN00X4NRp2-0-9fe952e7dc7b6f29d969a80f167fd1d6)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P74_11143.jpg?sign=1739056680-HBCrx8T2ldgPEJcqjAsxpT9ljbxtZ5UG-0-d466b6dc755f5446a61e8d5ba92b582d)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P75_11144.jpg?sign=1739056680-QMywb2CIOlA3sPAaz6kt4xtv58kO0ZUq-0-11b87f6ea652770853ee9c20fce4bcc4)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P76_11145.jpg?sign=1739056680-Y2yihz8XXIVbOnP0omiUpRdwOM5HcIH3-0-d88ae2b8ef309f2e28139873fac46565)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P77_3032.jpg?sign=1739056680-m0J4X1d1y7hAdMoTgMJ0VHlXSFlUEvYB-0-89f368f2c6d2a82f6f15b0465639dafb)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P78_11146.jpg?sign=1739056680-DK4HZ70KeTy2YcPOJqmSi2isUnpystpJ-0-96cbe8295e1148aa5acfa7c9ddcc5c16)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P79_3039.jpg?sign=1739056680-0c1rQWhyjZM1cO5roEZ2t8hpBZ8CzXKo-0-4b881d0fe9a6c438e15d913ce753cc1b)
![](https://epubservercos.yuewen.com/1759EC/15253385105228106/epubprivate/OEBPS/Images/Figure-P80_3042.jpg?sign=1739056680-9BYkwGPUuJJS0eoh5PduBFQnWSihk4j2-0-44d58c8704e62d77cd900190a8678b6a)