李 偉 黃尤來 陳德鵬 劉建華
(1.莆田學院電子信息工程學系,福建 莆田 351100 2.莆田市科學技術情報研究所,福建 莆田 351100)
ZigBee是一種新興的短距離無線通信技術,ZigBee技術正有力地推動著低速率無線個人局域網絡的發(fā)展。ZigBee標準專注于低功耗,低成本,低傳輸速,可以應用于工業(yè)控制,家庭自動化,遠程控制等領域。
GSM是當前應用最為廣泛的移動電話標準。GSM網絡提供語音和短信消息等服務。GSM網絡已在全球范圍內實現(xiàn)了聯(lián)網,不需要重新組建專用網絡,可靠性高,覆蓋面廣?;贕SM網絡的短消息應用可以滿足多種監(jiān)控和控制信號的數(shù)字通信系統(tǒng)的要求。
采用ZigBee技術構建局部網絡與GSM全面網絡相連接,實現(xiàn)電子秤數(shù)據的遠程監(jiān)測。系統(tǒng)總體框架如圖1所示,其中一個ZigBee網絡必須有且只有一個ZigBee網絡協(xié)調器節(jié)點,該節(jié)點負責建立網絡管理其他節(jié)點。
圖1 系統(tǒng)總體框架圖
為實現(xiàn)對電子秤數(shù)據的采集與遠程監(jiān)測,系統(tǒng)采用新型ZigBee無線通信芯片CC2530及GSM模塊實現(xiàn),CC2530是用于IEEE 802.15.4、ZigBee和RF4CE應用的一款片上系統(tǒng)解決方案,其內部所配置的增強型8051 CPU,用作控制核心,兼具控制器及通信模塊用。系統(tǒng)硬件框圖及實際模塊見圖2、3、4。
ZigBee網絡的組建采用TI公司提供的zstack協(xié)議棧進行設計。Zstack協(xié)議棧包括:ZigBee協(xié)議棧和一個為協(xié)議棧服務的微小操作系統(tǒng)OSAL。應用程序的設計,建立在OSAL結構下對ZigBee協(xié)議棧的API函數(shù)的調用。
本次設計主要用到的OSAL API有:
為信息分配緩存空間:uint8*osal_msg_allocate(uint16 len)
刪除信息分配的緩存空間:uint8 osal_msg_deallocate(uint8 *msg_ptr)
任務發(fā)送數(shù)據:uint8 osal_msg_send(uint8 destination_task,uint8*msg_ptr)
任務接收信息:(任務間的接收和網絡中的接收)uint8* osal_msg_receive(uint8 task_id)
本次設計主要用到的z-stack API有:
定義一個組:ZStatus_t aps_AddGroup(uint8 endpoint,aps_ Group_t*group);
刪除一個組:uint8 aps_RemoveGroup(uint8 endpoint,uint16 groupID);
組查詢:aps_Group_t*aps_FindGroup(uint8 endpoint,uint16 groupID);
無線發(fā)送數(shù)據函數(shù):afStatus_t AF_DataRequest()
z-stack常用的幾種通信方式有:單點傳送(Unicast),間接傳送(Indirect),廣播傳送(broadcast),組尋址(Group Addressing)。本設計采用組尋址的通信方式,及應用程序將數(shù)據包發(fā)送給網絡上的某一組設備。地址模式需要設置為afAddr-Group并且addr.shortAddr設置為組ID。在使用組尋址通信前之前,必須在網絡中定義組。
AT指令是GSM模塊軟件設計的主要組成部分。用戶通過對GSM模塊發(fā)送AT指令完成對GSM模塊的控制和狀態(tài)查詢。網絡連接節(jié)點負責通過串口向GSM模塊發(fā)送AT指令集進行ZigBee網絡中的數(shù)據與GSM網絡的鏈接。本次設計中用到的AT指令有:
1 查看當前網絡注冊狀態(tài):
AT+CREG?
返回數(shù)據+CREG:0,1表示注冊成功
2 設置短信模式:
AT+CMGF=1
其中1表示text模式,只能發(fā)送數(shù)字與字母,0表示PDU模式可發(fā)送文字。
3 發(fā)送英文短信:
發(fā):AT+CMGF=1 //設置為text模式
發(fā):"AT+CMGS=”電話號碼” " //短信接收的號碼
發(fā):data //data為發(fā)送內容,
發(fā):0x1a //結束符
收:+CMGS:54 OK //成功響應
設計三種節(jié)點的應用程序:ZigBee網絡協(xié)調器,ZigBee采集節(jié)點,ZigBee網絡與GSM網絡連接節(jié)點。
ZigBee網絡協(xié)調器:采用z-stack的網絡協(xié)調器程序框架(CoordinatorEB),基本配置后,加入組1(本設計中組ID設為1)。
ZigBee采集節(jié)點:采用 z-stack的路由器程序框架(RouterEB)或者終端節(jié)點框架(EnddeviceEB)。基本配置后,加入組1。添加修改后適合CC2530的電子秤采集程序,主要應用任務:任務a負責采集電子秤相關數(shù)據并且傳給任務b,任務b負責把數(shù)據傳送到ZigBee網絡中的組1成員。
ZigBee網絡與GSM網絡連接節(jié)點:采用z-stack的路由器程序框架(RouterEB)或者終端節(jié)點框架(EnddeviceEB)?;九渲煤螅尤虢M1。主要應用任務:任務A負責接收ZigBee網絡中傳送的數(shù)據并在其LCD上顯示出各個采集節(jié)點的測量數(shù)據,并判斷是否把數(shù)據傳送給任務B。任務B負責鏈接GSM模塊,實現(xiàn)把測量數(shù)據通過串口以AT指令發(fā)短信的形式傳送給GSM網絡(GSM網絡內部數(shù)據傳送由GSM模塊完成),GSM網絡使數(shù)據最終交付給手機端;完成ZigBee網絡的數(shù)據采集。
將本解決方案應用于對莆田市上得利電子儀器有限公司的ADS-30A型收銀秤,通過本系統(tǒng),所測節(jié)點數(shù)據獲取見圖5。
圖5 終端界面與手機界面
本文提出的設計實現(xiàn)了對多個電子秤節(jié)點數(shù)據的獲取與遠程監(jiān)測,實際測量結果良好,基于本文所提出的方法,完全可以應用于其他相類型多點數(shù)據遠程監(jiān)測系統(tǒng)。
[1]李文仲,段朝玉,等.ZigBee2007/pro協(xié)議棧實驗與實踐[M].北京:北京航空航天大學出版社,2009.
[2]高守緯,吳燦陽,等.ZigBee技術實踐教程[M].北京:北京航空航天大學出版社,2009.
[3]肖碩,荊剛,等.單片機數(shù)據通信典型應用大全[M].北京:中國鐵道出版社,2011.
[4]林志雄,黃劍航.一種低轉換速率下的電子天平濾波處理方案[J].計算機與數(shù)字工程,2009:37(11):40-43.