ZigBee和3G的遠程無(wú)線(xiàn)測光系統設計

發(fā)布時(shí)間:2014-12-16 11:46    發(fā)布者:designapp
關(guān)鍵詞: ZigBee , 3G , Linux , 測光系統 , VC++6.0

        設計了基于ZigBee短距離無(wú)線(xiàn)通信技術(shù)與3G遠距離無(wú)線(xiàn)通信技術(shù)相結合的遠程無(wú)線(xiàn)測光系統;該系統處理器選用的是三星S5PV210處理器,短距離無(wú)線(xiàn)通信模塊采用TI公司的CC2530芯片,3G上網(wǎng)卡設備用的是中興MF190無(wú)線(xiàn)上網(wǎng)模塊。文中給出了系統具體的軟硬件設計方案。結果表明,該系統可以達到穩定高效的監測效果,具有良好的實(shí)用性和應用價(jià)值。
1 系統總體設計
ZigBee 技術(shù)是一種低速率、近距離、低功耗、低復雜度、低成本、通信可靠和網(wǎng)絡(luò )容量大的無(wú)線(xiàn)通信技術(shù)。根據IEEE 802.15.4協(xié)議標準,ZigBee 的工作頻段分為868 MHz、915 MHz和2.4 GHz 3個(gè)頻段,其中2.4 GHz頻段上分為16個(gè)信道,該頻段為全球通用的工業(yè)、科學(xué)、醫學(xué)頻段,該頻段為免付費、免申請的無(wú)線(xiàn)電頻段,在該頻段上,數據傳輸速率為 250 Kb/s,功耗發(fā)射輸出僅為0~3.6 dBm,綜合考慮選擇使用2.4 GHz頻段。

系統主要由三部分組成:光照度終端采集節點(diǎn)、協(xié)調器主節點(diǎn)和上位機服務(wù)器監控中心。系統的整體結構圖如圖1所示。



圖1 系統整體結構圖


2 系統硬件設計

本系統的ZigBee 無(wú)線(xiàn)傳輸網(wǎng)絡(luò )由4個(gè)帶有光照強度傳感器的終端采集節點(diǎn)和1個(gè)協(xié)調器主節點(diǎn)構成。終端采集節點(diǎn)BH1750數字光照度傳感器采集到的光照強度數據通過(guò)CC2530射頻收發(fā)模塊以無(wú)線(xiàn)方式發(fā)送到協(xié)調器主節點(diǎn)CC2530射頻收發(fā)模塊,主節點(diǎn)CC2530射頻收發(fā)模塊再與主控制器S5PV210進(jìn)行通信,通過(guò)3G網(wǎng)絡(luò )將數據傳輸至遠程上位機服務(wù)器監測中心。
2.1 協(xié)調器主節點(diǎn)設計
協(xié)調器主節點(diǎn)在整個(gè)ZigBee 無(wú)線(xiàn)網(wǎng)絡(luò )中的主要作用是建立、維護、控制終端節點(diǎn)的加入以及數據的匯總、緩存和轉發(fā),它是ZigBee 網(wǎng)絡(luò )的控制中心,其結構框圖如圖2所示。無(wú)線(xiàn)射頻收發(fā)芯片CC2530 完成組網(wǎng)和數據無(wú)線(xiàn)收發(fā);3G上網(wǎng)完成數據的遠距離無(wú)線(xiàn)傳輸;主控芯片S5PV210負責整個(gè)主節點(diǎn)模塊的協(xié)調與控制。


圖2 局域網(wǎng)控制主節點(diǎn)結構框圖


CC2530 是用于IEEE802.15.4、ZigBee 和RF4CE 應用的一個(gè)真正的片上系統(SoC)解決方案,它能夠以非常低的總材料成本建立強大的網(wǎng)絡(luò )節點(diǎn),CC2530 結合了RF收發(fā)器的優(yōu)良性能,具有業(yè)界標準的增強型8051 CPU、系統內可編程閃存,8 KB RAM 和其他強大的功能。CC2530 有4種不同的閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256 KB 的閃存。運行模式之間的轉換時(shí)間較短,可進(jìn)一步確保低能源消耗。
2.2 終端采集分節點(diǎn)設計
終端采集節點(diǎn)負責將采集到的光照強度數據傳送到協(xié)調器主節點(diǎn),其硬件電路原理圖如圖3所示。數字光照度傳感器BH1750負責光照強度數據的采集;無(wú)線(xiàn)射頻收發(fā)芯片CC2530 負責與局域網(wǎng)控制中心無(wú)線(xiàn)通信,采集數據并發(fā)送數據到局域網(wǎng)控制中心。



圖3 局域網(wǎng)采集節點(diǎn)電路原理圖


