freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于zigbee農(nóng)業(yè)灌溉系統(tǒng)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-08-10 21:06 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 實(shí)現(xiàn)軟件與后臺(tái)數(shù)據(jù)的連通[11],利用連接字符串:SqlConnection(server=(local)。database=Design。Integrated Security=true)。這里的sever指的是服務(wù)器名稱,在安裝數(shù)據(jù)庫時(shí)會(huì)有設(shè)計(jì),實(shí)驗(yàn)所用筆記本電腦的服務(wù)器名稱為(local);database指數(shù)據(jù)庫名,為在數(shù)據(jù)庫軟件SQL2008中所創(chuàng)建;最后一句是安全認(rèn)證方式。當(dāng)用戶打開該應(yīng)用程序時(shí)會(huì)彈出一個(gè)登錄對(duì)話框,在該系統(tǒng)中已經(jīng)預(yù)設(shè)了一個(gè)用戶admin輸入對(duì)用密碼電機(jī)登錄即可進(jìn)入管理主界面。在點(diǎn)擊登錄的時(shí)候有一個(gè)用戶名和密碼與數(shù)據(jù)庫中所存儲(chǔ)的數(shù)據(jù)匹配的一個(gè)過程,它的實(shí)現(xiàn)方式是定義數(shù)據(jù)庫命令在數(shù)據(jù)庫表中選擇一個(gè)用戶名為所輸入的用戶名密碼為輸入的密碼,然后進(jìn)行匹配。int i = (())。 //定義一個(gè)i為轉(zhuǎn)換的檢測(cè)值if (i 0) //對(duì)檢測(cè)結(jié)果進(jìn)行判斷{cmd = new SqlCommand(select * from GH_User where UserName=39。 + + 39。, conn)。 //進(jìn)行賦值操作SqlDataReader sdr = ()。 //檢測(cè)的與讀取值匹配()。()。 //關(guān)閉數(shù)據(jù)庫連接frmMain main = new frmMain()。} //打開主界面對(duì)話框圖41 后臺(tái)應(yīng)用程序登錄界面運(yùn)行程序輸入信息單擊取消單擊登錄N退出程序登錄錯(cuò)誤?N確認(rèn)?YY退出程序主程序圖42 登錄驗(yàn)證流程圖上面的登錄流程圖可以一目了然的表示整個(gè)過程:這種認(rèn)證的方式就像是我們要進(jìn)入一個(gè)旅游觀光景點(diǎn)類似,是一種查證或者是驗(yàn)證的操作,之后進(jìn)入主界面。這樣的認(rèn)證方式也是我們經(jīng)常用到的,當(dāng)然在網(wǎng)站后臺(tái)登錄中也是運(yùn)用了這種方法,給予一個(gè)用戶超級(jí)管理員權(quán)限進(jìn)入后臺(tái),可以添加或刪除用戶及產(chǎn)品,編輯產(chǎn)品的詳細(xì)信息同時(shí)對(duì)網(wǎng)站的相關(guān)文件上傳等[12]。主界面的菜單欄位于對(duì)話框的最上方,是以下拉菜單的方式呈現(xiàn)。在該操作界面中從左至右分別為綜合管理里面包括Daily和Sample選項(xiàng)實(shí)現(xiàn)復(fù)雜操作和日常的簡(jiǎn)單操作;系統(tǒng)設(shè)置選項(xiàng)主要是有鎖定和口令操作;用戶管理主要提供用戶密碼修改,用戶注冊(cè)以及刪除等操作;輔助功能主要提供一些簡(jiǎn)單的程序調(diào)用,有記事本,日歷和計(jì)算機(jī)均為系統(tǒng)程序的調(diào)用操作;另外兩個(gè)為單選按鈕,介紹版本以及退出;在下方是一些信息提示語言,分別為登錄名稱權(quán)限和時(shí)間。圖43 后臺(tái)程序主界面主界面是連接各個(gè)子程序的重要接入點(diǎn),在程序編寫過程中主要是運(yùn)用子程序界面疊加彈出方式即打開子程序的同時(shí)并不關(guān)閉主界面程序的方法。在該界面的上面設(shè)有特定的退出登錄,下方顯示的是登錄進(jìn)入系統(tǒng)的用戶相關(guān)信息,并且在旁邊顯示出登錄時(shí)間,這是通過調(diào)用系統(tǒng)函數(shù)的形式加入一個(gè)控件實(shí)現(xiàn)的。綜合管理的的實(shí)現(xiàn)是一個(gè)重點(diǎn)內(nèi)容,主要涉及以下幾個(gè)方面:一是串口的實(shí)現(xiàn),它是進(jìn)行通信的基礎(chǔ);二是開設(shè)一個(gè)遠(yuǎn)程訪問端口,一個(gè)按鍵管理整個(gè)系統(tǒng)的遠(yuǎn)程技術(shù)這是利用一種循環(huán)掃描算法實(shí)現(xiàn)的操作;三是一些簡(jiǎn)單的按鍵操作主要實(shí)現(xiàn)對(duì)溫室模型各終端硬件的手動(dòng)控制。圖44 日常綜合管理界面 串口通信方式我們?nèi)粘Kf的串口通信方式是一種按位進(jìn)行通信的方法,該方式與人們熟知的并口在比較中差異是速度相對(duì)較慢,但是它比較簡(jiǎn)單。常見的串口通信方式分為RS232,RS422和RS485三種,在本系統(tǒng)中采用的是RS232方式,只需要三根線(TX,RX,地線)對(duì)應(yīng)連接即可在串口程序的編寫過程中。主要是設(shè)定COM口的編號(hào),通信過程中所使用的波特率另外就是校驗(yàn)的加入。串口數(shù)據(jù)幀通常情況下由五個(gè)數(shù)據(jù)模塊組成,為了詳細(xì)的說明數(shù)據(jù)格式的通信方式,特別用表進(jìn)行了說明表41 數(shù)據(jù)幀格式數(shù)據(jù)塊12345定義幀 頭類型長(zhǎng)度數(shù)據(jù)校驗(yàn)數(shù)據(jù)長(zhǎng)度211N2說明十六進(jìn)制0x96,0x690:主動(dòng)發(fā)送1:回復(fù)響應(yīng)數(shù)據(jù)塊4和5的數(shù)據(jù)長(zhǎng)度 要發(fā)送的數(shù)據(jù)塊 CRC校驗(yàn)在選用的RS232通信方式中,數(shù)據(jù)連接的雙方設(shè)定同樣的波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位。波特率是是通信速度的一種表示參數(shù)。它以秒為單位確定一秒鐘時(shí)間內(nèi)傳輸?shù)腷it的個(gè)數(shù)。一般比特率設(shè)定的值會(huì)比較大,可以加快數(shù)據(jù)傳輸速度,但是波特率和距離成反比,所以在選取時(shí)要結(jié)合自身需要。數(shù)據(jù)位和停止位是指的數(shù)據(jù)包的形式發(fā)送的具體內(nèi)容,數(shù)據(jù)位一般不足八位通常會(huì)有5位7位或是8為例如在標(biāo)準(zhǔn)ASCII碼的數(shù)據(jù)位設(shè)計(jì)時(shí)選擇7位,這個(gè)主要看情況需要進(jìn)行具體的選擇處理。停止位標(biāo)準(zhǔn)指示的是數(shù)據(jù)停止,其位置在包的最后一位。通信過程中的奇偶校驗(yàn)是相對(duì)簡(jiǎn)單的一中數(shù)據(jù)檢驗(yàn)錯(cuò)誤的方法,主要是檢測(cè)傳輸和接受的數(shù)據(jù)是否同步,可以預(yù)測(cè)是否受到了噪聲干擾等情況。在現(xiàn)行的標(biāo)準(zhǔn)中有四種檢驗(yàn)方式:偶、奇、高和低。一般的小型通信系統(tǒng)沒有校驗(yàn)位也是可以的,一些小的問題可以忽略。在該控制界面設(shè)置了一個(gè)Button按鍵,作為一個(gè)復(fù)用開關(guān),在外觀表示上表現(xiàn)為開啟和關(guān)閉狀態(tài)的切換。對(duì)于循環(huán)掃描數(shù)據(jù)庫內(nèi)表格數(shù)據(jù)的算法設(shè)計(jì)是一個(gè)重點(diǎn)也是一個(gè)難點(diǎn),因?yàn)椴徽撏ㄟ^數(shù)據(jù)庫直接修改還是通過網(wǎng)頁綁定的Gridview控件進(jìn)行修改,操作所改變的只是數(shù)據(jù)庫表格內(nèi)的一項(xiàng)數(shù)據(jù)內(nèi)容并沒有發(fā)送指令[13]。所以就一般意義上而言,它并沒有起到實(shí)質(zhì)性的作用。而掃描算法是一種連接方式,將數(shù)據(jù)的修改轉(zhuǎn)化為一條條字符指令通過串口通信方式傳送到Zigbee協(xié)調(diào)器,直至作用到終端設(shè)備。后臺(tái)服務(wù)程序的關(guān)鍵之處是開啟一個(gè)可以進(jìn)行遠(yuǎn)程訪問的服務(wù)。其次是實(shí)現(xiàn)單機(jī)控制,在軟件界面中設(shè)置一些開關(guān)按鈕,分別對(duì)應(yīng)終端設(shè)備的不同狀態(tài)。其實(shí)現(xiàn)的流程圖如下圖所示:開啟與數(shù)據(jù)庫進(jìn)行連接循環(huán)檢測(cè)數(shù)據(jù)庫Zigbee協(xié)調(diào)器數(shù)據(jù)庫內(nèi)容改動(dòng)Zigbee終端節(jié)點(diǎn) 圖45 遠(yuǎn)程訪問方式的實(shí)現(xiàn)流程對(duì)于狀態(tài)切換指令的實(shí)現(xiàn),可以參見以下代碼,這里會(huì)涉及到一個(gè)Timer(定時(shí)器)控件,在其屬性中設(shè)定一個(gè)動(dòng)作周期,每經(jīng)過一個(gè)周期的時(shí)間都會(huì)把定時(shí)器中的代碼執(zhí)行一次。首先是切換狀態(tài)顯示方法的實(shí)現(xiàn):private void button15_Click_1(object sender, EventArgs e) //Button按鍵{if ( == 服務(wù)器端口已開啟) //檢測(cè)按鍵的初始狀態(tài){ = 服務(wù)器端口已關(guān)閉。 //之前開啟則轉(zhuǎn)化為關(guān)閉 = 手動(dòng)模式開啟遠(yuǎn)程訪問關(guān)閉。//下方狀態(tài)欄顯示 = false。 //定時(shí)器控件關(guān)閉} else{ = 服務(wù)器口已開啟。 //如果之前已是關(guān)閉狀態(tài),轉(zhuǎn)為開啟 = 自動(dòng)模式開啟遠(yuǎn)程訪問開啟。 = true。 //讓定時(shí)器使能開始進(jìn)行掃描工作()。}}在定時(shí)器開始工作之后,就需要進(jìn)行一系列的動(dòng)作,在數(shù)據(jù)庫連接狀態(tài)完好的情況下,可以用以下代碼實(shí)現(xiàn)掃描數(shù)據(jù)庫內(nèi)數(shù)據(jù)發(fā)送操作指令的設(shè)計(jì)[14]。由于這里的代碼控制的終端設(shè)備相對(duì)較多,但是都是以類似的方法實(shí)現(xiàn),所以僅以灌溉控制和溫度調(diào)節(jié)對(duì)算法的實(shí)現(xiàn)進(jìn)行說明:string 灌溉控制,溫度調(diào)節(jié)1。 //定義字符串,數(shù)據(jù)庫表中列名稱為依據(jù)private void timer3_Tick(object sender, EventArgs e) //定時(shí)器操作{if (()){灌溉控制=sdr[灌溉控制].ToString().Trim()。 溫度調(diào)節(jié)1= sdr[溫度調(diào)節(jié)1].ToString().Trim()。} //進(jìn)行數(shù)據(jù)匹配()。()。 //關(guān)閉數(shù)據(jù)讀取和連接功能byte[]zd = new byte[1]。if ( == true) //檢測(cè)串口是否開啟{ if (灌溉控制==on) //檢測(cè)讀取的數(shù)據(jù){zd[0] = (byte)39。A39。 //定義一個(gè)數(shù)組(zd, 0, 1)。 //串口寫出數(shù)據(jù)}else if (灌溉控制==off) //如檢測(cè)到另外一種狀態(tài){zd[0] = (byte)39。B39。(zd,0,1)。 //串口對(duì)用寫出另外的命令}(300)。 //程序暫停給串口傳送時(shí)間if (溫度調(diào)節(jié)1== on) //讀取另外一列的數(shù)據(jù)值{zd[0] = (byte)39。C39。(zd,0,1)。}else if (溫度調(diào)節(jié)1 ==off){ zd[0] = (byte)39。D39。(zd, 0, 1)。 //分別對(duì)應(yīng)不同的讀取值發(fā)送不同指令}在服務(wù)器電腦上可以通過后天軟件進(jìn)行系統(tǒng)的手動(dòng)控制,主要實(shí)現(xiàn)方式是在串口通信方式下通過按鍵進(jìn)行指令發(fā)送。在控制界面中對(duì)于所需要控制的終端設(shè)備分別有不同的劃分,左邊是操作設(shè)備終端的名稱,之后對(duì)應(yīng)著“ON”“OFF”選項(xiàng),與之對(duì)應(yīng)的是設(shè)備的開關(guān)狀態(tài)。手動(dòng)模式的開啟需要以服務(wù)器、串口以及按鍵操作為基礎(chǔ),通過按鍵串口發(fā)送指令到下位機(jī)即Zigbee的協(xié)調(diào)器節(jié)點(diǎn),并且會(huì)顯示動(dòng)作。下面以一個(gè)終端的操作代碼實(shí)現(xiàn)為例講解手動(dòng)模式的實(shí)現(xiàn)過程。界面按鍵顯示狀態(tài)傳送命令手動(dòng)模式串口工作服務(wù)器圖46 手動(dòng)模式控制及工作流程private void button11_Click(object sender, EventArgs e) //圖示的一個(gè)ON按鍵{byte[] data = new byte[1]。 //定義一個(gè)數(shù)組替代之后的字符if ( == true) //檢測(cè)串口類是否開啟{data[0] = (byte)39。A39。 //把命令字符賦值給數(shù)組(data, 0, 1)。 //串口類寫出數(shù)據(jù)命令}}private void button7_Click(object sender, EventArgs e) //對(duì)應(yīng)的另一個(gè)排列按鍵{byte[] data = new byte[1]。 if ( == true){data[0] = (byte)39。B39。(data, 0, 1)。 //利用類似的方式寫出不同的命令字符}}在該系統(tǒng)中除了實(shí)現(xiàn)主題操作必備的一些功能外,一方面通過管理用戶信息和系統(tǒng)管理增加一部分管理功能,另外一方面通過附加一些計(jì)算機(jī)操作系統(tǒng)自帶功能豐富軟件界面從而達(dá)到美觀并且實(shí)用的效果。主要有用戶注冊(cè),密碼修改,日歷和記事本等功能。下面是一些截圖:對(duì)于上面的兩個(gè)界面都是需要設(shè)計(jì)的,因?yàn)樯婕暗綌?shù)據(jù)記錄內(nèi)容的修改。就是一種數(shù)圖47 用戶管理及注冊(cè)界面據(jù)的覆蓋方式。而注冊(cè)則是在數(shù)據(jù)庫表格內(nèi)增加一條另外的記錄,之后登錄查詢數(shù)據(jù)時(shí)便可以輕松的實(shí)現(xiàn)。數(shù)據(jù)庫一般的簡(jiǎn)單作用也就是我們所說的“增刪改查”,對(duì)于信息的管理它提供了大量方便的圖形化操作界面,大大加強(qiáng)了軟件的易用性。對(duì)另一部分的子程序,則是根據(jù)計(jì)算機(jī)系統(tǒng)調(diào)用方法,直接運(yùn)行其DLL系統(tǒng)文件。圖48 附加日歷界面數(shù)據(jù)庫是系統(tǒng)的一個(gè)后臺(tái)工具,它可以大量的存儲(chǔ)數(shù)據(jù),可以實(shí)現(xiàn)數(shù)據(jù)的更新,也可以與網(wǎng)站和后天程序進(jìn)行連接。本系統(tǒng)是采用SQL2008軟件構(gòu)建數(shù)據(jù)框架,數(shù)據(jù)庫的操作流程主要分為以下幾個(gè)方面:一是創(chuàng)建及表格設(shè)計(jì),構(gòu)建一個(gè)單獨(dú)的數(shù)據(jù)庫與其他項(xiàng)目所存儲(chǔ)的內(nèi)容進(jìn)行區(qū)分,表格設(shè)計(jì)中需要主要表的列名稱設(shè)計(jì);二是創(chuàng)建與網(wǎng)站和后臺(tái)程序的連接方法;三是完成數(shù)據(jù)存儲(chǔ)與更新操作[15]。在微軟公司開發(fā)的數(shù)據(jù)庫SQL2008打開時(shí)需要有一個(gè)用戶服務(wù)器認(rèn)證的步驟,主要完成數(shù)據(jù)庫服務(wù)器選擇以及用戶登錄身份確認(rèn)。圖49 數(shù)據(jù)庫登錄認(rèn)證界面進(jìn)入之后首先是創(chuàng)建一個(gè)項(xiàng)目數(shù)據(jù)庫,之后新建表格,設(shè)計(jì)所需內(nèi)容的列名稱。尤其要注意的是列名稱的設(shè)計(jì),一般會(huì)有一個(gè)主鍵設(shè)置,接下來分別是根據(jù)下拉選項(xiàng)選擇數(shù)據(jù)類型,以及數(shù)據(jù)是否可以為空。下圖左所示為對(duì)象資源管理器,在藍(lán)底區(qū)域點(diǎn)擊右鍵即可創(chuàng)建數(shù)據(jù)庫。后新建一個(gè)表格,這里需要注意到右側(cè)圖示,一般的數(shù)據(jù)庫直接在庫內(nèi)的軟件修改分為設(shè)計(jì)和編輯兩種方式,所謂設(shè)計(jì)是對(duì)表格框架的整體設(shè)計(jì)修改,而對(duì)于編輯方式進(jìn)行的修改是指對(duì)確定的某行某列進(jìn)行修改。圖410 數(shù)據(jù)庫及表格設(shè)計(jì) GridView和SqlDataSource控件連接數(shù)據(jù)該控件使用方法簡(jiǎn)單,一般都是采用圖形化操作,選擇屬性或者進(jìn)行屬性更改。選擇綁定位置及控件屬性設(shè)置后
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1