《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于WiMi-net与Qt的塔机监测防撞系统设计
基于WiMi-net与Qt的塔机监测防撞系统设计
2015年微型机与应用第1期
卢 扬,章 红
(江汉大学 物理与信息工程学院,湖北 武汉 430056)
摘要: 针对传统塔机监测防撞系统中操作不便、ZigBee无线传输距离短、网络节点较多而导致时实性差等问题,提出了一种基于WiMi-net(Wireless Micro-network)无线通信模块的解决方案。利用Qt良好的交互能力与WiMi-net无线模块特性,搭建了一套传输距离远、可靠性高、实时性强的新型塔机监测防撞系统。
Abstract:
Key words :

  摘  要: 針對傳統塔機監測防撞系統中操作不便、ZigBee無線傳輸距離短、網絡節點較多而導致時實性差等問題,提出了一種基于WiMi-net(Wireless Micro-network)無線通信模塊的解決方案。利用Qt良好的交互能力與WiMi-net無線模塊特性,搭建了一套傳輸距離遠、可靠性高、實時性強的新型塔機監測防撞系統。

  關鍵詞: 塔機監測;WiMi-net;Qt;無線通信;實時性

0 引言

  隨著建筑業規模不斷擴大,建筑作業逐漸變得密集化,同一工作區域往往存在多臺塔機同時作業。以往靠塔機駕駛員與地面指揮人員主觀判斷進行避障的方式已無法適應當前復雜的塔機工作環境。塔機監測防撞系統用于實時地采集各塔機以及障礙物信息,各塔機信息通過無線模塊相互傳遞,并進入防碰撞系統進行分析。當系統判斷當前操作有可能發生危險時,可以及時提醒駕駛員,從而避免險情發生。鑒于預險系統中快速響應的重要性,無線模塊的實時性必須得到保障。

  隨著ZigBee的普及,ZigBee在塔機通信中的應用已經有部分研究成果,但是傳統ZigBee無線模塊一般都基于CC2430、CC2530射頻芯片,它們的射頻(Radio Frequency)均為2.4 GHz,屬于視距通信頻帶。這種頻段的信號波長較短,因而傳輸距離與穿透能力都受到限制[1]。利用ZigBee模塊進行遠距離傳輸往往需要加上多級放大電路。值得一提的是,由于ZigBee采用CSMA/CA(隨機接入信道技術)接入MAC層,且不支持時分復用的信道接入方式[2],節點會在發送數據之前監聽信道,如果信道忙則進行隨機退避,即延遲一段隨機時間。如果再次監聽信道忙,這個退避時間還要增倍。這樣就造成了發送數據所需要時間的不確定性,因此不能很好地支持實時性要求較高的業務。為解決節點數量上升帶來的傳輸延遲問題,參考文獻[3]提出了基于Markov模型的改進CSMA/CA退避算法,有效減少了傳輸延遲。但由于該算法本身建立在IEEE802.15.4標準(針對低速無線個人區域網絡制定標準)之上,因此傳輸速率仍不夠理想。

  參考文獻[4-5]提出了基于ZigBee+GPRS以解決ZigBee傳輸距離的方案,但GPRS受GSM網絡信號質量的影響,也無法保證數據的實時性。參考文獻[6]將WLAN無線局域網絡用于塔機群通信,大大提高了數據的傳輸速率與距離,但考慮到嵌入式系統的限制,并不適合運行高功耗的WLAN網絡。

  基于此,本文提出了一種采用WiMi-net無線模塊的解決方案。WiMi-net無線模塊內部集成一塊CC1101射頻芯片,該芯片功率達到12 dBm,射頻范圍為433 MHz。低頻電磁波波長大,更容易通過障礙物,因而具有更遠的傳播距離。MAC層采用TDMA(Time Division Multiple Access)按時隙分配信道資源,保證各節點數據信息在其專有時隙內及時、可靠地發送。為了方便駕駛員操作,本系統還使用Qt界面庫設計了交互界面友好的嵌入式操作界面。

1 系統設計框架

  考慮到系統的實時性與多任務性,本文采用基于ARM11內核的S3C6410核心板,上面搭建了經過裁剪的Linux操作系統。系統通過操作Linux串口設備文件/dev/ttySAC0將操作指令發送到WiMi-net核心板單片機上,通過WiMi-net接口層協議,就能很方便地實現數據的收發、狀態的讀取和控制等操作。WiMi-net片上單片機在物理層驅動射頻芯片,經過功率放大器(Power Amplifier,PA)放大,覆蓋半徑可達到2.5 km,高覆蓋半徑減少了必要的中繼站,加強了數據的傳輸速度與可靠性。

  本地塔機通過WiMi-net與其他塔機實時交換信息,得到其他塔機當前工作狀態以及預輸入的障礙物信息,便可由LCD實時模擬整個工地運行狀態,并同時進行異常情況與防碰撞檢測。整個工地運行狀態通過網絡發送到主控室,實現全工地的遠程監控。系統在有可能發生危險的情況下做出語音與界面提示,提示駕駛員注意操作。如果塔機持續當前狀態運行,系統會在安全范圍內接管伸縮電機繼電器與回轉電機繼電器,使塔機回到安全運行狀態。整個系統設計框架如圖1所示。

