官术网_书友最值得收藏!

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所示。

圖2-1 整體框架圖

2.系統流程圖

系統的流程如圖2-2所示。

圖2-2 系統流程圖

接通電源后,客戶端檢查設備是否在線,若在線,則檢查是否為有效命令輸入,若是,則執行,否則保持上一狀態,當上一命令執行完畢后,設備將進入等待狀態。當有效命令是休眠狀態時,設備進入低功耗狀態,不再工作。

3.總電路圖

系統總電路及Arduino UNO開發板、DFPlayer Mini MP3播放器、ESP8266-01S的引腳連線如圖2-3所示。

圖2-3 總電路圖

元件引腳連線如下:

1)DFPlayer Mini MP3播放器與Arduino、小揚聲器連線的模塊如圖2-4所示,引腳連線如表2-1所示。

2)ESP8266-01S與Arduino的連線模塊如圖2-5所示,引腳連線如表2-2所示。

圖2-4 DFPlayer Mini MP3播放器模塊

表2-1 DFPlayer Mini MP3播放器引腳連線

圖2-5 ESP8266-01S模塊

表2-2 ESP8266-01S引腳連線

2.3.3 模塊介紹

本項目主要包括音樂模塊和聯網模塊,下面分別給出各部分的功能、元件、電路圖和相關代碼。

1.音樂模塊

1)功能介紹

實現播放、暫停等音樂播放器的基本功能。元器件包括DFPlayer Mini模塊、SD卡、Arduino UNO R3開發板、小揚聲器。電路如圖2-6所示,模塊引腳功能如表2-3所示,串口指令格式如表2-4所示,串口控制指令如表2-5所示。

圖2-6 音樂模塊電路圖

表2-3 DFPlayer Mini模塊引腳功能

表2-4 串口指令格式

表2-5 串口控制指令

2)庫函數

頭文件:

cpp文件:

3)相關代碼

2.聯網模塊

1)功能介紹

與貝殼物聯的服務器相連,實現命令的遠程傳輸,并將音響、計算機網頁端、手機應用端連接在一起,元器件包括ESP8266-01S、Arduino開發板及手機客戶端。元器件的模塊電路和控制端通信如圖2-7和圖2-8所示。手機控制端與設備的通信,在相關代碼中已做說明,詳見代碼解析。

圖2-7 ESP8266模塊電路

圖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:

主站蜘蛛池模板: 金沙县| 洮南市| 关岭| 盈江县| 手机| 久治县| 土默特右旗| 平塘县| 嘉黎县| 拉孜县| 峨眉山市| 牟定县| 阿巴嘎旗| 潜山县| 盐城市| 阳谷县| 鹤山市| 长泰县| 印江| 石首市| 天门市| 黄浦区| 富川| 洞口县| 慈溪市| 星座| 柳河县| 榕江县| 威信县| 巨鹿县| 洪江市| 兴隆县| 南漳县| 青海省| 杭锦后旗| 周至县| 沛县| 中山市| 宾川县| 镇宁| 太谷县|