王偉++唐軍


摘 要:針對傳統營銷存在的問題并結合網絡營銷優勢,提出了一種基于嵌入式Linux的遠程銷售管理系統。該系統將Samsung S5PV210微控制器作為銷售管理終端,控制器通過I?2S和I2C總線與音頻編解碼芯片WM8960進行數據交互,CMOS攝像頭負責采集圖像信息,系統收集的數據借助以太網或WiFi模塊傳送到云服務器,利用云平臺數據中轉,可實現音頻和圖像數據遠程發送和接收。該系統的使用轉變了營銷模式,整體設計結構簡單、運行穩定,用戶可以實時遠程視頻對話銷售。
關鍵詞:嵌入式;CMOS攝像頭;云服務器;遠程銷售
中圖分類號:TP274 文獻標識碼:A 文章編號:2095-1302(2017)07-00-02
0 引 言
近年來,隨著互聯網技術的快速發展,網絡營銷以一種全新的方式深入大眾生活的方方面面,對傳統營銷形成了巨大沖擊。然而,由于網絡營銷缺少對真實物品的直接感知,加之網絡廣告夸大宣傳,導致網絡營銷并不能完全取代傳統營銷。因此,加快轉變網絡營銷模式,促進消費,對于國民經濟增長具有重要意義。
基于嵌入式Linux的遠程銷售管理系統克服了原有營銷模式的弊端。相對于網絡銷售而言,該系統不僅支持線上瀏覽物品信息、網上交易以及網上評價,而且通過云平臺,商家可以借助系統設計的語音、攝像頭模塊實現與客戶終端設備的信息交互,通過面對面交流,用戶可以直接感知商品,促進公平交易,保障消費者利益,具有廣闊的商業前景。
1 系統總體設計
基于嵌入式Linux的遠程銷售管理系統主要分為移動終端、云平臺和嵌入式平臺三部分,系統整體結構如圖1所示。
云平臺是系統數據中轉的橋梁,負責接收來自移動終端和嵌入式平臺的音頻圖像數據并轉發到終端設備。嵌入式平臺是系統的硬件核心,由WiFi模塊、語音模塊、攝像頭模塊等組成,通過相關配置,WiFi模塊可以直接連接到路由器,語音模塊和攝像頭模塊是系統數據采集單元,嵌入式平臺將采集的數據通過WiFi模塊發送至云服務器。移動終端設備主要針對手機等手持設備,通過云平臺提供應用程序編程接口,可以方便地開發Android平臺應用程序。
2 系統硬件設計
2.1 控制器模塊
遠程銷售管理系統嵌入式平臺選用高性能Samsung S5PV210微處理器作為核心控制器,此模塊具有豐富的接口資源,擁有150個通用I/O接口、6路ADC、3路I2C等。此外,芯片內部集成高性能圖像處理引擎,可支持硬件解碼多種格式1080P高清視頻。不僅如此,S5PV210還支持多類型音頻接口,通過I2S外接WM8960音頻編解碼芯片,實現音視頻同步輸出[1]。
基于S5PV210處理器在圖像、音頻等方面的性能優勢,將其作為銷售管理系統終端控制器。
2.2 LCD顯示模塊
LCD顯示模塊也是本系統研究的重點。LCD顯示模塊主要用于可視對講、來電提醒,此外,LCD還用于信息輸入等功能,用戶借助LCD可以上傳數據,查看當前銷售狀態、客戶訪問量、客戶評價等信息,是用戶與客戶交換信息的媒介。
LCD主要分為TN型、STN型、TFT型,該系統運行嵌入式Linux,要求支持觸屏控制,所以選用LCD-S70液晶顯示模塊。該模塊亮度高、視角廣,支持音視頻混播,同步控制VS、HS引腳高低電平,可以切換LCD數據使能模式和同步模式[2],圖像和控制信號經S5PV210控制器寫入LCD寄存器,從而控制圖像數據顯示。
2.3 CMOS攝像頭模塊
圖像采集模塊選用一種基于圖像傳感器的CMOS攝像頭,圖像通過鏡頭折射到傳感芯片表面轉化為模擬電信號,經過模數轉換器轉換為數字信號,后經DSP芯片處理后,輸出數字圖像[3]。
OV7670是一種價格低、采集圖像速度快、支持FIFO緩存器的CMOS攝像頭。該模塊具有8位數據并行輸出接口,所有的寄存器只能通過SCCB接口設置,支持不掉電和掉電兩種節電模式。當MCU讀取速度無法匹配攝像頭采集圖像速度時,可以將數據暫存于緩存中。模塊與控制器連接如圖2所示。
2.4 音頻編解碼模塊
系統在視頻對話中為減少音頻數據占用的系統存儲空間,采用WM8960音頻編解碼芯片將音頻數據進行編解。
該芯片內部集成有專用的麥克風接口和耳機驅動器,同時具有信噪比為98 dB的數模轉換器和信噪比為95 dB的模數轉換器。WM8960與控制器S5PV210通過I2S和I2C總線進行數據交互[4],如圖3所示。原始的音頻信號經芯片模數轉換器轉換為數字信號,經I2S總線傳輸到控制器,通過控制器中轉把音頻數據存儲到內存單元。當需要播放音頻時,控制器從內存取出數據,經I2S總線將數據傳輸給WM8960芯片,通過數模轉換器將數字化音頻信號還原為模擬信號。其中,I2C總線主要負責傳輸控制信號。
3 系統軟件設計
3.1 嵌入式Linux系統開發
嵌入式Linux開發主要包括三部分,即嵌入式Linux系統移植、驅動程序開發、應用程序開發。
3.1.1 嵌入式Linux系統移植
該嵌入式開發基于Fedora 9.0平臺,在Linux系統移植之前,首先使用arm-linux-gcc-4.5.1工具建立交叉編譯環境,解壓安裝后運行arm-linux-gcc -v命令檢查是否安裝成功。其次,編寫內核引導加載程序Bootloader,通過引導加載程序初始化設備,建立內存空間關系映射[5]。上述工作完成后,進行下一步配置和編譯內核,本實驗采用Linux-3.0.8版本內核,執行make命令進行編譯,生成zImage內核文件。最后,用mkyaffs2image-mlc2工具制作適用于MLC NAND Flash文件的系統映象[6],制作完成后,移植嵌入式Linux系統。其整體流程如圖 4所示。
3.1.2 嵌入式Linux驅動程序開發
該系統驅動開發包括LCD驅動、網絡驅動、音頻驅動和攝像頭驅動等。Linux系統為外顯設備提供了標準幀緩存接口,幀緩存最重要的數據結構體為fb_info,靈活修改VAR和FIX兩個參數是開發的關鍵;網絡驅動開發分為四層,主要編寫函數完善設備驅動功能層及填充net_device結構體[7];音頻驅動采用OSS驅動,首先需要注冊混音器和數字信號處理器,混音器接口實現文件系統的打開和I/O控制,數字信號處理器接口主要完成文件讀寫操作;CMOS攝像頭屬于字符類設備,驅動開發需要三步,即初始化設備、配置相關寄存器和控制數據傳送,同時必須考慮并發控制。
3.1.3 嵌入式Linux應用程序開發
嵌入式Linux應用程序開發針對用戶實現與云平臺的數據交互,本系統基于Qt開發應用程序界面,使用designer工具設計系統圖形界面。首先以ui文件名作為參數輸入命令啟動designer創建基于QWidget的窗體,修改窗口大小以適應LCD液晶顯示,然后在窗體放置基本控件,改變控件屬性,并為控件添加事件響應[8]。界面設計完成后開始編寫代碼,主要編寫程序入口函數、窗口頭文件、窗口源文件以及項目文件等。程序編譯時生成PC端應用程序,再使用交叉編譯工具生成嵌入式Linux應用程序,最后借助Photoshop等圖像軟件生成48×48像素PNG文件為程序添加圖標。
3.2 Android應用程序開發
Android平臺App開發主要針對客戶端,通過App訪問云數據庫,同時實現與云平臺音視頻數據交互。應用程序開發前,需要搭建開發環境,下載安裝JDK和SDK,配置環境變量。配置完成后,打開Eclipse安裝ADT。Android應用程序開發首先應建立xml布局文件,放置基本控件,然后開發Java應用程序文件,借助云平臺提供的API接口可以很容易地實現手機與云平臺數據交互。
4 結 語
基于嵌入式Linux的遠程銷售管理系統在設計上將嵌入式技術、云技術以及安卓開發技術應用在銷售管理行業,改變了傳統銷售模式,彌補了網絡營銷的不足。該系統最大的創新點就是建立了用戶和消費者之間溝通的橋梁。消費者借助手機App不僅可以瀏覽用戶銷售信息,還能通過鏈接建立視頻對話通道,真正實現遠程面對面交易,讓消費者直接感知商品,從根本上解決了傳統網絡營銷夸大宣傳,欺騙消費等問題,具有很高的實用價值。
參考文獻
[1]劉麗.嵌入式WM8960音頻驅動及多線程播放器的設計[D].哈爾濱:哈爾濱工業大學,2015.
[2]張伽偉,周安棟,羅勇.ARM11嵌入式系統Linux下LCD的驅動設計[J].液晶與顯示,2011,26(5):660-664.
[3]李宇成,黃堂猛.基于S5PV210的1080P網絡攝像頭設計[J].計算機工程與設計,2014,35(11):3813-3819.
[4]肖青青,王甦,段勁生.音頻控制技術在現代農業中的功能研究進展[J].天津農業科學,2017,23(1):40-43.
[5]嚴菊明.基于ARM嵌入式系統的通用Bootloader的設計與實現[D].南京:東南大學,2005.
[6]張海峰.嵌入式Linux內核及其驅動開發[J].紅外,2003(10):26-31.
[7]何劍鋒,鄔文彪,李宏穆,等.嵌入式Linux系統的Qt/Embedded圖形界面開發[J]. 電子工程師,2007(7):46-48.
[8]朱園.嵌入式Linux設備驅動的研究與開發[D].北京:北京郵電大學,2008.
[9]呂文輝.基于S5PV210的物聯網視頻壓縮傳輸系統的設計與實現[D].成都:電子科技大學,2016.