001.jpg

2 WiMi-net無線通信的OSI七層模型

  為了保證無線網絡的穩定和可靠,WiMi-net使用無線通信的OSI(Open System Interconnected)七層模型,并分別定義了各層實現的功能,如圖2所示。

002.jpg

  (1)PHY(物理層):驅動射頻芯片,實現硬件的初始化、報文收發、信道切換、頻率校準等基礎工作。

  (2)MAC(鏈路層):TDMA時隙的分配、請求、確認、鎖定、釋放工作,實現大量節點同時訪問網絡情況下的仲裁,通過排隊機制有序接入網絡。

  (3)NET(網絡層):實現16位網絡地址和64位MAC地址的尋址、翻譯和路由;實現任意節點到任意節點的全局網絡路徑生成、解析和路由切換工作。

  (4)TCP(傳輸層):建立TCP傳輸鏈路,實現數據報文的數字報真,在傳輸期間信道鎖定,允許用戶傳輸任意長度的任意(數據,命令)數據流。

  (5)REP(表示層):實現數據的加密和解密,需要CPU硬件支持AES加密算法。

  (6)TLK(會話層):會話級別CCITT-CRC32校驗,提供端到端的差錯控制技術,使發送端和接收端立刻了解報文是否有差錯。

  (7)IOS(接口層):實現WiMi-net核心協議棧和用戶處理器之間的接口,實現數據的收發、狀態的讀取和控制操作,與用戶的應用層進行對接。

3 Qt環境下對WiMi-net的操作

  3.1 WiMi-net接口結構

  WiMi-net無線模塊的接口層遵循一個特定結構的二進制數據流。

  (1)m_iHeader是固定的同步字符,數值=0XAA。

  (2)m_iOpCode,該報文的命令字取值0X00~0XFF之間,每一個命令有4個參數:m_iValueA,m_iValueB,m_iValueC,m_iValueD。

  (3)m_iAmount是m_pBuffer的長度,代表前面9個字節之后的擴展報文長度。

  (4)m_iCRCode是16位的CRC計算結果。

  (5)m_pBuffer是擴展部分的內容。

  其中,循環冗余校驗碼(Cyclic Redundancy Check,CRC)是數據通信領域常用的一種差錯校驗碼。當WiMi-net接收端收到一包數據時,先保存原CRC數據并重新進行CRC計算,當新的計算結果與原CRC校驗碼不同時,則判斷數據出錯,并丟棄這個包。本系統為保證良好的實時性,當發送端未收到接收端的報文收到確認信息時,會立即重新發送數據。本系統采用CRC-16查表算法設計其接口函數:

  unsigned short QuickCRC16(unsigned char*pMsg,unsigned short iSize){

  unsigned char index;

  unsigned char iHiVal;

  unsigned char iLoVal;

  iHiVal=0XFF;

  iLoVal=0XFF;

  while(iSize--){

  index=iLoVal^*pMsg++;

  iLoVal=iHiVal^HiCRCTable[index];

  iHiVal=LoCRCTable[index];

  }

  return(iHiVal<<8|iLoVal);

  }

  3.2 WiMi-net無線通信流程

003.jpg

  WiMi-net支持Mesh結構(網狀型網絡,如圖3所示)自組網,如果最近的節點由于流量過大而導致擁塞,則數據可以自動重新路由到一個通信流量較小的鄰近節點進行傳輸,且同一網絡下的子節點可直接進行通信。這樣在網絡中有多條路徑形成回聯,構成一個動態網絡,穩固性很好。隨著動態網絡路徑增多,各WiMi-net模塊之間的通信也更容易避開障礙物的干擾。

  基于固定的接口結構,對WiMi-net的控制取決于特定的命令字。這些命令字可以用來控制WiMi-net的工作流程。WiMi-net從站發送數據工作流程如圖4所示。

004.jpg

