• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于嵌入式WinCE的溫室大棚控制系統(tǒng)*

      2014-06-07 06:00:21陳靜
      陰山學刊(自然科學版) 2014年1期
      關鍵詞:開發(fā)板調用溫濕度

      陳靜

      (包頭師范學院信息科學與技術學院,內(nèi)蒙古包頭014030)

      基于嵌入式WinCE的溫室大棚控制系統(tǒng)*

      陳靜

      (包頭師范學院信息科學與技術學院,內(nèi)蒙古包頭014030)

      本文主要介紹了嵌入式系統(tǒng)在溫室大棚中的應用研究,提出了基于嵌入式的溫室大棚控制系統(tǒng)的設計思想,感知層采用SHT11采集溫濕度信息,傳輸層利用Zigbee進行數(shù)據(jù)傳輸及無線傳感網(wǎng)組網(wǎng),最終在嵌入式系統(tǒng)Tiny6410開發(fā)板上實現(xiàn)數(shù)據(jù)匯總及顯示。本文重點研究基于嵌入式系統(tǒng)Wince的數(shù)據(jù)采集、串口通信及控制系統(tǒng)的設計部分。

      嵌入式系統(tǒng);WinCE;Zigbee-CC2530;串口

      隨著嵌入式系統(tǒng)技術的應用與發(fā)展,溫室大棚技術不斷更新,推動了我國農(nóng)業(yè)由過去的粗獷性農(nóng)業(yè)向精準型農(nóng)業(yè)轉型。溫室大棚中環(huán)境信息如溫度、濕度、光照度、二氧化碳濃度等環(huán)境因素對作物的生長發(fā)育有極大的影響。本文以三星S3C6410為微處理器,采用SHT11數(shù)字式溫濕度傳感器,通過Zigbee處理、傳輸各傳感器采集到的溫濕度信息,通過串口與嵌入式-WinCE應用系統(tǒng)相連,最終顯示各點溫度濕度信息及圖表顯示,完成ARM11多點溫濕度檢測傳輸系統(tǒng)的設計與實現(xiàn)[1]。

      1 設計思想

      本系統(tǒng)采用SHT11溫濕度傳感器采集的溫度、濕度數(shù)據(jù),通過Zigbee組網(wǎng)發(fā)送到協(xié)調器上,協(xié)調器通過串口發(fā)送到PC機,在PC機上通過串口讀取到數(shù)據(jù),應用程序處理讀到的數(shù)據(jù),完成顯示、存儲、繪制圖像等功能。最后將程序下載到Tiny6410開發(fā)板上,硬件電路框圖如圖(1)所示。

      圖1:硬件電路框圖

      1.1 SHT11溫濕度傳感器

      SHT11傳感器是全校準數(shù)字輸出相對濕度、溫度;溫度值分辨率為14位,濕度值分辨率為12位,可編程降至12位和8位;具有露點計算輸出能力,有極高的可靠性和卓越的長期穩(wěn)定性,無需外圍元件,采用工業(yè)標準I2C總線接口,可靠的CRC傳輸校驗。

      1.2 Zigbee技術

      Zigbee技術[2]是一種短距離無線通信技術,其主要特點是成本低、傳輸距離短、自組織、低數(shù)據(jù)傳輸速率及低功耗。本文采用Zigbee-CC2530芯片,基于TI的IAR 7.6a與Zigbee207-Zstack協(xié)議棧進行開發(fā),Zigbee協(xié)議棧包含物理層、介質訪問層、網(wǎng)絡層、應用程序支持子層,應用層。IEEE802.15.4定義了前兩層,而Zigbee聯(lián)盟定義了后三層。Zigbee協(xié)議棧是將各層協(xié)議集成,以API函數(shù)供用戶調用,開發(fā)者需要關心的是數(shù)據(jù)在應用層通過什么函數(shù),應用哪些方式把數(shù)據(jù)接收或發(fā)送。

      Zigbee-CC2530實現(xiàn)無線數(shù)據(jù)通信是一般包含三步:組網(wǎng)、發(fā)送和接收。通過調用協(xié)議棧組網(wǎng)函數(shù)、使終端節(jié)點(負責采集溫濕度值)加入網(wǎng)絡,由協(xié)調器節(jié)點負責實現(xiàn)網(wǎng)絡的建立和終端加點加入;通過調用協(xié)議棧的無線收發(fā)函數(shù),實現(xiàn)數(shù)據(jù)的發(fā)送與接收,協(xié)議棧實際上就是一個小的操作系統(tǒng),采用任務輪詢的工作方式執(zhí)行命令。

      網(wǎng)絡層主要采用基于ADHOC技術的網(wǎng)絡協(xié)議,組網(wǎng)方式主要包含星型網(wǎng)、網(wǎng)狀網(wǎng)和樹狀網(wǎng),本文對協(xié)議棧進行初始化用到的函數(shù)是basicR FInit(),用來設置模塊的傳輸通道,短地址等;調用basicRFSendPacket()函數(shù)發(fā)送數(shù)據(jù);以及bssicRFReceive()接收數(shù)據(jù),同時存入buffer中,最后通過UART串口傳送至嵌入式-Tiny6410硬件開發(fā)平臺,通過WinCE接收顯示數(shù)據(jù)。

      2 WinCE下的串口通信實現(xiàn)

      在WinCE下運行的程序,一般是在Windows環(huán)境下應用EVC平臺開發(fā),然后下載到嵌入式設備中。串口在WinCE中屬于流接口設備,可以像對文件一樣對串口進行打開、關閉、讀寫等操作。WinCE下的串口函數(shù)和Windows下的串口函數(shù)基本相同,但在以下一些方面有所不同:

      (1)WinCE只支持Unicode;

      (2)WinCE中有些自己特有的控件,可以方便編程。

      《左傳》僖公二十四年富辰諫襄王述周公封建,有云:“昔周公吊二叔之不,故封建親戚,以蕃屏周:管、蔡、郕、霍、魯、衛(wèi)、毛、聃、郜、雍、曹、滕、畢、原、酆、郇,文之昭也;邘、晉、應、韓,武之穆也;凡、蔣、邢、茅、胙、祭,周公之胤也?!盵4](第6冊,P255)至少在西周時期,就已經(jīng)形成了以宗族拱衛(wèi)國家的觀念。此后這一觀念一直貫穿整個中國歷史。

      (3)EVC不支持重疊I/O操作。

      本文是將Zigbee采集到的溫濕度數(shù)據(jù)通過串口與嵌入式開發(fā)板Tiny6410相連,在WinCE下開發(fā)串口通信,包含下面一些步驟:

      步驟1:打開端口并進行初始化。在EVC中把設備當文件來處理,故使用CreateFile()函數(shù)打開端口。如果打開成功,則會返回打開串口的句柄。成功打開一個端口之后,需要對端口進行初始化。調用端口通信函數(shù)SetupComm()設置串口的發(fā)送和接收緩沖區(qū)buffer的大小,調用GetCommTimeout()函數(shù)設置串口超時;然后調用GetCommState()函數(shù)獲取當前串口的默認并返回一個DCB結構體地址,通過給這個DCB結構體各成員賦值來重新設定串口狀態(tài);最后調用PurgeComm()函數(shù)清空串口的發(fā)送接收緩沖區(qū)。

      步驟2:對串口進行讀寫操作。成功配置好串口參數(shù)后即可調用函數(shù)ReadFile()和WriteFile()對串口進行讀寫操作。在通信的過程中應用ClearCommError()函數(shù)清除可能出現(xiàn)錯誤導致程序無法繼續(xù)運行的問題。

      步驟3:關閉串口。使用完串口后必須關閉串口,調用CloseHandle()函數(shù)進行關閉處理。

      3 嵌入式操作系統(tǒng)WindowsCE下程序實現(xiàn)

      在WinCE下的編程依然是在Windows下的編程[3],而Windows走的是消息機制,原始的SDK下編程,使用的是微軟提供出來的一套由幾千個API函數(shù)接口,該接口提供的風格是C語言形式的,如果使用傳統(tǒng)的SDK風格編程,在小的程序上看不出什么問題,要是一個大的項目上,從軟件架構上考慮,傳統(tǒng)的C語言就是顯得捉襟見肘了,不利于程序的維護工作。

      文檔類對儲存數(shù)據(jù)、對數(shù)據(jù)進行處理,而視圖類進行數(shù)據(jù)的顯示,視圖中需要顯示的數(shù)據(jù)從文檔類取得,而文檔類來維護這套數(shù)據(jù)。本文實現(xiàn)的過程如下:

      其次,界面控件的添加。在視圖中創(chuàng)建一些標簽和文本框,用于顯示數(shù)據(jù),界面的顯示走的是WM _PAINT消息,而要定時刷新數(shù)據(jù)就是要用到定時器,WM_TIMER消息,溫度的二維走勢圖的繪制,由于是動態(tài)的數(shù)據(jù)每次接收的數(shù)據(jù)都是在不斷的細微的變化中,所以在文檔類的線程函數(shù)完成對數(shù)據(jù)的處理,這樣在視圖中就是不用關心數(shù)據(jù)的變化的問題,直接可以用文檔類中的數(shù)據(jù)畫圖就是可以了。

      最后,數(shù)據(jù)庫對數(shù)據(jù)的存儲問題。嵌入式編程不同于應用程序,應用程序中使用的數(shù)據(jù)庫大都是ORACLE、DB2、MySql、Sql Server等數(shù)據(jù)庫[4],而嵌入式編程使用的都是輕便型的數(shù)據(jù)庫,數(shù)據(jù)庫的訪問一個是遠程訪問、一個就是運行的應用程序的設備中安裝數(shù)據(jù)庫軟件,這里采用的是WinCE自帶的數(shù)據(jù)庫,來完成數(shù)據(jù)的存儲任務工作,這樣更便利。

      3.1 溫度的二維走勢圖的繪制

      在文檔類中的ThreadFuncData()線程函數(shù)[5]處理中刷新數(shù)據(jù),算法思想描述:目的是每秒定時繪制圖像,數(shù)據(jù)要每秒要刷新一次,接收數(shù)據(jù)的時候就是按每秒來接收的數(shù)據(jù),根據(jù)界面的大下繪制出22個點,這樣本文定義一個數(shù)組[22],每次賦值一個值,數(shù)組滿了就把后面的值賦值給前面一個,最后的一個存儲新值。代碼片段如下:

      3.2 繪制圖像代碼

      繪制圖像代碼思路:初始坐標的點是第一個點,CDC::Moveto函數(shù)完成定義坐標點,而CDC::Line-To函數(shù)的特點是坐標點的更新,這樣就是能一次用CDC::LinTo函數(shù)劃線了,根據(jù)溫度的區(qū)間定義好坐標點。

      3.3 數(shù)據(jù)庫的連接及控件按鈕的實現(xiàn)

      在WinCE中,如果想把數(shù)據(jù)庫存儲在文件中,也就是要使用數(shù)據(jù)庫卷,則必須先裝配數(shù)據(jù)庫卷,并且在關閉數(shù)據(jù)庫后,還應卸載數(shù)據(jù)庫卷。另外,此數(shù)據(jù)庫系統(tǒng)不同于其他的數(shù)據(jù)庫,沒有用到sql語句。而是用其自帶的數(shù)據(jù)庫字段類型,和一些API函數(shù)來操作數(shù)據(jù)庫系統(tǒng)的[5]。

      存儲數(shù)據(jù)的按鈕和顯示存儲數(shù)據(jù)的按鈕是在菜單項下,用戶用鼠標點擊菜單的消息屬于WM_ COMMAND消息,可以捕獲該消息,根據(jù)菜單的ID不同,去調用不同的消息處理函數(shù)。程序結構代碼如圖(2)所示,顯示效果如圖(3)所示。

      圖2:定義結構的代碼段

      圖3:數(shù)據(jù)庫存儲數(shù)據(jù)的顯示效果

      4 Tiny6410定制WinCE系統(tǒng)

      完全空白的SD卡是不能直接啟動6410開發(fā)板的,必須先在PC機上使用特殊的燒寫軟件把BIOS(也可以稱為bootloader)寫入SD卡才可以,并且寫入的這個BIOS是無法在電腦上直接看到的。三星公司已經(jīng)提供了這樣燒寫程序:IROM-SD_Fusing _tool.exe,可以找到它的源代碼,目前大部分6410開發(fā)板均使用這個軟件,但這個燒寫軟件有很多的局限性和不安全性。

      本系統(tǒng)是在Tiny6410開發(fā)板上定制WinCE系統(tǒng)。將開發(fā)板上自帶的光盤中的images文件夾復制到SD卡文件中,雙擊打開“imagesFriendlyARM.ini”文件,找到”O(jiān)S=Linux”,并改為”O(jiān)S=CE6”保存修改,取出SD卡插到開發(fā)板上;把開發(fā)板上S2開關設置為“SDBOOT”,并插入SD卡;上電開機這時可以聽到開發(fā)板上蜂鳴器”滴“的一聲,同時板上的LED4開始點亮并閃爍;靜聽秒表跳動的聲音,可以注意到LED3,2,1逐個開始閃爍亮起,直到聽到蜂鳴器”滴滴“兩聲,所有的LED滿格亮起,隨后不停的跳馬啟動,就說明系統(tǒng)已經(jīng)燒寫完畢;把開發(fā)板S2開關設置為”NAND”啟動,這時重啟系統(tǒng)就可以看到WindowsCE已經(jīng)安裝好了,在WindowsCE上正常運行時的顯示效果如圖(4)所示,可以清晰的讀取到溫室大棚當前的溫度值、濕度值、土壤的溫度值及土壤的濕度值;通過曲線可以看出當前數(shù)據(jù)的走向,同時從數(shù)據(jù)庫中可以調取到一段時間以內(nèi)的所有溫度濕度數(shù)據(jù),可以對農(nóng)作物的種植、澆灌、培育起指導作用。

      圖4:嵌入式Wince下運行界面

      5 結束語

      本文重點研究了在WindowsCE下的串口實現(xiàn)過程,二維圖像繪制及WindowsCE下數(shù)據(jù)庫調用的連接及控件的實現(xiàn)過程,對WinCE下編程應用具有實際的指導意義。通過對溫室大棚溫濕度控制系統(tǒng)的設計,解決了大棚內(nèi)溫濕度采集控制及顯示問題,使用起來跟Windows操作系統(tǒng)類似很容易上手實現(xiàn),節(jié)省了很大的人力、物力和財力,使得本設計具有很高的實用性和可擴展性。

      [1]侯曉茜.基于嵌入式系統(tǒng)的溫室大棚參數(shù)采集與傳輸[D].沈陽工業(yè)大學碩士畢業(yè)論文,2013,02.

      [2]黃鳳娟.基于單片機的溫度測控系統(tǒng)在溫室大棚中的設計與實現(xiàn)[D].武漢工程大學畢業(yè)論文.2006.10.1.

      [3]李國政;張強;楊宏衛(wèi).ARM-Linux嵌入式系統(tǒng)在農(nóng)業(yè)大棚中的應用[J].現(xiàn)代電子技術,2008,3.

      [4]張莉蓮.基于S3C2440的溫室大棚多點溫度檢測系統(tǒng)的研究[J].安徽農(nóng)業(yè)科學,2010,7.

      [5]Jeff Prosise.MFC Windows程序設計[M].北京:清華大學出版社,2007,3.

      The Greenhouse Control System Based on Embedded WinCE

      CHEN Jing
      (College of Information Science and Technology,Baotou Teachers College;Baotou 014030)

      This paper mainly introduced the implication of embedded system on greenhouse,proposed the design idea of greenhouse control system based on Embedded system.The perceptual layer using SHT11 to gather temperature and humidity information,the transport layer using Zigbee for data transmission and wireless sensor network,and at last the paper displayed and summarized the data on the board of embedded system 6410.The paper focused on the data acquisition based on Embedded system WinCE software,serial communication and the design of control system.

      Embedded system;WinCE;Zigbee-CC2530;Serial communication

      TP274

      A

      1004-1869(2014)01-0044-04

      2013-12-20

      包頭師范學院青年基金資助項目(BSYKJ2011-24)

      陳靜(1981-),女,漢族,碩士研究生,講師,研究方向:現(xiàn)代信號處理、嵌入式系統(tǒng)及短距離無線通信技術在物聯(lián)網(wǎng)中的應用研究。

      猜你喜歡
      開發(fā)板調用溫濕度
      溫濕度控制器在回收砂冷卻系統(tǒng)中的應用
      核電項目物項調用管理的應用研究
      基于DSP的多路溫濕度監(jiān)測系統(tǒng)
      LabWindows/CVI下基于ActiveX技術的Excel調用
      測控技術(2018年5期)2018-12-09 09:04:46
      基于溫濕度控制的天氣預測裝置
      電子制作(2018年11期)2018-08-04 03:26:02
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機開發(fā)板的設計與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      蒸發(fā)冷卻溫濕度獨立控制空調系統(tǒng)的應用
      基于系統(tǒng)調用的惡意軟件檢測技術研究
      Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
      丘北县| 浦县| 武安市| 深州市| 满城县| 砚山县| 皮山县| 汾阳市| 民权县| 修文县| 康保县| 成安县| 东丽区| 临朐县| 谢通门县| 平山县| 饶阳县| 班玛县| 西乡县| 榆中县| 黄龙县| 山阳县| 华亭县| 仁怀市| 琼结县| 晋宁县| 丹巴县| 宜宾县| 珠海市| 崇阳县| 公安县| 介休市| 侯马市| 囊谦县| 会同县| 镇平县| 高邮市| 秀山| 札达县| 阳信县| 五台县|