李兵+施展
摘 要:電梯是高層建筑不可缺少的設(shè)施,怎樣確保電梯高效平穩(wěn)運(yùn)行是當(dāng)今電梯技術(shù)研究的重要課題。根據(jù)電梯遠(yuǎn)程監(jiān)控設(shè)計需求,基于系統(tǒng)化模塊化設(shè)計思想,采用常見的客戶端/服務(wù)器架構(gòu),將基于Linux的嵌入式系統(tǒng)作為前端數(shù)據(jù)采集發(fā)送平臺。詳細(xì)介紹了嵌入式開發(fā)過程,提出了開發(fā)環(huán)境搭建方案,編寫了數(shù)據(jù)采集處理程序;重點(diǎn)對基于TCP/IP通信和Socket通信協(xié)議的網(wǎng)絡(luò)軟件進(jìn)行了優(yōu)化設(shè)計,并對網(wǎng)絡(luò)通信性能作了分析檢測,詳細(xì)介紹了數(shù)據(jù)庫的搭建和界面設(shè)計。
關(guān)鍵詞:電梯監(jiān)控;嵌入式系統(tǒng);Socket通信;通信協(xié)議棧
DOIDOI:10.11907/rjdk.171389
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:1672-7800(2017)008-0094-03
1 信號采集與傳輸
電梯遠(yuǎn)程監(jiān)控系統(tǒng)利用Linux [1]網(wǎng)絡(luò)設(shè)置的優(yōu)良特性,結(jié)合網(wǎng)絡(luò)協(xié)議通信技術(shù),將前端采集到的數(shù)據(jù)信息發(fā)送到后端主機(jī)上,實(shí)現(xiàn)數(shù)據(jù)的接收、儲存和分析[2]。
1.1 數(shù)據(jù)采集
信號采集遵循那奎斯特定律,即采樣定律。采樣的頻率要大于信號中有效信號最大頻率的2倍,這種采樣方式所得的數(shù)字信號才能夠保存原來信號的信息。采樣公式如下:
fs.max>fmax(1)
A/D采樣的最后一個步驟是編碼,離散型數(shù)值通過量化后,將結(jié)果用計算機(jī)二進(jìn)制編碼表示出來,這就是編碼過程,信號經(jīng)過這個編碼過程變?yōu)閿?shù)字信號。
1.2 網(wǎng)絡(luò)數(shù)據(jù)傳輸
在通信網(wǎng)絡(luò)中,各進(jìn)程間的遠(yuǎn)程通信主要是C/S模式,即通過特定的客戶端向服務(wù)器發(fā)送數(shù)據(jù)請求,服務(wù)器接收到請求后反饋數(shù)據(jù)處理結(jié)果??蛻?服務(wù)器模式有兩個要求:①由于雙方信息量、軟硬件資源、處理能力的不一致,必須共享資源;②雙方通信處于異步狀態(tài),只能通過遠(yuǎn)程通信實(shí)現(xiàn),無法使用共享內(nèi)存機(jī)制。
圖1為基于客戶/服務(wù)器模式的TCP/IP協(xié)議棧的網(wǎng)絡(luò)通信OSI模型。
監(jiān)控進(jìn)程啟動后,生成一個Socket套接字,一方面處理響應(yīng),另一方面發(fā)送請求。在實(shí)現(xiàn)網(wǎng)絡(luò)互連后服務(wù)器監(jiān)控進(jìn)程即開始監(jiān)聽本地網(wǎng)絡(luò)端口請求[3]。
2 系統(tǒng)硬件設(shè)計
2.1 嵌入式硬件體系架構(gòu)
嵌入式服務(wù)器不僅要采集傳感器數(shù)據(jù),而且要與遠(yuǎn)程主機(jī)進(jìn)行通信。核心處理器ARM9系列采用了處理器集成的電源管理單元,可有效優(yōu)化系統(tǒng)電源設(shè)計,降低成本及系統(tǒng)功耗,適合于低功耗、低成本、高性能的便攜式設(shè)備[4]。圖2為ARM架構(gòu)。
2.2 功能接口電路設(shè)計
ARM9處理器提供了主機(jī)和OTG兩種類型的控制器。主機(jī)接口電路如圖3所示,上部為標(biāo)準(zhǔn)主機(jī)電路,下部為OTG的HOST電路,USB熱插拔提供相關(guān)保護(hù)電路。
文件下載和數(shù)據(jù)傳輸通過以太網(wǎng)適配器實(shí)現(xiàn)。MX28X嵌入式開發(fā)板配有網(wǎng)絡(luò)適配器,提供一個網(wǎng)絡(luò)接口訪問局域網(wǎng)和廣域網(wǎng)。開發(fā)板提供一個TF卡功能接口擴(kuò)展存儲資源[5]。該系統(tǒng)實(shí)現(xiàn)了ARM&Linux在平臺IIC下的驅(qū)動,在Linux系統(tǒng)平臺實(shí)現(xiàn)管理軟件,可以非常方便地接入軟件,管理更加方便,移植性更好。圖4是IIC接口電路原理。
2.3 數(shù)據(jù)采集模塊設(shè)計
測試系統(tǒng)數(shù)據(jù)采集選擇Mma系列的三軸加速度傳感器模塊。Mma是一個集成傳感器,內(nèi)部集成了信號調(diào)節(jié)電路、低通濾波器、A / D轉(zhuǎn)換電路[6]。
3 系統(tǒng)軟件設(shè)計
3.1 嵌入式平臺搭建
Linux嵌入式系統(tǒng)是開源的,可以削減、跨平臺、多任務(wù)及多用戶實(shí)現(xiàn)。ARM和Linux結(jié)合使嵌入式設(shè)備具有低功耗、高性能特點(diǎn)。
主機(jī)和目標(biāo)機(jī)使用不同的平臺,系統(tǒng)采用PC X86架構(gòu),開發(fā)板使用ARM架構(gòu)。X86屬于復(fù)雜指令集,ARM屬于精簡指令集,兩個過程指導(dǎo)的方法不同,需要不同的編譯器。GCC是一個跨平臺編譯器工具處理器平臺,支持多個版本,可完成從源代碼文件轉(zhuǎn)換到一個特定的處理器平臺,執(zhí)行文件切換。GCC不僅強(qiáng)大,而且具有結(jié)構(gòu)靈敏、跨平臺支持的優(yōu)點(diǎn)[7]。
超級終端Minicom是公認(rèn)的嵌入式開發(fā)工具,通過終端可以直接對開發(fā)板進(jìn)行命令控制、資源操控。Minicom安裝配置操作步驟:①安裝Minicom:sudo apt-get install minicom;②在命令行鍵入:sudo minicom –s,啟動Minicom進(jìn)行設(shè)置;
選擇Serial port setup項(xiàng),將“Serial Device”設(shè)置為/dev/ttyUSB,設(shè)置“Bps/Par/Bits”為57600 1,設(shè)置“Hardware Flow Control”為No;選擇Modem and dialing項(xiàng),除了保留標(biāo)志A B C D E F G H K L外,刪除其它項(xiàng)。退出到啟動頁面選擇“Save setup as dfl項(xiàng),意味著將設(shè)置保存到df1位置。Minicom配置界面如圖5所示;③將系統(tǒng)用戶添加進(jìn)Minicom所在組,使用戶能夠使用Minicom: $ sudo adduser test groupname
在內(nèi)核中,文件系統(tǒng)和應(yīng)用程序下載調(diào)試可通過燒錄U盤來完成。TFTP協(xié)議是一個簡單的文件傳輸協(xié)議,具有傳輸速度快、量大的特性。TFTP服務(wù)器主要提供目標(biāo)與主機(jī)之間的內(nèi)核映像文件下載[8]。TFTP工具安裝分為TFTP服務(wù)器安裝和TFTP客戶端工具安裝,具體步驟如下:
①下載相關(guān)軟件包: sudo apt-get install tftp-hpa;
②建立tftp服務(wù)器工作目錄:sudo mkdir /tftpboot;
③修改工作目錄全限:sudo chmod -R 777 /tftpboot;endprint
④編輯相關(guān)服務(wù)器配置:
修改后查看內(nèi)容如下:sudo vi /etc/default/tftp-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
⑤重新啟動TFTP服務(wù):sudo service tftpd-hpa restart。
3.2 設(shè)備驅(qū)動程序結(jié)構(gòu)
操作系統(tǒng)的硬件管理通過相應(yīng)的驅(qū)動程序完成。設(shè)備驅(qū)動直接設(shè)置頂層底層硬件,起到轉(zhuǎn)換和翻譯的作用。設(shè)備驅(qū)動由軟件實(shí)現(xiàn),屬于內(nèi)核的一部分[9]。驅(qū)動完成以下功能:①設(shè)備狀態(tài)初始化和操作完成后釋放;②管理設(shè)備,設(shè)置設(shè)備的工作參數(shù),提供設(shè)備的接口;③在操作設(shè)備與應(yīng)有程序之間充當(dāng)橋梁,起到數(shù)據(jù)翻譯作用;④監(jiān)控設(shè)備運(yùn)行狀態(tài),有錯誤提示功能。
3.3 網(wǎng)絡(luò)通信軟件設(shè)計實(shí)現(xiàn)
實(shí)驗(yàn)采用基于TCP的可靠通信協(xié)議,通信模型對象是網(wǎng)絡(luò)中的數(shù)據(jù)。每層數(shù)據(jù)有不同的組織形式,應(yīng)用層采用包的形式,傳輸層采用數(shù)據(jù)報的形式,網(wǎng)絡(luò)層采用報文的形式,鏈路層采用數(shù)據(jù)幀的方式,物理層以位的格式呈現(xiàn)[10]。
數(shù)據(jù)以層層包裝的方式在網(wǎng)絡(luò)中傳輸,首先從用戶空間的應(yīng)用層開始,然后到內(nèi)核空間,接受內(nèi)核協(xié)議棧的處理,每一層又會添加這個標(biāo)志和協(xié)議規(guī)則信息,完成后將報文作為下一層的數(shù)據(jù)段處理使用,然后進(jìn)行物理連接,最后發(fā)送出去。等到了用戶即目的主機(jī),就會將接收到的數(shù)據(jù)包頭部逐層去除,這個過程是數(shù)據(jù)封裝的逆過程,稱為解封裝。
3.4 數(shù)據(jù)庫創(chuàng)建與界面模塊設(shè)計
本實(shí)驗(yàn)選擇SQL Server 2008數(shù)據(jù)庫作為本地數(shù)據(jù)服務(wù)器。通過VS開發(fā)環(huán)境中的SQL Datasource控件實(shí)現(xiàn)界面與數(shù)據(jù)庫的通信[11]。接口定時監(jiān)視定時器從數(shù)據(jù)庫中檢索數(shù)據(jù),按一定規(guī)律更新到顯示,將有用數(shù)據(jù)保存到指定表中。
本實(shí)驗(yàn)基于Virual Staido2010平臺使用C#[12]語言實(shí)現(xiàn)實(shí)驗(yàn)界面。電梯監(jiān)控界面管理功能有實(shí)時故障報警、狀態(tài)信息、日志信息存儲、監(jiān)測等。監(jiān)控軟件能將接收到數(shù)據(jù)進(jìn)行分析,監(jiān)控界面應(yīng)該具有動態(tài)化、圖形化功能。 一個標(biāo)準(zhǔn)的界面軟件需要完善界面管理系統(tǒng),在軟件工作運(yùn)行前需要將相關(guān)信息調(diào)入監(jiān)控管理界面,界面顯示遠(yuǎn)程終端發(fā)送的數(shù)據(jù),實(shí)現(xiàn)保存接收功能。
遠(yuǎn)程終端數(shù)據(jù)保存在本地數(shù)據(jù)庫,本地操作界面以一定時間間隔從數(shù)據(jù)庫取出數(shù)據(jù)并將其更新到界面。圖6為界面監(jiān)控顯示內(nèi)容。
由于實(shí)驗(yàn)設(shè)備和環(huán)境條件限制,很難模擬電梯監(jiān)控的數(shù)據(jù)傳輸,本實(shí)驗(yàn)以加速度為電梯監(jiān)控對象,專門設(shè)計了一個接收界面測試數(shù)據(jù),對加速度數(shù)據(jù)進(jìn)行處理,進(jìn)而驗(yàn)證網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膶?shí)時性、穩(wěn)定性和系統(tǒng)方案的正確性。
4 結(jié)語
本文開發(fā)了一套基于網(wǎng)絡(luò)的嵌入式數(shù)據(jù)傳輸平臺。詳細(xì)介紹了嵌入式開發(fā)平臺的硬件架構(gòu),并給出了原理圖和詳細(xì)參數(shù),對處理器、內(nèi)存和外部端口作了專門說明和分析。提出了開發(fā)環(huán)境的構(gòu)建方案,完成了內(nèi)核的裁剪、嵌入式設(shè)備的移植、文件系統(tǒng)的掛載等搭建工作,編寫了IIC驅(qū)動程序,并通過應(yīng)用程序驗(yàn)證網(wǎng)絡(luò)及驅(qū)動工作的有效性。
參考文獻(xiàn):
[1] 段登.網(wǎng)絡(luò)環(huán)境下多電梯智能遠(yuǎn)程監(jiān)控系統(tǒng)的研究[D].蕪湖:安徽工程大學(xué),2012.
[2] 潘小紅.基于物聯(lián)網(wǎng)技術(shù)的電梯安全監(jiān)控系統(tǒng)研究[J].無線互聯(lián)科技,2016(20):125-128.
[3] 徐愛華,全書海.Socket 網(wǎng)絡(luò)通信及其在電梯監(jiān)控系統(tǒng)中的應(yīng)用[J].武漢理工大學(xué)學(xué)報,2012,28(11):56-59.
[4] CHARLES M,KOZIEROK.The TCP/IP guide a comperehensive,illustrated internet protocols reference[M].No Starch Press,2005:58-158.
[5] 姚靜,郭琳,陳廣.網(wǎng)絡(luò)監(jiān)控系統(tǒng)采用模式實(shí)現(xiàn)遠(yuǎn)程監(jiān)控[J].中國儀器儀表,2010(7):68-70.
[6] 練勝,王棟,朱祥賢.基于物聯(lián)網(wǎng)技術(shù)的電梯安全監(jiān)控系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].現(xiàn)代制造,2015(3):126-127.
[7] LIULX,ZHOU X J.Design of intelligent tire safety pre-alarm system based on ARM9[C].CAR 2010 2nd International Asia Conference on Informatics in Control,Automation and Robotics,2010.
[8] 張曉奇.基于物聯(lián)網(wǎng)技術(shù)的電梯故障監(jiān)測系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014
[9] 曾憲權(quán).物聯(lián)網(wǎng)遠(yuǎn)程電梯監(jiān)控系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[J].中國測試,2015,41(2):101-104.
[10] JOE CASAD.TCP/IP 入門經(jīng)典[M].北京:人民郵電出版社,2012.
[11] 慕偉.電梯遠(yuǎn)程監(jiān)控系統(tǒng)研究[D].西安:長安大學(xué),2013.
[12] 劉彥明,李鵬.實(shí)用網(wǎng)絡(luò)編程技術(shù)[M].西安:西安電子科技大學(xué)出版社,1998.endprint