3.3 Qt與WiMi-net串口通信

  在第三方Linux串口類Posix_qex tserialport的基礎上聲明一個對象myCom,并設置相應的波特率、數據位、停止位,讀取緩沖區方式等初始化配置:

  Struct PortSettings myComSetting={BAUD115200,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,10};

  myCom=new Win_QextSerialPort("/dev/ttySAC0",myCom Setting,QextSerialBase::Polling);

  myCom->open(QIODevice::ReadWrite);

  數據的轉換以及發送代碼如下:

  unsigned char Test[64]={0XAA,0X1D,0XFF,0XFF,0X03,0X01};

  for(int i=0;i<17;i++)

  str.append(SerialSendlist.at(i));

  for(int i=0;i<str.length();i++){

  Test[i+9]=*qPrintable(str.mid(i,1));

  }

  Test[6]=str.length();

  if(Add_Crc(Test)){

  myCom->write((char*)Test);

  }

  其中SerialSendlist中是需要發送的數據表。定義一個unsigned char型數組,里面寫入了固定的同步字符、廣播形式發送數據等操作字;然后利用循環以及宏函數qPrintable將str中的每個字符以其十六進制存入Test[]中,Test[6]中存放的是數據長度;再通過Add_Crc()函數向數組中添加校驗碼,如果返回1則向串口寫入數據。由于Qt串口類繼承自QIODevice類,其成員函數write()僅接受char*作為輸入,所以需要將unsigned char型Test數組強制轉換為char型。

  接收到的數據按0x10進行分包。當報文少于16 B時,ValueC的值為0X03,表示僅此一包數據。如果收到的數據超過16 B,WiMi-net會將接收到的數據按每16個進行分包,在每個包前都會加上類似的幀頭,且Amount均為0X10,在取數據的時候便可以通過ValueC的值判斷是否是第一包,以及是否到了最后一包,而最后一包共有Amount個數據。通過ValueC和Amount來判斷該幀是否發生數據丟失,并取出數據。

4 Qt界面設計

  考慮到嵌入式系統的局限性,本系統使用輕量級的SQLite數據庫進行數據管理,并優化了線程間的調度與防碰撞算法。系統分別對接收到的WiMi-net無線模塊與傳感器數據做分包提取與模數轉換,在得到系統能識別的數據后與一些不會實時改變的信息(如本地塔機高度、前后臂長、坐標位置、工地大小、形狀、障礙物信息等)一起存入數據庫,數據庫將得到的數據送入防碰撞算法模塊進行分析,并模擬運行狀態顯示到LCD上。

005.jpg

  系統界面如圖5所示。右側狀態區用來提示系統各種工作狀態,包括碰撞預警、異常狀態預警等,并顯示本地塔機實時運行狀態,方便駕駛員清楚地了解本塔機運行情況。左邊是工作區域模擬運行區,本地塔機為藍色,其他塔機為綠色,當系統判斷有大概率碰撞危險產生時,以紅色間斷閃爍作為警示。圖5中三臺設備相互間隔地分布在非空曠的100 m~400 m范圍內,在不添加任何信號放大設備的情況下,系統仍然能夠穩定運行。

5 結論

  本文總結了傳統基于ZigBee等無線通信技術搭建的塔機監控系統的弊端,提出采用WiMi-net無線模塊與Qt搭建基于新型無線網絡的塔機監控系統。實驗證明,該系統傳輸距離遠、實時性能好、交互能力強。但在實際工程實踐中,無線傳輸還需考慮信號干擾、傳輸安全等諸多問題,下一步工作將圍繞相關課題展開。

參考文獻

  [1] FETTE B A.認知無線電技術[M].趙知勁,鄭仕鏈,尚俊娜,譯.北京:科學出版社,2008.

  [2] 郭長順.ZigBee技術MAC層協議的研究、改進與仿真[D].沈陽:沈陽工業大學,2010.

  [3] 楊世超.基于CC2430的ZigBee節點設計及MAC層協議改進[D].上海:上海交通大學,2012.

  [4] 李皓明,周悅.無線傳感器網絡在塔式起重機監控系統中的研究與應用[J].建筑機械,2012(13):69-71.

  [5] 宋宇宙,蘇娟,何清.塔機在線無線遠程監控系統設計[J].傳感器與微系統,2012,31(2):102-105.

  [6] 鄭夕健,李林,費燁.塔機群WLAN通信系統研究[J].山東通信技術,2009,29(1):11-14.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品成久久久久三级| 欧美日韩亚洲一区二区三区在线观看| 久久天堂国产精品| 在线视频一区观看| 国产mv免费观看入口亚洲| 国产精品 欧美在线| 久久精品亚洲热| 日本三级韩国三级久久| 人人妻人人澡人人爽欧美一区| 国产精品免费久久久久久| 91精品在线国产| 日本高清久久天堂| 日本午夜在线亚洲.国产| 91精品久久久久久久久久久久久久| 青春草国产视频| 国产精品视频不卡| 国产99在线播放| 日韩中文字幕一区| 久久久精品日本| 国产精品综合不卡av | 久久资源免费视频| 亚洲熟妇无码一区二区三区 | 久久久无码中文字幕久...| 狠狠色狠狠色综合人人| 欧美日韩视频在线一区二区观看视频| 91精品国产综合久久久久久久久| 国产欧美日韩最新| 午夜精品99久久免费| 日韩av资源在线| 丁香六月激情婷婷| 日韩视频欧美视频| 国产日韩欧美视频| 国产精品自拍小视频| 91国产精品视频在线| 国产精品久久久久7777| 久久久99国产精品免费| 国产精品美女在线| 欧美精品中文字幕一区| 91成人国产在线观看| 久久本道综合色狠狠五月 | www亚洲精品|