摘要: 主要針對一些中小型表演劇場中使用到的舊式媒體設備時效性差、可靠性低、穩定性弱、通信范圍小、魯棒性差等特點,設計了一種基于云服務平臺的設備控制系統,硬件系統以STM32F103ZET6作為主控單元,與機智云配置使用,從而實現設備與互聯網的連接,讓工作人員可以對設備進行遠程控制,提高了便捷性和時效性。
近年來,新型技術不斷涌現,利用云服務平臺實現對硬件設備的實時高效控制,由此實現了物質世界、網絡世界和人類認識世界的聯通。本文由機智云開發者設計了一款適用于中小型環境的基于機智云服務平臺的媒體設備控制系統。
1, 系統總體設計 目前,基于云服務平臺進行媒體設備方面的智能硬件開發需要以下幾部分:媒體設備、云服務平臺和手機APP。基于云的媒體設備控制系統如圖1所示。
利用可靠的硬件設備模擬媒體產品可以準確地反映本設計要實現的燈光控制以及音樂播放控制等功能。云端服務器選用機智云云服務平臺,用于轉發手機軟件下發的控制指令,然后將控制指令下發至硬件設備。
圖一,基于云的媒體設備控制系統
2 系統硬件設計 2.1 燈光設備模塊
一場完美的演出需要一整套智能高效的燈光控制系統。針對劇院舞臺燈光控制系統,本設計采用STM32F103ZET6試驗板上的LED燈來模擬燈光設備,模擬燈光設備的原理圖如圖2所示。其中PWR是設備電源指示燈,為藍色,LED0(DS0)和LED1(DS1)分別為紅色和綠色,LED0與STM32的PB5相連。
圖二,模擬燈光設備原理圖
2.2音響設備模塊
針對劇院舞臺音響控制系統,本設計采用STM32F103ZET6試驗板上的SD卡模塊、音頻處理模塊、音頻功率放大模塊以及小喇叭來模擬音響設備。
本設計需要提前將要播放的歌曲存放在一張SD卡中,通過試驗板上的卡槽將SD卡與主控芯片相連接,SD卡接口與STM32F103ZET6連接的原理圖如圖3所示。
SD卡中的音樂文件需要經過音頻處理以及功率放大才可以通過擴音器進行播放,則音頻處理模塊電路原理圖如圖4所示。圖4中,MP3_LEFT/MP3_RIGHT兩個引腳用作VS1053B的音頻輸出接口。SPK_CTRL連接在VS1053B的GPIO4上,用于控制HT6872工作狀態,從而控制小喇叭出聲,要讓小喇叭發聲,必須通過APP控制VS1053B的GPIO4輸出高電平,否則小喇叭關閉。VS_RST是VS1053B的復位信號線,低電平有效。VS_DREQ是一個數據請求信號,用來通知主機VS1053B能否接收數據。
圖3 SD卡接口與STM32F103ZET6連接原理圖 圖4音頻處理模塊原理圖
音頻功率放大模塊電路原理圖如圖5所示。
圖5中,SPK_IN就是HT6872的音頻輸入,然后SP+和SP-分別連接喇叭的正負極。重點看SPK_CTRL,這個信號控制著HT6872的工作模式,該信號由VS1053B的36引腳(GPIO4)控制,當SPK_CTRL引腳為低電平時,HT6872進入關斷模式,也就是功放不工作了,當SPK_CTRL引腳為高電平時,HT6872進入正常工作模式,此時喇叭可以播放SPK_IN輸入的音頻信號。這樣,通過SPK_CTRL就可以控制喇叭的開關了。播放音樂以后,采用TFTLCD模塊顯示模擬音響設備在運行過程中的播放信息。
系統軟件設計
系統能夠正常運行必須有軟件程序的設計開發,本文的控制系統軟件設計主要分為兩部分:一是模擬媒體設備STM32F103ZET6MCU端程序的編寫,包括LED燈初始化及控制程序設計、音樂播放部分的初始化及控制程序設計、WiFi初始化等程序;
二是智能手機的應用程序,主要是在機智云Aiot開發平臺進行產品創建、虛擬設備功能實現、程序移植以及智能手機APP的下載安裝。系統軟件設計整體框圖如圖6所示。 圖5音頻功率放大模塊電路原理圖
圖6系統軟件設計整體框圖
整個系統的軟件設計包括LED燈、LCD顯示屏以及VS1053B等芯片外設的初始化程序設計,WiFi模塊的固件安裝、WiFi初始化,硬件配網及控制主界面程序設計,云平臺APP控制功能程序設計以及程序移植。模擬媒體設備程序設計主要使用Keil5 MDK開發環境,采用C語言開發。
3.1 開發環境搭建及開發平臺選擇 3.1.1 MDK開發環境
軟件設計采用Keil MDK5開發平臺,對比以前的版本,Keil MDK5有非常大的優勢,新版本的器件包與編譯器是分離開的,也就是說在使用時需要哪種器件就下載相應的器件包即可,無需下載其他器件包,從而節省存儲資源、節約開發成本。
3.1.2 機智云(Gizwits )AIoT開發及云服務平臺 選用的是目前為止在物聯網開發領域具有相當大優勢的機智云云服務(Gizwits)平臺,提供了自助式在線工具與開放的IoT云端服務,只需少量代碼,甚至只需進行拖拉拽,就能開發一款App或語音控制智能設備。有助于加快開發速度,縮短開發周期。
3.2 GAgent嵌入式固件系統
GAgent是一種用于數據轉發的嵌入式固件系統,硬件設備需要依靠GAgent才能接入機智云服務平臺,GAgent接入機智云,需要經過以下幾個步驟: (1) GAgent獲取設備信息,首先GAgent通過串口向MCU發出請求設備信息指令,MCU在接收到請求指令后將設備信息以同種方式發送給GAgent,如果此時設備正常工作,則MCU需要回復GAgent發出的心跳包 (2) 設備配置入網有airlink、softAP兩種方式可供選擇:airlink方式主要通過手機端發送包含路由器賬號和密碼的特定UDP廣播,設備的WiFi模塊接收到后根據廣播包含的信息連接到路由器上;softAP方式則是將設備作為一個AP,將手機APP連接到WiFi模塊的熱點上。 (3) 前者可以實現遠距離的控制指令下發接收,而后者只能用于近距離的相關配置,無法實現遠距離通信。根據設計的要求,選擇airlink方式進行配網。airlink配網流程如圖7所示。
圖7 Airlink方式配置入網
(4) 智能手機APP控制設備之前必須先綁定設備,本設計采用WiFi方式對設備進行綁定,WiFi技術安全健康,在實際工作中,它的發射功率大約在60~70mW之間,所以說該技術相對來說是比較安全健康的[11],搜索并綁定設備流程如圖8所示。
3.3 設備數據的上報與下發 上報設備數據一般是指設備主動上報當前運行狀態,MCU通過串口上報設備數據給GAgent,GAgent將數據上報給云端,云端將數據下發至APP;而下發數據一般是指智能手機APP或者云端控制硬件設備,APP端上報數據到云端,云端將其下發至GAgent,進而通過串口下發至MCU。設備數據的上報及下發流程如圖9所示。
4 系統功能測試 在系統的整體設計完成以后,對本設計的功能進行了實際測試,即通過手機APP發送控制指令,經過云端服務平臺接收并下發至模擬媒體設備的WiFi模塊,設備做出實時響應。
圖8 APP通過WiFiI設備綁定
圖9設備數據的上報與下發
4.1 設備配置入網 基于云的媒體設備控制系統設計的設備配置入網測試步驟如下: (1) 給設備上電,打開K2開關,指示燈PWR亮起,對WiFi模塊進行配置,完成硬件外設的初始化工作。 (2) 給設備上電,打開K2開關,指示燈PWR亮起,對WiFi模塊進行配置,完成硬件外設的初始化工作。 (3) 將智能手機連接無線路由器,可以通過無線路由器上網,保持網絡暢通。 (5) 設備配網,通過手機APP進行配置,輸入智能手機所連接的路由器賬號和密碼、選擇WiFi模組類型并將設備設置為待連接狀態,通過串口助手調試軟件可以觀察到設備當前的網絡狀態。 (6) 設備配網完成之后,智能手機APP界面將會顯示出設備名稱,設備配網成功實物如圖10所示。
圖10 設備配網成功實物圖
4.2控制功能測試
完成設備配置入網后,將手機的網絡由連接路由器切換為4G網絡,手機便可以隨時隨地訪問云端服務器并發送指令至模擬媒體設備,使之實現燈光開關以及音頻播放等功能。當手機LED開關打開時,設備下端的紅色LED燈DS0亮起,開關關閉時,LED燈滅。 接下來測試模擬音響設備功能,當手機player開關打開時,設備播放音樂并在LCD屏上顯示當前播放歌曲的名稱、時長、音量以及存儲的音頻文件總數等詳細信息。以上便是云端控制系統功能測試內容,經過測試,登錄機智云IoT開發平臺查看設備運行日志,可以了解具體指令下發過程。
基于當前物聯網技術高速發展這一大背景,設計了基于云服務平臺的媒體設備控制系統,已經完成的主要工作以及系統的優勢總結如下:選擇了高性能且低成本的STM32模擬媒體設備,在一定范圍內基本能夠實現對燈光、音響設備的控制功能,極大提高了系統的有效性和可靠性;為了使觀眾、聽眾能夠獲得更好的視聽體驗,設計了功能實現顯示界面,主要在音響設備控制模塊增加了LCD,用以顯示當前播放歌曲的具體信息。
由于時間、成本等多方面因素的限制,還存在著許多不足之處,等待后續作進一步改進:為了節約系統設計的成本,系統中選取的燈光控制模塊由LED燈模擬實現,音響設備控制模塊由板載小喇叭模擬實現,系統僅對劇院環境下的媒體設備做了模擬處理,后續還需要針對實際設備作進一步改進;系統設計中選取的功能模塊比較少,無法完整體現劇院媒體設備的全部功能,后續還可以增添多種功能模塊,例如幕布控制、舞臺升降等。
|