BH1750是一種用于兩線(xiàn)式串行總線(xiàn)接口的數字型光強度傳感器集成電路,這種集成電路可以根據收集的光線(xiàn)強度數據來(lái)調整液晶或者鍵盤(pán)背景燈的亮度,利用它的高分辨率可以探測較大范圍的光強度變化,探測范圍可以從1~65 535 lx,支持 I2C總線(xiàn)接口(f/s Mode Support),具有接近視覺(jué)靈敏度的光譜靈敏度特性(峰值靈敏度波長(cháng)典型值為560 nm)[6];輸出對應亮度的數字值;通過(guò)降低功率功能,實(shí)現低電流;通過(guò)50 Hz/60 Hz 除光噪音功能實(shí)現穩定的測定;支持 1.8 V 邏輯輸入接口;無(wú)需其他外部件;光源依賴(lài)性弱(白熾燈、熒光燈、鹵素燈、白光 LED、日光燈);有兩種可選的 I2C總線(xiàn)slave 地址;可調的測量結果影響較大的因素為光入口大;最小誤差變動(dòng)在±20%;受紅外線(xiàn)影響很小。



       
3 軟件設計
系統軟件設計包括終端節點(diǎn)采集程序、ZigBee 網(wǎng)絡(luò )無(wú)線(xiàn)傳輸程序、3G網(wǎng)絡(luò )無(wú)線(xiàn)傳送程序和上位機服務(wù)器監測程序的軟件設計。
3.1 終端節點(diǎn)采集程序設計
BH1750與主控器之間的通信使用標準的I2C總線(xiàn)通信協(xié)議。I2C 總線(xiàn)是一種由NXP公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設備[7]。主控器通過(guò)I2C總線(xiàn)接口向BH1750 發(fā)送各種控制命令以及讀取測量數據。主要控制命令如下:上電指令為0x01;斷電指令為0x00;連續H分辨率模式為0x10;連續L分辨率模式為0x13;一次H分辨率模式為0x20;一次L分辨率模式為0x23。
以“連續高分辨率模式”為例,測量步驟如下:
① 發(fā)送“上電”指令。
② 發(fā)送“連續高分辨率模式”指令。
③ 等待完成第一次高分辨率模式的測量(最大時(shí)間為180 ms)。
④ 發(fā)送讀指令。
⑤ 讀測量結果。
3.2 ZigBee 網(wǎng)絡(luò )無(wú)線(xiàn)傳送程序設計
ZigBee 協(xié)調器節點(diǎn)上電后,ZDO層首次進(jìn)行一系列的初始化工作,然后調用ZDO層的初始化設備函數,最終觸發(fā)網(wǎng)絡(luò )初始化函數,開(kāi)始構建一個(gè)新的網(wǎng)絡(luò )。建立網(wǎng)絡(luò )時(shí),協(xié)調器節點(diǎn)首先逐個(gè)對各個(gè)信道進(jìn)行掃描,根據各個(gè)信道的能量值進(jìn)行排序,選擇能量值達到一定大小的信道為可用信道。其次,由網(wǎng)絡(luò )層在可用信道中選定信道,并隨機選擇一個(gè)在所選信道中唯一的16位網(wǎng)絡(luò )標識符(PANID)分配給這個(gè)新建的網(wǎng)絡(luò )[8]。協(xié)調器的軟件設計流程圖如圖4所示。

終端采集節點(diǎn)上電以后進(jìn)行設備初始化,然后檢測周?chē)欠裼芯W(wǎng)絡(luò )存在,當發(fā)現有網(wǎng)絡(luò )存在時(shí),網(wǎng)絡(luò )層將給予ZDA層發(fā)現網(wǎng)絡(luò )反饋信息,然后由網(wǎng)絡(luò )層向能量強度相對較大的網(wǎng)絡(luò )發(fā)出加入網(wǎng)絡(luò )請求;加入網(wǎng)絡(luò )成功,則網(wǎng)絡(luò )層將給予ZDA層加入網(wǎng)絡(luò )反饋。成功加入網(wǎng)絡(luò )之后開(kāi)始向協(xié)調器發(fā)出綁定請求,綁定成功后開(kāi)始對光照數據進(jìn)行采集,將采集到的數據進(jìn)行預處理并無(wú)線(xiàn)發(fā)送至協(xié)調器節點(diǎn)。傳感器終端采集節點(diǎn)軟件流程圖如圖5所示。







       
3.3 3G網(wǎng)絡(luò )無(wú)線(xiàn)傳送部分設計
3.3.1 usb_modeswitch的移植

usb_modeswitch是一種在Linux系統下對USB設備的工作模式進(jìn)行轉換的工具,用于控制含有多個(gè)USB子設備的USB設備。在Linux環(huán)境下,廠(chǎng)家一般不會(huì )提供USB設備在Linux系統上的驅動(dòng),所以需要用usb_modeswitch工具來(lái)進(jìn)行模式轉換。設備模式依賴(lài)usbstorage和usbserial,所以在開(kāi)發(fā)板上需要有這兩種模塊的支持,設備小能夠正常工作于這兩種模式下。

usb_modeswitch依賴(lài)于libusb提供的一系列庫文件,首先需要安裝libusb。解壓并進(jìn)入libusb1.0.6目錄,使用如下命令建立子目錄install,用于存放最后生存的庫文件與頭文件。usb_modeswitch移植過(guò)程略——編者注。
3.3.2 PPPD的移植
Linux在內核中已經(jīng)支持3G模塊驅動(dòng)和PPP網(wǎng)絡(luò )協(xié)議棧,需要做的工作是在內核中配置3G模塊驅動(dòng)和PPP網(wǎng)絡(luò )協(xié)議棧的相關(guān)選項。PPPD的移植過(guò)程略——編者注。

