姚江云 張華宇 聶臻 湯金鎰
摘 要:本項目設計了一款基于嵌入式硬件平臺的智能廣告系統(tǒng),該系統(tǒng)主要由主控芯片STM32F103VET6、智能液晶串口屏、SD卡存儲器、電源、按鍵等部件構成,能夠實現(xiàn)對三大類廣告內容進行有序播放或選擇性播放。硬件方面,主要通過STM32F103VET6主控芯片的串口控制傳輸指令對顯示器SD卡內部儲存的廣告視頻及圖片進行播放和切換,以達到廣告系統(tǒng)智能控制的目的;軟件方面,通過C語言進行模塊化編程設計。經(jīng)過測試,該系統(tǒng)最終完成顯示器的操控,能實現(xiàn)廣告內容的流暢播放與切換,且運行穩(wěn)定。
關鍵詞:廣告系統(tǒng);嵌入式;串口屏
Abstract: An intelligent advertising system based on embedded hardware platform was designed in this project. The system is mainly composed of the main control chip STM32F103VET6, intelligent LCD serial screen, SD card memory. power supply, buttons and other components, which can realize the orderly or selective play of three kinds of advertising contents. In hardware aspect, the video and pictures stored in SD card of display are played and switched by serial port control transmission instruction of STM32F103VET6 main control chip, so as to achieve the purpose of intelligent control of the advertising system. In software aspect, modular programming is designed by C language. After testing. the system finally completes the control of the display, can smoothly realize the broadcast and switching of advertising content, and runs stably.
Keywords: advertising system; embedded; serial screen
隨著經(jīng)濟的高速發(fā)展,商業(yè)經(jīng)濟突顯出越來越重要的作用,其中用來刺激消費者的商業(yè)廣告也越來越被各廠商所重視[1]。目前,國內商業(yè)廣告的投放形式仍十分粗略,主要集中在海報、廣告牌等模式,類似的廣告模式只能對消費者起到一定的提醒作用,并不能起到關鍵性作用,存在效率低、成本高、信息量少、互動性弱等缺點。隨著信息化、智能化時代的到來,在國外,有的廣告系統(tǒng)能根據(jù)消費者的興趣播放對應的廣告[2];有的廣告系統(tǒng)能實現(xiàn)信息查詢或語音互動等功能,具有共享性、互動性的特點[3]。
本項目設計了一款基于嵌入式硬件平臺的智能廣告系統(tǒng),實現(xiàn)了將多種廣告內容集成于同一系統(tǒng)內,可以進行各種廣告內容的輪流循環(huán)播放,也可以對廣告大類進行選擇性播放,所有廣告內容畫面清晰、語音流暢,觀看體驗較好。該廣告系統(tǒng)具有信息量大、交互性好、成本低的特點,為廣告系統(tǒng)的智能化開發(fā)奠定了基礎。
1 系統(tǒng)整體方案設計
該廣告系統(tǒng)主要包括STM32F103VET6主控板、工業(yè)串口屏幕、電源、按鍵等元件,系統(tǒng)結構如圖1所示。該系統(tǒng)主要播放三大類廣告,包括城市發(fā)展宣傳類廣告、汽車品牌及企業(yè)發(fā)展宣傳類廣告、技術團隊宣傳類廣告。其廣告模式分為兩種:在無人操作的模式下可以按設定的順序輪流播放三大類廣告,也可以手動選擇播放某一類廣告。
2 系統(tǒng)硬件設計
2.1 主控芯片選型及電路設計
廣告系統(tǒng)的主控板電路是系統(tǒng)的核心部件,在選型過程中,應首先考慮芯片的性能是否滿足系統(tǒng)設計需求,其次要考慮系統(tǒng)的可擴展性、成本、耐用性、操作性等因素。
本項目選擇內部資源多、運行速度快的STM32系列單片機作為主控芯片,具體型號為STM32F103VET6。STM32F103VET6是ST廠推出的基于Cortex-M3內核的STM32系列單片機,最高工作頻率為72 MHz,1.25 DMips/MHz,在外設方面,具有1 μs的雙12位ADC,4 Mbit/s的UART,18 Mbit/s的SPI等[4-5]。本設計主要用到STM32F103VET6芯片的按鍵功能、指示燈(LED)功能、串口通信功能等,該芯片可以從外部存儲器(SD卡)讀取、解碼和輸出音頻信號。圖2為按鍵模塊、指示燈模塊及串口模塊的電路圖。
①按鍵模塊:進行相關GPIO(General-purpose input/output,通用型之輸入輸出)端口的初始化和使能;配置好相對應的引腳,并設置循環(huán)點擊函數(shù),以確保圖片(KEY2)和視頻循環(huán)播放(KEY1);還要設置停止退出按鍵(KEY4),手動停止并退出到初始界面(圖片0),按鍵KEY3為預留功能。
②指示燈模塊:LED2為視頻播放提示燈,按鍵奇數(shù)次點擊為亮(高電平),按鍵偶數(shù)次點擊為滅(低電平);LED3為圖片播放指示燈,按鍵奇數(shù)次點擊為亮(高電平),按鍵偶數(shù)次點擊為滅(低電平);LED4為視頻停止退出按鍵指示燈,視頻停止信號發(fā)出后亮起;LED5為預留功能。
③串口模塊:先配置GPIO端口的初始化和使能,再根據(jù)串口屏的傳輸協(xié)議來編寫串口傳輸程序;規(guī)定好字符串的位數(shù)和指令符號,并設置循環(huán)函數(shù),即從0開始自加,到最后一張圖片和視頻時,清零并返回至0,同時計算校驗值。
2.2 顯示屏的選型及電路設計
顯示屏作為廣告內容的主要展示工具,在觀看體驗上起著決定性作用,需要綜合考慮性能、尺寸、成本。本設計選擇10寸(約33 cm)智能液晶串口屏。該屏幕分辨率為1 024×600(H×V),支持RS232、TTL、485三個通信協(xié)議,擁有30多種組態(tài)控件,可對圖形進行自由編輯。其具有完善的人機交互功能,工業(yè)級標準,支持ESD EMI測試。在本設計中,串口屏應用的主要功能有圖片及視頻的存儲(SD卡)、播放等功能。
系統(tǒng)整體功能的實現(xiàn)步驟如下:第一,廣告素材的準備。其中,圖片必須是BMP格式,且分辨率必須與屏幕保持一致;視頻必須為MP3格式。第二,廣告素材的存儲。將準備好的SD卡進行格式化,選好32FAT格式,并創(chuàng)建HMI_SET文件夾,然后將廣告素材存入該文件夾。第三,廣告素材的編輯。在上位機(模擬器)中對廣告素材進行編輯,主要包括圖片和視頻兩方面。在菜單欄生成配置選項中從0開始(初始界面),將圖片依次編號,生成相關文件;進行視頻素材編輯時,要對屏幕固件進行升級,將固件程序“boot.bin”拷貝到SD卡根目錄下的HMI_SET文件夾中,插卡后上電,固件自動完成升級,SD卡要求容量不大于32 GB。把設定好的視頻進行排序(從0開始),放入SD卡HMI_SET文件夾里。所有文件下載完成后,斷電重啟屏幕。第四,廣告素材數(shù)據(jù)的傳輸。將配置好的圖片及其他參數(shù)文件(13.bin,14.bin)以及排好序的視頻文件一并放入SD卡內,開機前插入屏幕中;等待其數(shù)據(jù)載入完成便可進行操作;運用STM32的串口傳輸技術通過編寫程序來控制視頻和圖片的播放和切換,最終以按鍵的形式體現(xiàn)出來。
3 系統(tǒng)軟件設計
本項目軟件編程采用C語言進行程序開發(fā),編譯環(huán)境為Keil uVision5。視頻文件和音頻文件適用后綴為MP4。系統(tǒng)的主要工作流程為:將需要播放的廣告導入主控芯片中,判斷廣告是在下載序列還是播放序列,若是在播放序列,直接播放即可,若是在下載序列,待下載完成后再進行播放。此外,也可以通過按鍵選擇播放模式,模式1為輪流播放三大類廣告,模式2為具體選擇某一類廣告。具體程序流程如圖3所示。
程序分為以下幾個部分:主函數(shù)、按鍵、LED指示燈、定時器2、串口1、系統(tǒng)延時、系統(tǒng)時鐘等子功能模塊。
主函數(shù):快速調用其他功能模塊。
按鍵:先預先設置按鍵按下的數(shù)值、彈起的數(shù)值、上一次按鍵的數(shù)值(都設置為0);規(guī)定用到的I/O端口,設定推挽輸出模式,I/O口時鐘響應頻率為50 MHz,設定浮空輸入模式;設置按鍵響應時間10 ms;按鍵掃描,定時10 ms執(zhí)行一次。
定時器2:設定中斷優(yōu)先級3級,使能模式開啟;定時器周期10 ms,定時器2時鐘為72 MHz;重復計數(shù)初值設為0;設置定時時間、定時檔位:1 ms、10 ms、100 ms、500 ms、1 s、3 s、3 min。
串口傳輸:定義_sys_exit(),以避免使用半主機模式;重定義fputc函數(shù);設定循環(huán)函數(shù),循環(huán)發(fā)送,直到發(fā)送完畢;接收緩存,接收標志設定。
傳輸參數(shù)設置:波特率設置為115 200;數(shù)據(jù)位8位,停止位1位,無校驗位,無硬件流控,收發(fā)模式,配置串口參數(shù)。
數(shù)據(jù)、字符、字符串傳輸接收設置:接收緩存,接收計數(shù),接收標志位(都從0開始),清除標志位,判斷接受的數(shù)據(jù)指令頭是否正確;開始接收,將接收到的一個字節(jié)數(shù)據(jù)存入,接收緩存,接收完成,計算校驗。
4 系統(tǒng)功能調試
把屏幕與主控板連接起來,用設定好的控制程序和制定控件進行信息傳輸與反饋。
在調試過程中遇到的主要問題及解決措施為:第一,屏幕在播放并切換視頻時,如果持續(xù)高頻點擊,會出現(xiàn)卡死的情況,必須重新上電復位。解決方案為點擊一次播放視頻按鍵,再點擊一次停止退出按鍵,這樣能有效避免出現(xiàn)上述情況。第二,由于電源是外部供給,所以必須達到限定的電壓和電流。為此,本設計舍棄了USB供電,采用12 V電源適配器進行供電。
5 結語
本研究以增強設備靈活性、豐富廣告內容、提高廣告效益、降低廣告成本為目標,提出基于嵌入式硬件平臺的智能廣告系統(tǒng)設計。該系統(tǒng)以STM32系列單片機STM32F103VET6為核心控制器,以10寸(約33 cm)智能液晶串口屏作為顯示設備,通過串口控制傳輸指令對顯示器SD卡內部儲存的廣告視頻及圖片進行播放和切換,以達到廣告系統(tǒng)智能控制的目的,對智能廣告系統(tǒng)的設計具有一定的參考意義。經(jīng)過測評和問卷調查發(fā)現(xiàn),本系統(tǒng)控制下的廣告觀看率和點擊率略高于傳統(tǒng)廣告牌。
參考文獻:
[1]洪家平,許力.基于GSM模塊的遠程無線廣告系統(tǒng)的設計[J].湖北師范學院學報(自然科版),2012(3):1-4.
[2]羅旭,曹紅,唐凡.基于雙向網(wǎng)絡的智能化廣告系統(tǒng)研究[J].廣播電視信息,2020(8):103-105.
[3]唐鋼,翁艷彬,吳岳忠.車貼廣告系統(tǒng)的設計[J].企業(yè)科技發(fā)展,2020(5):33-34.
[4]龍吉.基于STM32微控制器的LED廣告屏控制器的設計[J].科技展望,2016(36):144-145.
[5]張志成,王鵬飛.基于stm32單片機的電子相冊[J].電子技術與軟件工程,2016(4):251-252.