在開(kāi)發(fā)板文件系統/etc/ppp/peers目錄下邊創(chuàng )建三個(gè)文件,代碼略——編者注。
3.3.3 主節點(diǎn)與上位機通信程序設計
通過(guò)PPPD的撥號,可以建立數據鏈路層的連接,數據鏈路層采用PPP協(xié)議,它是一種面向字符的協(xié)議,是為在兩個(gè)對等實(shí)體間傳輸數據包連接而設計的,使用可擴展的鏈路控制協(xié)議LCP來(lái)建立、配置和測試數據鏈路。網(wǎng)絡(luò )程序還需要TCP/IP協(xié)議的支持,Linux內核已經(jīng)保留了對TCP/IP以及其他的網(wǎng)絡(luò )協(xié)議的支持。最后編寫(xiě)嵌入式Linux上的網(wǎng)絡(luò )客戶(hù)端應用程序和Windows網(wǎng)絡(luò )服務(wù)器端應用程序,傳送想要傳送的數據。主節點(diǎn)主控制器與上位機服務(wù)器通信的程序流程圖如圖6所示。


圖6 主節點(diǎn)與上位機通信程序流程圖

3.4 服務(wù)器上位機監測部分
服務(wù)器上位機軟件的開(kāi)發(fā)采用Microsoft Visual C++6.0開(kāi)發(fā)環(huán)境,采用的是面向對象的程序設計方法,對于每一個(gè)窗口都建立了相應的類(lèi),在類(lèi)的基礎上創(chuàng )建對象,對對象的操作就是對其對應的窗口的操作。監控中心軟件主要實(shí)現以下功能:建立服務(wù)器端并接收客戶(hù)端的連接;接收客戶(hù)端發(fā)送過(guò)來(lái)的數據并顯示;實(shí)時(shí)曲線(xiàn)顯示;歷史數據查詢(xún)。
4 調試測試
4.1 系統調試
在系統調試過(guò)程中,傳輸數據時(shí)上位機接收到的數據有個(gè)別是錯誤的,通過(guò)查看二進(jìn)制代碼發(fā)現0x11、0x13字符沒(méi)有接收到?s小范圍查看問(wèn)題出在哪個(gè)環(huán)節,檢驗發(fā)現主節點(diǎn)控制器S5PV210沒(méi)有接收到0x11、0x13字符,而主節點(diǎn)CC2530單片機已經(jīng)接收到了0x11、0x13字符,那么問(wèn)題一定出現在串口上。
在Linux串口編程中都沒(méi)對c_iflag(termios成員變量)這個(gè)變量進(jìn)行有效的設置,這樣傳送ASCII碼時(shí)沒(méi)有問(wèn)題,但傳送二進(jìn)制數據時(shí)遇到0x0d、0x11和0x13卻會(huì )被丟掉。這幾個(gè)字符是特殊字符,被用作特殊控制了,只需要關(guān)掉ICRNL和IXON選項即可。
具體做法是在主控制器Linux串口初始化函數中添加以下語(yǔ)句:
options.c_iflag &= ~(ICRNL | IXON | IXOFF);
options是之前定義的termios類(lèi)型的結構體。通過(guò)以上設置就可以屏蔽掉0x11、0x13字符的特殊功能,從而能正常傳送以上字符。
4.2 系統功能測試
連接好硬件設備后,配置編譯內核,將編譯好的內核通過(guò)USB下載到開(kāi)發(fā)板上,然后重啟。再將編譯好的應用程序通過(guò)串口終端下載到開(kāi)發(fā)板上。將3G上網(wǎng)卡插到USB接口上,使用如下命令建立3個(gè)TTY設備文件節點(diǎn),代碼略——編者注。
我們可以看到PING新浪的WEB服務(wù)器可以PING通,說(shuō)明已經(jīng)成功接入因特網(wǎng)了。然后將4個(gè)終端分節點(diǎn)放在不同的光照環(huán)境下,啟動(dòng)上位機軟件,建立服務(wù)器端,開(kāi)始等待接收主節點(diǎn)客戶(hù)端的連接請求和發(fā)送過(guò)來(lái)的數據并且顯示。啟動(dòng)主節點(diǎn)客戶(hù)端程序來(lái)連接服務(wù)器,最后啟動(dòng)分節點(diǎn)的采集傳送程序。上位機接收到并顯示的監測數據圖略——編者注。
結語(yǔ)
本文闡述了一種將低成本、低功耗的短距離無(wú)線(xiàn)ZigBee 技術(shù)與遠距離3G移動(dòng)通信技術(shù)相結合的遠程無(wú)線(xiàn)測光系統,并完成了對采集終端節點(diǎn)、協(xié)調器主節點(diǎn)的軟硬件設計,通過(guò)編寫(xiě)Windows平臺上位機軟件對采集到的數據進(jìn)行實(shí)時(shí)顯示與分析。


本文地址:http://selenalain.com/thread-135519-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页